Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 837

 

MQL4 

Задумка проста:

Выставляем BuyLimit или SellLimit и предполагаемый TakeProfit.

Задача эксперта выставлять всем ордерам StopLoss таким образом, чтоб предполагаемый убыток был в 10 раз меньше предполагаемого прибытка.

Все работает, эксперт постоянно мониторит ордера и, в случае появления нового ордера, или если я изменял в каком-то ордере цену открытия/тейкпрофит, он сразу подгоняет стоплосс под заданные параметры.

 

Странности начались, когда я решил, что эксперт не должен корректировать стоплоссы тех ордеров, в которых эти стоплоссы выставлены в положение "безубыток".

Я добавил перед модификацией ордера простое условие (ниже в коде оно закомментировано) - эксперт перестал работать. Он вообще перестал модифицировать любые ордера.

Поэкспериментировав, я так и не понял, где моя ошибка, может кто подскажет?

 

Еще одна странность:

Если "else" заменить на прямое условие "if (OrderType()==OP_SELL)" - то эксперт также перестает работать.

Причину этого я тоже не смог найти.

 

int i=0;

void start()
{
   i=OrdersTotal();
   while (i>0)
   {
      i=i-1;
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if (MathAbs(OrderTakeProfit()-OrderOpenPrice())!=MathAbs(OrderOpenPrice()-OrderStopLoss())*10)
      {
         if (OrderType()==OP_BUY)
         {
            //if (OrderOpenPrice()>OrderStopLoss())
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-(OrderTakeProfit()-OrderOpenPrice())/10,OrderTakeProfit(),0);
         }
         else 
         //if (OrderType()==OP_SELL)
         {
            //if (OrderOpenPrice()<OrderStopLoss())
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+(OrderOpenPrice()-OrderTakeProfit())/10,OrderTakeProfit(),0);
         }
      }
   }
}  
 

парни как можно уменьшить дату на один день с этим же временем

например

2015,01,22, 01:00

 а нужно  следующий получить

2015,01,23  01:00 не могу сообразить как .Спасибо .

 
evillive:

Вот


Спасибо Вам и всего наилучшего! Получилось лучше чем себе представлял)
 
evillive:

Вот


Ракету строите?

Или хотя бы попробуете уточнить какой else к какому if относится.

Если конечно сами разберетесь в этом.

Фигурные скобки обычно в этом деле помогают 

 
Vinin:

Ракету строите?

Или хотя бы попробуете уточнить какой else к какому if относится.

Если конечно сами разберетесь в этом.

Фигурные скобки обычно в этом деле помогают 

Код не мой, все вопросы к автору ;)

Те скобки не работают, что с ними, что без них, так что оставил как было, вопрос-то был про получение котировки с другого ТФ, а что там  скобки не в место, на то жалоб не было.

 
Такой вопрос, у меня советник после каждого закрытия сделки делает скрин. Но, при этом торговля ведётся вручную. Как сделать так, чтобы при закрытии сделки, сама сделка высвечивалась на графике таким образом?
 

Доброго время суток!

Вопрос: где можно скачать/загрузить самую качественную, "потиковою" историю

за 3, а лучше за 5 лет (по основным инструментам)? 

 
woin2110:
Такой вопрос, у меня советник после каждого закрытия сделки делает скрин. Но, при этом торговля ведётся вручную. Как сделать так, чтобы при закрытии сделки, сама сделка высвечивалась на графике таким образом?
Вручную никак, терминал рисует эти значки только если торговать с помощью программы. Как вариант, можно потом историю ручной торговли на график скинуть, все сделки будут обозначены.
 
RoniIron:

Доброго время суток!

Вопрос: где можно скачать/загрузить самую качественную, "потиковою" историю

за 3, а лучше за 5 лет (по основным инструментам)? 

Tickstory Lite.
 

Не могу собрать конструкцию

ENUM_DAY_OF_WEEK day = (ENUM_DAY_OF_WEEK)SymbolInfoString(_Symbol,ENUM_DAY_OF_WEEK);

Постоянно ругается на

ENUM_DAY_OF_WEEK

В day я должен получить индефикатор

SUNDAY

Воскресенье

MONDAY

Понедельник

TUESDAY

Вторник

WEDNESDAY

Среда

THURSDAY

Четверг

FRIDAY

Пятница

SATURDAY

Суббота