0
задание скиньте в топик
avatar

AM2

  • 27 апреля 2019, 11:51
0
сейчас есть закрытие по сигналу и смена направления сигнала: www.opentraders.ru/downloads/2296/



avatar

AM2

  • 27 апреля 2019, 09:37
0
Подскажите, пожалуйста, правильно я поняла, что при реверс=1 при наступлении противоположного сигнала сделка закрывается и открывается новая?


у меня прописано если реверс = 1, то вместо бая селл. никакого другого варианта в тз или скрина с пояснениями не было. сделал так как понял.
avatar

AM2

  • 26 апреля 2019, 22:50
0
антонина я прошу вас дать совсем другой скрин, на котором вы поясните неверную работу эксперта после тестирования.
avatar

AM2

  • 26 апреля 2019, 20:04
0
скрин графика дайте
avatar

AM2

  • 26 апреля 2019, 19:24
0
Протестировала советник на графике и увидела, что он работает не по тому алгоритму, который я описывала

покажите что не так на скринах работы советника
avatar

AM2

  • 26 апреля 2019, 17:21
0
с чужим кодом не работаю
avatar

AM2

  • 25 апреля 2019, 17:21
0
я сделал набросок. он правильно считает число поз, общий лот, но неверно посчитал среднюю цену поз. берет самую первую позу. может я что неправильно делаю. обратитесь к платному.




//+------------------------------------------------------------------+
//|                                                         Plus.mq5 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Plus()
  {
   double all=0,pr=0,lots=0;

   for(int i=0;i<PositionsTotal();i++)
     {
      if(PositionSelect(_Symbol))
        {
         pr=PositionGetDouble(POSITION_PRICE_OPEN);
         lots=PositionGetDouble(POSITION_VOLUME);
         all+=pr*lots;
        }
     }
   if(PositionsTotal()>0) all=all/PositionsTotal()/lots;
   return(all);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lots()
  {
   double lots=0;

   for(int i=0;i<PositionsTotal();i++)
     {
      if(PositionSelect(_Symbol))
        {
         lots+=PositionGetDouble(POSITION_VOLUME);
        }
     }
   return(lots);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   Comment("\n Price: ",Plus(),
           "\n Count: ",PositionsTotal(),
           "\n Lots: ",Lots());
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 24 апреля 2019, 20:45
0
переделка много времени займет. нужно будет написать и отладить кучу уникальных функций. только на следующий месяц и то не за раз.
avatar

AM2

  • 24 апреля 2019, 18:02
0
посмотрю сегодня
avatar

AM2

  • 24 апреля 2019, 17:38
0
ищите поручителя
avatar

AM2

  • 24 апреля 2019, 17:38
0
индикатор котел

ладно не козел, а то бы совсем туго пришлось! :D 
avatar

AM2

  • 23 апреля 2019, 21:16
0
Но не компилируется.
Выдает 21 ошибку

нормально компилируется:



делал в виде советника, вот файл: www.opentraders.ru/downloads/2291/

avatar

AM2

  • 23 апреля 2019, 21:04
0
что за котел? нужно подробнее и как мы все это будем объяснять машине?
avatar

AM2

  • 22 апреля 2019, 21:14
0
готово:




//+------------------------------------------------------------------+
//|                                                        Otkat.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Время открытия позиции                                           |
//+------------------------------------------------------------------+
datetime TimeOrderOpen()
  {
   datetime t=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()<2) t=OrderOpenTime();
           }
        }
     }
   return(t);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OrderTip()
  {
   int type=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol()) if(OrderType()<2) type=OrderType();
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double OrderOpenPr()
  {
   double pr=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol()) if(OrderType()<2) pr=OrderOpenPrice();
        }
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(OrdersTotal()<1 && IsTesting()) int r=OrderSend(NULL,0,0.1,Ask,33,Bid-333*_Point,Bid+444*_Point,"",0,0,Green);

   int bar=iBarShift(NULL,0,TimeOrderOpen());

   double max=High[iHighest(NULL,0,MODE_HIGH,bar,0)];
   double min=Low[iLowest(NULL,0,MODE_LOW,bar,0)];
   double pro=0,sto=0,otk=0;

   if(OrderTip()==0) 
     {
      sto=max-OrderOpenPr();
      otk=max-Bid;
      pro=(otk/sto)*100;
     }
   
   if(OrderTip()==1) 
     {
      sto=OrderOpenPr()-min;
      otk=Bid-min;
      pro=(otk/sto)*100;
     }
     
   Comment("\n Bar: ",bar,
           "\n Max: ",max,
           "\n Min: ",min,
           "\n Pro: ",NormalizeDouble(pro,2));
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 22 апреля 2019, 20:49