Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2481

 
Vitaly Murlenko #:

Обнаружил, что у меня нет ясности по использованию модификатора амперсенд (&). Открываем справку:

Открываем другую страницу справочника:

Так всё же, как правильно писать модификатор &?

Абсолютно не важно… Как вам больше нравится, так и пишите. Это абсолютно серьёзно, без поддёвки…

 
как сделать так, чтобы советник открывал не более 1 сделки в неделю, если работа идет через отложенные ордера. Например, сработал ордер, закрылся и больше эта программа не работает, пока не начнется след неделя
 
Ramil Mukhamadeev #:
как сделать так, чтобы советник открывал не более 1 сделки в неделю, если работа идет через отложенные ордера. Например, сработал ордер, закрылся и больше эта программа не работает, пока не начнется след неделя

Открылась позиция — закрыли шлагбаум.

Началась новая неделя — открыли шлагбаум.

 
Alexey Viktorov #:

Открылась позиция — закрыли шлагбаум.

Началась новая неделя — открыли шлагбаум.

В общем-то это понятно, но как объяснить компьютеру, что началась новая неделя и какой то из нескольких отложенных ордеров открылся? 
 
Ramil Mukhamadeev #:
В общем-то это понятно, но как объяснить компьютеру, что началась новая неделя и какой то из нескольких отложенных ордеров открылся? 
Структура даты

MqlDateTime

 
Ramil Mukhamadeev #:
В общем-то это понятно, но как объяснить компьютеру, что началась новая неделя и какой то из нескольких отложенных ордеров открылся? 

На последней недельной свече - новое время.

Сработавший ордер будет в истории, остальные - в действующих (это подразумевает сохранение у себя тикетов всех выставленных ордеров).

 

Здаствуйте, автоматически открываются сделки в мт5 не могу найти какой робот или программа их открывает, подскажите где можно посмотреть активных роботов в МТ5

 
Alexey Viktorov #:

Здесь.

Не подскажите почему остановилось тестирование посл 550 циклов.

Больще агенты на пк не запускаются.

Ваш   терминал и еще один - агенты на тестере запускаются.

 
          if ()
           {
         request.action = TRADE_ACTION_DEAL;                    
         request.type = ORDER_TYPE_SELL;                             
         request.volume = lot;                                 
         request.type_filling = ORDER_FILLING_FOK;                  
         request.price = SymbolInfoDouble(_Symbol,SYMBOL_BID);     
         request.sl = NormalizeDouble(Bid+SL*_Point,_Digits);                                           
         request.tp = NormalizeDouble(Bid-TP*_Point,_Digits);                                          
         Print("Open Sell Order");                                              
         if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError());       
         PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
           }
          if ()
           {
         request.action = TRADE_ACTION_DEAL;                    
         request.type = ORDER_TYPE_BUY;                            
         request.volume = lot;                                      
         request.type_filling = ORDER_FILLING_FOK;                
         request.price = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);     
         request.sl = NormalizeDouble(Ask-SL*_Point,_Digits);                                           
         request.tp = NormalizeDouble(Ask+TP*_Point,_Digits);                                          
         Print("Open Buy Order");
         if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError());     
         PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
           }


С чем может быть связана ошибка?
Не понимаю почему округляется цена до целых(это золото)
Не понимаю почему выдает ошибку хотя все верно, стоп выше цены входа, тейк ниже цены входа

 
Ramil Mukhamadeev #:


С чем может быть связана ошибка?
Не понимаю почему округляется цена до целых(это золото)
Не понимаю почему выдает ошибку хотя все верно, стоп выше цены входа, тейк ниже цены входа


          if ()
           {
           Print("Open Sell Order");
           trader.Sell(lot,_Symbol,Bid,Bid+SL*_Point,Bid-TP*_Point) ;                                                                              
           }
          if ()
           {                                        
           Print("Open Buy Order");
           trader.Buy(lot,_Symbol,Ask,Ask-SL*_Point,Ask+TP*_Point);
           }

не знаю с чем может быть связано, но я сделал чере стрейд и заработало