написал советник используя данные индикатора Parabolic, при тестировании происходит искажение данных индикатора

 

Написал советник. который используя данные индикатора Parabolic открывает и закрывает позиции.

Но вот что стало происходить:

- если вставить советник на график, то происходить искажение данных индикатора Parabolic

- тот же промежуток, только без советника, показания индикатора Parabolic в норме

настройки индикатора в обоих случаях одинаковые.

Почему так происходит не могу разобраться. Если кто-то сталкивался с похожим, подскажите в чем причина.

Заранее спасибо!

 

parsov:

- если вставить советник на график, то происходить искажение данных индикатора Parabolic


искажается встроенный в МТ индюк? или индюк MQL4 ?

 
Кривой сов.
 
sergeev:

искажается встроенный в МТ индюк? или индюк MQL4 ?


искажается ПОЛЬЗОВАТЕЛЬСКИЙ индикатор в МТ4
 
Roman.:
Кривой сов.

не кривой. пробовал на разный платформах: на инстафорексе и на альпари
 

наверно правильнее будет выложить код советника:

//--- input parameters

extern double Step=0.03;

extern double Maximum=0.1;

int M1=0;

int L1=0;

int A1=0;

int B1=0;

string Mess1="";

string Mess2="";

string Mess3="";

string Mess4="";

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

int init()

{

return(0);

}

//+------------------------------------------------------------------+

//| expert deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

//----

double P1=iCustom(NULL,0,"Parabolic",Step,Maximum,0,0);

double P2=iCustom(NULL,0,"Parabolic",Step,Maximum,0,1);

Comment (P1," ",P2," ",Mess1," ",Mess2," Mess3=",Mess3," Mess4=",Mess4);

if (P1>Bid)

{

Mess1="SPAD";

}

if (P1<Bid)

{

Mess1="ROST";

}

if (P2>Bid)

{

Mess2="SPAD";

}

if (P2<Bid)

{

Mess2="ROST";

}

if (Mess1=="ROST" && Mess2=="SPAD")

{

if (A1==0)

{

Alert ("Волна развернулась и начался Рост");

Mess3="RAZVOROT";

}

}

if (Mess1=="SPAD" && Mess2=="ROST")

{

if (B1==0)

{

Alert ("Волна развернулась и начался Спад");

Mess4="RAZVOROT";

}

}

if (M1==0 && Mess3=="RAZVOROT")

{

OrderSend(Symbol(),OP_BUY,10,Ask,3,0,0); //открытие позиции на покупку

M1=M1+1;

A1=A1+1;

Mess3="0";

}

if (M1==0 && Mess4=="RAZVOROT")

{

OrderSend(Symbol(),OP_SELL,10,Bid,3,0,0); //открытие позиции на продажу

M1=M1+1;

B1=B1+1;

Mess4="0";

}

if (A1==1 && Mess4=="RAZVOROT")

{

OrderSelect(0, SELECT_BY_POS); //закрытие позиции на покупку

L1=OrderTicket();

OrderClose( L1, 10, Bid, 2 );

M1=M1-1; A1=A1-1;

}

if (B1==1 && Mess3=="RAZVOROT")

{

OrderSelect(0, SELECT_BY_POS); //закрытие позиции на продажу

L1=OrderTicket();

OrderClose( L1, 10, Ask, 2 );

M1=M1-1; B1=B1-1;

}

//----

return(0);

}

//+----------------------------

 
вставь код через кнопку SRC
 
parsov:

искажается встроенный индикатор в МТ4

Не, iCustom используется. Попробуйте использовать iSAR()
 
Integer:

Не, iCustom используется. Попробуйте использовать iSAR()

Пользовательский малость кривой, две недели уже пытаюсь переделать. Вроде получаться нчинает
 
на iSARе все заработало, БОЛЬШОЕ спасибо!
Integer:

Не, iCustom используется. Попробуйте использовать iSAR()
Причина обращения: