Напишу советник бесплатно - страница 17

 
Здравствуйте.Начал осваивать язык MQL4.Взял для начала советник MACD Sample. Разложил его по полочкам. Вроде бы во всем разобрался, но немогу заставить его работать на Демо на нескольких валютных парах одновременно. Если в терминале уже открыта позиция (вручную или советником), он работать не будет.Перепробовал уже все, что знаю. Но знаний не хватает.Подскажите пожалуста, Что нужно добавить или исправить. 
 
igor.malish:
Здравствуйте.Начал осваивать язык MQL4.Взял для начала советник MACD Sample. Разложил его по полочкам. Вроде бы во всем разобрался, но немогу заставить его работать на Демо на нескольких валютных парах одновременно. Если в терминале уже открыта позиция (вручную или советником), он работать не будет.Перепробовал уже все, что знаю. Но знаний не хватает.Подскажите пожалуста, Что нужно добавить или исправить. 

MACD Sample не рассчитан на торговлю по нескольким инструментам 

  

total=OrdersTotal();

   if(total<1)

     {...
В этом условии практически запрещаетсяоткрытие сделок, если хоть одна, по любому инструменту уже открыта.
 
dimeon:

MACD Sample не рассчитан на торговлю по нескольким инструментам 

  

В этом условии практически запрещается открытие сделок, если хоть одна, по любому инструменту уже открыта.
У меня была похожая задача, но на одну сделку в день. Т.е. условие не только OrdersTotal() но и еще из истории закрытых.
 
А можно как то связать между собой OrdersTotal, OrderSymbol и OrderMagicNumber?
 
igor.malish:
А можно как то связать между собой OrdersTotal, OrderSymbol и OrderMagicNumber?
Глупый вопрос.
 
Приветствую. А не возьмется кто нибудь адаптировать моего советника под новый mql ? (#property strict) А то он развивается и функционал развивается но язык на котором написан устарел. Дальше будет очень сложно переделать если захочу перейти на mql5.  Советник этот более позняя модификация ZigZaHod v1.1 Требуется минимум изменений чтоб я смог в нем ориентироваться и дорабатывать. Готов принять в этом самое активное участие. Мне не хватает понимания что нужно переделать.
 

Помогите исправить ошибку: по идеи советник должен работать один раз в день это когда начинается новый день. в час ночи. должен открыть два отложенных ордера по high и low

предыдущей свечи. то есть по свечи который закрылся в 00:00 часов. больше ничего не должен делать до начало следующего дня. что я не правильно делаю ?


extern string Times = "Time";
extern int StartHour    = 1;
extern int TakeProfit   = 50;
extern int StopLoss     = 50;
extern int Lots         = 1;

void OnTick()
{ 
   static bool IsFirstTick = true;
   static int ticket = 0;
   int h=TimeHour(TimeCurrent());
   Alert("TimeHor: ", h);
   if(Hour() == StartHour)
   {
    if (IsFirstTick == true)
      IsFirstTick - false;
      
      bool res;
      res= OrderSelect(ticket, SELECT_BY_TICKET);
      if(res == true)
      { 
         if(OrderCloseTime() == 0)
         {
            bool res2;
            res2 = OrderClose(ticket, Lots, OrderClosePrice(), 10);
            
            if(res2 == false)
            {
               Alert("Error Closing Order #", ticket);
               }
         }   
      }
       if(Open[0] < Open[StartHour])
      {
         ticket = OrderSend(Symbol(), OP_BUYLIMIT, Lots, High[1],10, Low[1]-StopLoss*Point, High[1]+TakeProfit*Point,"Set bu ForexRobot");
         if(ticket < 0)
         {
           Alert("Error Sending Order!");
         }  
       }
       else
       {
         ticket = OrderSend(Symbol(), OP_SELLLIMIT, Lots, Low[1],10, High[1]+StopLoss*Point, Low[1]+TakeProfit*Point,"Set bu ForexRobot");
         if(ticket < 0)
         {
           Alert("Error Sending Order!");
         } 
    }   
}
 
MIR_KAZAN:

Помогите исправить ошибку: по идеи советник должен работать один раз в день это когда начинается новый день. в час ночи. должен открыть два отложенных ордера по high и low

предыдущей свечи. то есть по свечи который закрылся в 00:00 часов. больше ничего не должен делать до начало следующего дня. что я не правильно делаю ?


При вставке кода, пользуйтесь, пожалуйста, встроенными возможностями форума: Правильно вставляем код на форуме
 
barabashkakvn:
При вставке кода, пользуйтесь, пожалуйста, встроенными возможностями форума: Правильно вставляем код на форуме
Понятно.
 
MIR_KAZAN:

Помогите исправить ошибку: по идеи советник должен работать один раз в день это когда начинается новый день. в час ночи. должен открыть два отложенных ордера по high и low

предыдущей свечи. то есть по свечи который закрылся в 00:00 часов. больше ничего не должен делать до начало следующего дня. что я не правильно делаю ?


Здесь описка:

      IsFirstTick - false;

 Должно быть =

Причина обращения: