[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 322

 

Как сделать цикл по ЗАКРЫТЫМ ордерам?

Требуется в общем посчитать сколько ордеров закрыто по Тейк Профиту.

Вот так не получается:

 //+--Цикл, в котором определяется сколько ордеров закрыто по тейк-профиту--
              ValueToStopTrade=0;                                 // Предварительно обнуляем переменную
              total=OrdersTotal();
              for(cnum=0;cnum<total;cnum++)                        //Для всех ордеров
              {
                  OrderSelect(cnum, SELECT_BY_POS, MODE_HISTORY); //Выбираем ордер
                  if (OrderProfit()>0)                            //Если профит больше 0
                  {
                     ValueToStopTrade=ValueToStopTrade+1;         //Увеличиваем счетчик на 1
                  } 
              }                                                   //Конец цикла for

upd. В документации написано, что OrdersTotal() показывает открытые и отложенные.... Поэтому и не пашет.

Как быть? Вместо ТОтал тупо поставить какое нибудь число? )

 
libeadier:

Как сделать цикл по ЗАКРЫТЫМ ордерам?

Требуется в общем посчитать сколько ордеров закрыто по Тейк Профиту.

Вот так не получается:

upd. В документации написано, что OrdersTotal() показывает открытые и отложенные.... Поэтому и не пашет.

Как быть? Вместо ТОтал тупо поставить какое нибудь число? )

Вот так должно работать:

 double ProfitableOrders()
 {
   double orders=0; 
   for(int i=0; i<OrdersHistoryTotal(); i++){
     if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
     if(OrderMagicNumber()!=Magic)continue;
     if(OrderType()>1)continue;
     if(OrderProfit()>0)orders++;
   }      
  return(orders);
 } 
 

Жесть, а в документации я не увидел.....

Спасибо!

charter:

Вот так должно работать:

 
charter:

Очень часто, работая на одном ТФ, используют конструкцию:

Вопрос:

Не является ли такой код на входе препятствием для правильной оптимизации параметров, в том числе, СЛ и ТП?

Мне представляется, что советник, работающий, скажем, на Н1 и оптимизируемый/тестируемый в режиме "По ценам открытия" на Н1, не правильно реагирует на выставленные СЛ и ТП,

Поскольку советник видит график только 1 раз в час, то он не в состоянии правильно исполнить Стоп-приказы, т.е. в моменты их пересечения.

............................

В качестве примера https://www.mql5.com/ru/code/9386, где оптимизируется всего один параметр (СЛ).

Там же, в PS, автор пишет:

В советнике используется модель по ценам открытия баров. Гонять в режиме оптимизации по другим моделям нет никакого смысла - пустая трата времени и ресурсов компьютера. Можно только проверить на вшивость результаты оптимизации по модели эмуляции всех тиков.

Решетов исключительный Оригинал...

Поищите для примера что-нибудь другое.

 

Может кто-нибудь знает - есть ли МТ4 Индикатор или Советник, который рисует "Range Bars"?

Есть такой - RangeBars_fromM1_time.


Как сделать чтобы эксперт мог торговать на рендж-барном графике?

 
Diubakin:

Как сделать чтобы эксперт мог торговать на рендж-барном графике?


плохому эксперту и график мешает.
 
Ну а всё-таки, можно сделать чтоб эксперт торговал на рендж-барном графике, построенном с помощью RangeBars_fromM1_time???...
 
Diubakin:
Ну а всё-таки, можно сделать чтоб эксперт торговал на рендж-барном графике, построенном с помощью RangeBars_fromM1_time???...
Можно.
 
Ну и... КАК ЭТО СДЕЛАТь? если не секрет...
 
Здравствуйте. Пытаюсь добавить уровень "112" фибоначчи в код. Один уровень добавил "верх", получилось. Но, чтобы в нижней части он был не получается. Посмотрите, пожалуйста, что можно сделать. Спасибо. Жду ответ
Файлы:
1.mq4  6 kb