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

 
artmedia70:

И это тоже туда же. Естественно - одно другому не противоречит. Он стоп-приказы для Бай от аска считает. Не нормализует их. Не проверяет на ограничение по дистанции СтопЛевел.

Короче - сборная солянка.



Понял, спасибо. С ценами действительно напутал, исправлю. Проверка на стоплевел производится перед выставлением отложенного ордера. Проверка стопов и лосов на эту же вшивость тоже есть.

В данном конкретном случае стоп левел по условиям брокера = 0, а стоп и профит устанавливаются существенно дальше. Что касается цены рыночного ордера, то, насколько я понимаю, он открывается по ближайшей рыночной цене и стоп левел в данном случае ни при чем. Так?

 
artmedia70:

Для Бай стоп и тейк считаются от цены Bid - это раз.

Второе - раз цены стоп-приказов рассчитываете, то их нужно нормализовать. То что ранее SL и TP нормализовали - ерунда. Далее вы уже в самом торговом приказе подставляете ненормализованное значение выражения.

Третье - все цены должны соответствовать требованиям и ограничениям при проведении торговых операций. Уровень СтопЛевел, например может оказаться больше размера стоп-приказа.



Я правильно понял, что нормализовать значения нужно внутри торгового приказа?
 
Подскажите как, элегантно, найти ВРЕМЯ Лоу вчерашнего дня. А то у меня какие-то громоздкие конструкции выходят.
 
001:
Подскажите как, элегантно, найти ВРЕМЯ Лоу вчерашнего дня. А то у меня какие-то громоздкие конструкции выходят.

Найдите индикатор прайс-ченел (канал дончиана ), поставьте глубину 1период на дневках... должно быть то
 
YOUNGA:

Найдите индикатор прайс-ченел (канал дончиана ), поставьте глубину 1период на дневках... должно быть то
Спасибо, попробую. Может еще есть варианты  у кого, пока ищу?
 

Добрый день, помогите пожалуйста с кодом.

В данной реализации происходит отдельное усреднение рыночных ордеров buy и sell.  Как можно реализовать чтобы последний открытый ордер не подпадал под общую модификацию в своей серии?

extern int t=10;

///////////////////////////////////////////////////////
      int kolOK=0;
//   int i=0;
   int kol1=0;
   int kol2=0;
   double lots1=0;
   double lots2=0;
   double sum0=0;
   double sum=0;
  // double sum1=0;
   /////////////////////////////////////////////////////////////////////
   int Total = OrdersTotal();
   for(int i=Total-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderType()==OP_BUY)
      {
       lots1=lots1+OrderLots();
       sum0=sum0+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ; 
       kol1=kol1+1;
      }
      if (OrderType()==OP_SELL)
      {
       lots2=lots2+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ;
       kol2=kol2+1;
      }
   }
   ////////////////////////////////////////////////////////////////////////////
   double zeroprice1=0;
   double zeroprice2=0;
   if (lots1!=0) zeroprice1=sum0/lots1;
   if (lots2!=0) zeroprice2=sum/lots2;
   zeroprice1 = (MathRound(zeroprice1*MathPow(10,Digits)))/MathPow(10,Digits);
   zeroprice2 = (MathRound(zeroprice2*MathPow(10,Digits)))/MathPow(10,Digits);

 int res1 = 0;
 int res2 = 0;

 double zeroprice10 = NormalizeDouble(zeroprice1 + t*Point, Digits);
 double zeroprice20 = NormalizeDouble(zeroprice2 - t*Point, Digits);
 if (zeroprice10 !=0 || zeroprice20 !=0) {
   int Total2 = OrdersTotal();
   for(int in=Total2-1; in>=0; in--)
   {
      if (!OrderSelect(in,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;     

           if (OrderType()==OP_BUY) {if (zeroprice10 == NormalizeDouble(OrderTakeProfit(), Digits)) res1=res1+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice10,0,CLR_NONE)) res1 = res1+1;} }

           if (OrderType()==OP_SELL){if (zeroprice20 == NormalizeDouble(OrderTakeProfit(), Digits)) res2=res2+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice20,0,CLR_NONE)) res2 = res2+1;} } 
       }   
   }
 
fmv_for_a_way:


Понял, спасибо. С ценами действительно напутал, исправлю. Проверка на стоплевел производится перед выставлением отложенного ордера. Проверка стопов и лосов на эту же вшивость тоже есть.

В данном конкретном случае стоп левел по условиям брокера = 0, а стоп и профит устанавливаются существенно дальше. Что касается цены рыночного ордера, то, насколько я понимаю, он открывается по ближайшей рыночной цене и стоп левел в данном случае ни при чем. Так?

 

 

Нет, не так. В Альпари в качестве СтопЛевел используется двойной спред.
 
fmv_for_a_way:

Я правильно понял, что нормализовать значения нужно внутри торгового приказа?
Вовсе не обязательно прямо внутри. Но непосредственно перед отправкой - да.
 
artmedia70:
Вовсе не обязательно прямо внутри. Но непосредственно перед отправкой - да.


Спасибо. Буду искать решение. 
 
Люди, подскажите, где скачать МТ4 625-й сборки?