Скачать MetaTrader 5

автоматическая торговля по индикатору

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
fred
45
fred  
хочу полностью автоматизировать торговлю по индикатору, изучаю язык MGL4 но не могу понять как сделать чтоб по сигналу индикатора происходила какая либо сделка.подскажите кто сможет. напишите код для примера
Aleksandr Chugunov
5020
Aleksandr Chugunov  

индикатор какой?

картинку сюда со входами вставьте

Alexander Sevastyanov
4431
Alexander Sevastyanov  
fred2008w:
напишите код для примера
Уже написан. МАСD Sample. В стандартной поставке МТ4
fred
45
fred  

MACD Sample не работает он пишет ошибку 131. пользуюсь индикатором BB_MACD_v1.01. не могу вставить его код 

fred
45
fred  

вот его код :

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Lime //bbMacd up
#property indicator_color2 Magenta //bbMacd up
#property indicator_color3 Blue //Upperband
#property indicator_color4 Red //Lowerband
//---- indicator parameters
extern int FastLen = 12;
extern int SlowLen = 26;
extern int Length = 10;
extern int barsCount = 400;
extern double StDv = 2.5;
//----
int loopbegin;
int shift;
double zeroline;
//---- indicator buffers
double ExtMapBuffer1[]; // bbMacd
double ExtMapBuffer2[]; // bbMacd
double ExtMapBuffer3[]; // Upperband Line
double ExtMapBuffer4[]; // Lowerband Line
//---- buffers
double bbMacd[];
double Upperband[];
double Lowerband[];
double avg[];
double bbMacdline;
double sDev;
double mean;
double sumSqr;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 6 additional buffers are used for counting.
IndicatorBuffers(8);
//---- drawing settings
SetIndexBuffer(0, ExtMapBuffer1); // bbMacd line
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 108);
IndicatorDigits(Digits + 1);
//----
SetIndexBuffer(1, ExtMapBuffer2); // bbMacd line
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 108);
IndicatorDigits(Digits + 1);
//----
SetIndexBuffer(2, ExtMapBuffer3); // Upperband line
SetIndexStyle(2, DRAW_LINE, STYLE_SOLID, 1);
IndicatorDigits(Digits + 1);
//----
SetIndexBuffer(3, ExtMapBuffer4); // Lowerband line
SetIndexStyle(3, DRAW_LINE, STYLE_SOLID, 1);
IndicatorDigits(Digits + 1);
//----
SetIndexBuffer(4, bbMacd);
SetIndexBuffer(5, Upperband);
SetIndexBuffer(6, Lowerband);
SetIndexBuffer(7, avg);
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("BB MACD(" + FastLen + "," + SlowLen + "," + Length+")");
SetIndexLabel(0, "bbMacd");
SetIndexLabel(1, "Upperband");
SetIndexLabel(2, "Lowerband");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom BB_MACD |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
if (barsCount > 0)
limit = MathMin(Bars - counted_bars,barsCount);
else limit = Bars - counted_bars;
//----
for(int i = 0; i < limit; i++)
bbMacd[i] = iMA(NULL, 0, FastLen, 0, MODE_EMA, PRICE_CLOSE, i) -
iMA(NULL, 0, SlowLen, 0, MODE_EMA, PRICE_CLOSE, i);
//----
for(i = 0; i < limit; i++)
{
avg[i] = iMAOnArray(bbMacd, 0, Length, 0, MODE_EMA, i);
sDev = iStdDevOnArray(bbMacd, 0, Length, MODE_EMA, 0, i);
Upperband[i] = avg[i] + (StDv * sDev);
Lowerband[i] = avg[i] - (StDv * sDev);
ExtMapBuffer1[i]=bbMacd[i]; // Uptrend bbMacd
ExtMapBuffer2[i]=bbMacd[i]; // downtrend bbMacd
ExtMapBuffer3[i]=Upperband[i]; // Upperband
ExtMapBuffer4[i]=Lowerband[i]; // Lowerband
//----
if(bbMacd[i] > bbMacd[i+1])
ExtMapBuffer2[i] = EMPTY_VALUE;
//----
if(bbMacd[i] < bbMacd[i+1])
ExtMapBuffer1[i] = EMPTY_VALUE;
}
//---- done
return(0);
}
//+------------------------------------------------------------------+

Warstein
799
Warstein  
IgorM М
4801
IgorM М  
fred2008w:

MACD Sample не работает он пишет ошибку 131. пользуюсь индикатором BB_MACD_v1.01. не могу вставить его код 


ошибка 131 обычно возникает из-за того, что код был написан для 4-х знака, а пытаются тестировать в 5-ти знаке

ЗЫ: в хэлпе описание ошибок есть

Andrey F. Zelinsky
33087
Andrey F. Zelinsky  
IgorM:


ошибка 131 обычно возникает из-за того, что код был написан для 4-х знака, а пытаются тестировать в 5-ти знаке

ЗЫ: в хэлпе описание ошибок есть


ошибка 131 - неправильный объём и 5-знак здесь ни при чём

коды ошибок в документации https://docs.mql4.com/ru/constants/errors

IgorM М
4801
IgorM М  
abolk:


ошибка 131 - неправильный объём и 5-знак здесь ни при чём

коды ошибок в документации https://docs.mql4.com/ru/constants/errors


угу, на память решил написать ;) - тогда еще проще, топикстартеру нужно поставить вместо 0.01 лота 0.1

ЗЫ: код советника нужен а не индикатора, индикатор если работает, зачем он нам 

Andrey F. Zelinsky
33087
Andrey F. Zelinsky  
IgorM:


угу, на память решил написать ;) - тогда еще проще, топикстартеру нужно поставить вместо 0.01 лота 0.1

ЗЫ: код советника нужен а не индикатора, индикатор если работает, зачем он нам

а если минимальный лот равен 1 (единичке)?
IgorM М
4801
IgorM М  
abolk:
а если минимальный лот равен 1 (единичке)?


а если плечо 1:100 ?

;)

тут вроде у человека совершенно ничего не работает - наверно только пробует разобраться, зачем ему эти трудности, хотя если хотите - помогите ему, я не буду отвлекать, пойду почитаю пока отдыхаю от кодов

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий