Функция ICustom - страница 9

 

Вот что я сделал (выделено жирным шрифтом):

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0);

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,1);

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,2);

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,3);

 

На самом деле, посмотрите на мой код сейчас!

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

//| COG call.mq4 |

//| |

//| |

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

#property indicator_separate_window

#property indicator_buffers 4

#property indicator_color1 Lime

#property indicator_color2 Red

#property indicator_color3 CLR_NONE

#property indicator_color4 CLR_NONE

//---- буферы

double value1[];

double value2[];

double value3[];

double value4[];

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

//| Пользовательская функция инициализации индикатора |

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

int init()

{

string short_name;

//---- индикаторы

IndicatorBuffers(4);

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Lime);

SetIndexBuffer(0,value1);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1,Red);

SetIndexBuffer(1,value2);

SetIndexStyle(2,DRAW_NONE);

SetIndexBuffer(2,value3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,value4);

IndicatorDigits(Digits+2);

return(0);

}

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

//| Пользовательская функция деинициализации индикатора |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Пользовательская функция итерации индикатора |

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

int start()

{

int counted_bars=IndicatorCounted();

//---- проверка на возможные ошибки

if (counted_bars<0) return(-1);

//---- последний подсчитанный бар будет пересчитан.

if (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

while(pos>=0)

{

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0);

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,1);

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,2);

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,3);

pos--;

}

return(0);

}

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

 

Я попробовал вставить

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,0);

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,1);

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,2);

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,3);

теперь он снова сохранил только красную линию, которая является буфером 2, но теперь он поместил ее выше на экране графика, и она все еще плоская. сумасшедший!?!????

 

ахххх!!!

Что такого особенного в буфере 2??????

 

У меня работает icustom, эта тема очень помогла. Я работаю над советником, но я учусь по мере того, как делаю это, так что это немного медленно. Есть ли способ остановить советника после одной сделки или даже автозакрыть его после входа в одну сделку?

Проблема в том, что после того, как он достигает моего тейк-профита, если все еще указывает на короткую позицию, он снова входит в сделку.

Любая помощь будет очень признательна.

 

Пример кода, пожалуйста

Не мог бы кто-нибудь поделиться примером кода индикатора, который бы брал значения двух пользовательских индикаторов на графике при закрытии бара и на основании этого выдавал бы алерт или рисовал цветные бары, неважно, что он делает.

Например, у нас есть два LWMA на графике с разными настройками периода. Когда бар закрывается, индикатор сравнивает их значения, и если более короткий превышает более длинный, он рисует синюю полосу в отдельном окне. Вот так просто.

Мне это нужно для изучения mql, сейчас я немного перегружен теорией и хочу сделать что-то практическое. Заранее спасибо!

 

Как вызвать функцию во время исполнения сделки?

Пожалуйста, помогите мне

как мне вызвать функцию, когда сделка выполняется, при открытии новой сделки, закрытии сделки или создании отложенного ордера, я хочу вызвать функцию

 
prasantha60:
Пожалуйста, помогите мне, как мне вызвать функцию, когда торговля выполняется, когда я открываю новую сделку, закрываю сделку или создаю отложенный ордер, я хочу вызвать функцию

Какую функцию вы хотите вызвать? Не совсем понимаю, о чем вы спрашиваете.

 
Файлы: