Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Понравилась статья? Поделись ею с друзьями!
Алексей
17
Алексей 2012.08.23 02:46 

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

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

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

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

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

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

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

o_O
Модератор
23314
o_O 2012.08.23 11:22  

parsov:

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


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

Роман
7939
Роман 2012.08.23 13:14  
Кривой сов.
Алексей
17
Алексей 2012.08.23 16:12  
sergeev:

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


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

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

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

//--- 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);

}

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

Дмитрий
1046
Дмитрий 2012.08.23 16:33  
вставь код через кнопку SRC
Dmitry Fedoseev
41247
Dmitry Fedoseev 2012.08.23 16:36  
parsov:

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

Не, iCustom используется. Попробуйте использовать iSAR()
Victor Nikolaev
Модератор
14078
Victor Nikolaev 2012.08.23 17:08  
Integer:

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

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

Не, iCustom используется. Попробуйте использовать iSAR()
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий