Столкнулся со следующей ситуацией.
Эксперементровал со сдвигом МА относительно графика.
Советник открывает позицию при пересечении двух МА.
Если в параметр ma_shift ставлю положителное число, например 2 - при пересечении МА советник открывает сделку.
Если ставлю отрицательное число например -3 советник не открывает сделку.
В учебнике нигде не нашел упоминания о подобной ситуации.
Заранее спасибо.
Выдержка из кода:
SMFast0=iMA( NULL, Tmfrm_work, PeriodSMFast, -3, ModeSMFast, PriceSMFast, 0 );// на текущем баре
SMFast1=iMA( NULL, Tmfrm_work, PeriodSMFast, -3, ModeSMFast, PriceSMFast, 1 );// на первом баре
SMSlow0=iMA( NULL, Tmfrm_work, PeriodSMSlow, 0, ModeSMSlow, PriceSMSlow, 0 );// на текущем баре
SMSlow1=iMA( NULL, Tmfrm_work, PeriodSMSlow, 0, ModeSMSlow, PriceSMSlow, 1 );// на первом баре
Прошу помочь опытных программистов.
Столкнулся со следующей ситуацией.
Эксперементровал со сдвигом МА относительно графика.
Советник открывает позицию при пересечении двух МА.
Если в параметр ma_shift ставлю положителное число, например 2 - при пересечении МА советник открывает сделку.
Если ставлю отрицательное число например -3 советник не открывает сделку.
В учебнике нигде не нашел упоминания о подобной ситуации.
Заранее спасибо.
Выдержка из кода:
SMFast0=iMA( NULL, Tmfrm_work, PeriodSMFast, -3, ModeSMFast, PriceSMFast, 0 );// на текущем баре
SMFast1=iMA( NULL, Tmfrm_work, PeriodSMFast, -3, ModeSMFast, PriceSMFast, 1 );// на первом баре
SMSlow0=iMA( NULL, Tmfrm_work, PeriodSMSlow, 0, ModeSMSlow, PriceSMSlow, 0 );// на текущем баре
SMSlow1=iMA( NULL, Tmfrm_work, PeriodSMSlow, 0, ModeSMSlow, PriceSMSlow, 1 );// на первом баре
if(SMFast0>SMSlow0 && SMFast1<SMSlow1)
{
Opn_B=true; // Критерий откр. Buy
Cls_S=true; // Критерий закр. Sell
}
if(SMFast0<SMSlow0 && SMFast1>SMSlow1 )
{
Opn_S=true; // Критерий откр. Sell
Cls_B=true; // Критерий закр. Buy
}