На вскидку надо вместо RSI_TF поставить 0, т.к. вызываемый индикатор уже определяет нужный тф
iCustom(NULL,RSI_TF
iCustom(NULL,0
iCustom(NULL,0,"TranderSimple",RSI_TF,iSell1 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,0,1);
iBuy1 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,1,1);
...
Comment("iS2: ",iSell2," iS1: ",iSell1, " iB2: ",iBuy2," iB1: ",iBuy1," SIG: ",Sig);
вы снимаете показания с бара #1 -- а это у вас на картинке красный цвет -- и значение iS1 =10.
так что -- ошибки нет в том что вы показали
вы снимаете показания с бара #1 -- а это у вас на картинке красный цвет -- и значение iS1 =10.
так что -- ошибки нет в том что вы показали
Ну вот присмотритесь, баров после разделения периодов 3! а на индикаторе 2, потому как нулевой не рассчитывается...
ТФ-мы индикатора задаются независимо от ТФ графика...

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть глобальные переменные
double iSell1;
double iSell2;
double iSell3;
double iBuy1;
double iBuy2;
double iBuy3;
В функции
void Ind_Calc(bool Init = false)
{
if (Init) {
iSell1 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,0,1);
iBuy1 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,1,1);
iSell2 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,0,2);
iBuy2 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,1,2);
Sig = (iSell1 > iSell2 || iBuy1 < iBuy2)?0:-1;
Sig = (iBuy1 > iBuy2 || iSell1 < iSell2)?1:Sig;
iSell3 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,0,3);
iBuy3 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,1,3);
} else {
iSell3 = iSell2;
iBuy3 = iBuy2;
iSell2 = iSell1;
iBuy2 = iBuy1;
iSell1 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,0,1);
iBuy1 = iCustom(NULL,RSI_TF,"TranderSimple",RSI_TF,RSI_Per,RSI_ma_Type,RSI_ma_Per,1,1);
Sig = (iSell1 > iSell2 || iBuy1 < iBuy2)?0:-1;
Sig = (iBuy1 > iBuy2 || iSell1 < iSell2)?1:Sig;
Comment("iS2: ",iSell2," iS1: ",iSell1, " iB2: ",iBuy2," iB1: ",iBuy1," SIG: ",Sig);
}
Sentiment = (iSell1>1)?0:-1;
Sentiment = (iBuy1>1)?1:Sentiment;
B_S = iHigh(NULL,RSI_TF,1) - iLow(NULL,RSI_TF,1);
B_B = iClose(NULL,RSI_TF,1) - iOpen(NULL,RSI_TF,1);
B_Imp = ((B_S > _LDBS*R_Imp) &&
(K_Imp <= NormalizeDouble(MathAbs(B_B)/B_S,2)));
}
А вот результат
Причем еще вчера, когда отсутствовали iSell3 и iBuy3 все работало, не понимаю!!!!!!!!!!!!!!