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

 

вот новый вариант что не заворачиваться с минимумами максимумами....

int MaperiodM5maBIG_1,

      MaperiodM5maBIG_2,

      MaperiodM5ma_1,

      MaperiodM5ma_2; 

  if(Period()>1){ 

    MaperiodM5maBIG_1 = 750 / Period();

    MaperiodM5maBIG_2 = 750 / Period();

    MaperiodM5ma_1 = 25 / Period();

    MaperiodM5ma_2 = 25 / Period();

    }

    else

    {

    MaperiodM5maBIG_1 = 750;

    MaperiodM5maBIG_2 = 750;

    MaperiodM5ma_1 = 25;

    MaperiodM5ma_2 = 25;

    } 

    M5maBIG_1= iMA(ed,Period(),MaperiodM5maBIG_1,0,MODE_EMA,PRICE_CLOSE,1);

    M5maBIG_2= iMA(ed,Period(),MaperiodM5maBIG_2,0,MODE_EMA,PRICE_CLOSE,2);

    M5ma_1=    iMA(ed,Period(),MaperiodM5ma_1,0,MODE_EMA,PRICE_CLOSE,1);

    M5ma_2=    iMA(ed,Period(),MaperiodM5ma_2,0,MODE_EMA,PRICE_CLOSE,2); 

  if(M5ma_2>M5maBIG_2&&M5ma_1<M5maBIG_1){ordersend(520);.........................................................мне кажется что тут тоже надо по шаманить со скобками типо-------((M5ma_2>M5maBIG_2)&&(M5ma_1<M5maBIG_1))---

                                                                                                                                                             или   (((M5ma_2)>M5maBIG_2)&&((M5ma_1)<M5maBIG_1))

  }//amx13_75 

   if(a==520){RefreshRates();//__________________________________________________________________________________

    op=NormalizeDouble(Ask,Digits);sl=NormalizeDouble(op-62*kio*Point,Digits);tp=NormalizeDouble(op+54*kio*Point,Digits);

    ticket=OrderSend(ed,OP_BUY,      Lot,op,3,sl,0,comm,magic+520,0,Green);//_____Lot=

    err=GetLastError();

    if(err!=0){Print("Error-",err," op-",op," sl-",sl," tp-",tp);}} 

 

так тоже не работает, кстати.........  :(

 
Vinin:

Кроме периода еще есть тип. Не каждую машку можно довольно точно получить на других таймфреймах. На меньших можно, на старших не очень

Да, я в курсе, но в данном случае портация периода машки умножением/делением на нужный ТФ должно давать более точные результаты. Насколько я помню при использовании  машки явно с другого ТФ результаты всегда хуже, но на истину не претендую.
 
benzovoz:

Да, я в курсе, но в данном случае портация периода машки умножением/делением на нужный ТФ должно давать более точные результаты. Насколько я помню при использовании  машки явно с другого ТФ результаты всегда хуже, но на истину не претендую.

так как же получать одинаковый результат на разных таймингах?    :/
 

Здесь попробовать добавить:

if(Period()>1){

MaperiodM5maBIG_1 = 750 / Period();

MaperiodM5maBIG_2 = 750 / Period();

MaperiodM5ma_1 = 25 / Period();

MaperiodM5ma_2 = 25 / Period();

}

else

{

MaperiodM5maBIG_1 = 750;

MaperiodM5maBIG_2 = 750;

MaperiodM5ma_1 = 25;

MaperiodM5ma_2 = 25;

}

if( MaperiodM5ma_1 <1) MaperiodM5ma_1 = 1; 

if( MaperiodM5ma_2 <1) MaperiodM5ma_2 = 1;   


 
laveosa:

так как же получать одинаковый результат на разных таймингах?    :/

Одинаковый не получить, но близкий можно
 
benzovoz:

Здесь попробовать добавить:

if(Period()>1){

MaperiodM5maBIG_1 = 750 / Period();

MaperiodM5maBIG_2 = 750 / Period();

MaperiodM5ma_1 = 25 / Period();

MaperiodM5ma_2 = 25 / Period();

}

else

{

MaperiodM5maBIG_1 = 750;

MaperiodM5maBIG_2 = 750;

MaperiodM5ma_1 = 25;

MaperiodM5ma_2 = 25;

}

if( MaperiodM5ma_1 <1) MaperiodM5ma_1 = 1; 

if( MaperiodM5ma_2 <1) MaperiodM5ma_2 = 1;   


 


нееааа  не работает.....  а для чего мы это делали?
 
Vinin:

Одинаковый не получить, но близкий можно

другими словами господа.....  если пишете сову то только одного тайминга а не микс из разных так?  :)
 
laveosa:

другими словами господа.....  если пишете сову то только одного тайминга а не микс из разных так?  :)

Просто надо думать прежде чем задавать вопросы. Близкий и не близкий - совершенно разные понятия.
 
laveosa:

нееааа  не работает.....  а для чего мы это делали?


MaperiodM5ma_2 = 25 / Period(); Допустим ставим на Н1, в итоге получится 25/60=0.41, в int будет вообще 0, т.к. такого периода МА не существует то в этом случае используем минимально возможный, т.е. 1, собственно для этого. Вообще то должно работать, я такие варианты иногда использую, результат торговли отличается незначительно от "родного" периода.
 
Vinin:

Просто надо думать прежде чем задавать вопросы. Близкий и не близкий - совершенно разные понятия.

вопрос был предельно прост как сделать так чтоб результат теста был одинаковы на любом тайминге, если был не достаточно ясен то будем стараться в следующий раз быть более детальным...  Спасибо!