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

 
sergey_r:

Всем привет. Ребят у меня есть условие найти максимум: но в пределах коридора.

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

оно не работает.
если убираю коридор Все ок:

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

В чем может быть проблема?...

Предлагаю скрипт "max_sergey_r".
Скрипт находится в папке “scripts” терминала (например, С:\Program Files\ FX Trader\experts\scripts).
Скрипт может быть брошен на график любого инструмента, любого таймфрейма.
Файлы:
 
Roger:
Откройте индикатор в двух окнах и установите ненужную линию под цвет фона.
Если значения линий имеют разный порядок, то при таком отображении половина под-окошка будет пустым пятном. На данный момент мне приходиться каждое значение основного индикатора выводить через дополнительный индикатор со своим под-окошком. Соответственно, основной подгружается в фоновом режиме к КАЖДОМУ открытому под-окошку дополнительного индикатора, отсюда лишняя нагрузка на процессор. Это не критично, но просто хотелось "совершенства" :)
 

5й форум // только у меня пишет ошибку?

 
abolk:

5й форум // только у меня пишет ошибку?


наверно да
 

люди, помогите разобраться что это за жуть! У меня эксперт расчитан на то, чтобы выставлять отложник, а в случае, если цена не доходит до него, а разворачивается до уровня его стопа, то отложник  должен быть удален. но на тестере иногда выставляется отложник и сразу же удаляется даже не доходя до стопа. В чем тут дело? Вот скрин и код удаления.

 

А вот код:

     if (Bid>SL)                                                              // Если Bid>уровня стопа
      {
      for (k = OrdersTotal()-1; k >= 0; k--)
         {
         OrderSelect(k,SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
            {
            if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
               {
               if(OrderDelete(OrderTicket())==true)
                  {
                  Iterration--;
                  Alert ("Ордер SellStop удален.");
                  }
                }
             }
          }
       }

В чем здесь ошибка? 

 
vovan-gogan:

А вот код:

В чем здесь ошибка?

В коде ошибок нет, ошибки только в логике. Проверяется Bid>SL и удаляются все отложки (откуда берется SL из кода не явствует). Если нужно что-то другое тогда излагается цель по шагам на понятном языке.
 

дайте ссылку или код что-бы разобраться с программой.

хочу собрать эксперт работающий на разный таймфреймах, пришлите "рыбу"

с уважением

 
splxgf:
В коде ошибок нет, ошибки только в логике. Проверяется Bid>SL и удаляются все отложки (откуда берется SL из кода не явствует). Если нужно что-то другое тогда излагается цель по шагам на понятном языке.

SL выставляется на уровне MA20 со сдвигом назад на 3 свечи.
 
vovan-gogan:

люди, помогите разобраться что это за жуть! У меня эксперт расчитан на то, чтобы выставлять отложник, а в случае, если цена не доходит до него, а разворачивается до уровня его стопа, то отложник должен быть удален. но на тестере иногда выставляется отложник и сразу же удаляется даже не доходя до стопа. В чем тут дело? Вот скрин и код удаления.

А вот код:

В чем здесь ошибка?


замените

if (Bid>SL)
{

на

if (Bid>SL)
{
   Print("Bid=",Bid," SL=",SL);

и посмотрите что в журнал напишет.

 
PapaYozh:


замените

на

и посмотрите что в журнал напишет.


А в чем смысл? Уровень SL правильный. Когда присваиваю переменной SL значение MA20 со сдвигом 3, я вывожу через Alert уровень SL и он всегда на нужном уровне. Тока не пойму почему отложник удаляется до достижения уровня SL.