Закрытие позиции с минусом по истечении 24 часов текущих суток в которые позиция была открыта.

 
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious && 
               MacdCurrent>(MACDCloseLevel*Point)
               {
               //--- close order and exit
               if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet))
                  Print("OrderClose error ",GetLastError());
               return;

              }

// void start()

    static int Pbars=0;

    if (Pbars ==Bars) return;

    Pbars = Bars;

    // текст программы))))   эта функция позволяет совершать только 1 сделку на одном дневном баре.

ВОПРОС можно ли используя подобную функцию закрывать позицию принудительно.

Тоесть  была открыта позиция. Настуает 00:01 минута следующего бара. И если профит с минусом, то по позиция принудительно закрывается.

                

 if (PBars<0)

                {

               //--- close order and exit

               if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet))

                  Print("OrderClose error ",GetLastError());

               return;

              }

 

  (OrderProfit()+OrderCommission()<-0.2) //убыток -0.2
 
&& TimeCurrent()-OrderOpenTime()>172800) // висит 2 суток 86400*2

я мя подобное как-то так. 


 
Q0406:

Спасибо за пример.

Вся идея советника заключается в следующем.

При движении цены на 3 волне есть 2-3 разворота 5 EMA к 20 EMA. Первый разворот как правило короткий. Второй более длинный (на часом таймфрейме), а третьего может и не быть. Это зависит от тренда на других более длинных таймфреймах. Ловим первый разворот запоминаем время, а лучше цену. Затем если изменился тренд 5ема пересекла 20ема сверху, то отмена. Если отмены не было и происходит второй разворот, то необходимо проверить разницу в текущей цены от предыдущего значения, которая должна составлять 50 пунктов(условно). То есть график заметно просел и после этого позиция открывается. Файл советником в приложении.

 

Файлы:
Причина обращения: