Скачать MetaTrader 5

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

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

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

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

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

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

fred
45
fred 2010.11.13 14:04  

вот его код :

#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 2010.11.13 14:09  
IgorM М
4801
IgorM М 2010.11.13 14:13  
fred2008w:

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


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

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

Andrey F. Zelinsky
31669
Andrey F. Zelinsky 2010.11.13 14:22  
IgorM:


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

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


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

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

IgorM М
4801
IgorM М 2010.11.13 14:34  
abolk:


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

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


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

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

Andrey F. Zelinsky
31669
Andrey F. Zelinsky 2010.11.13 14:37  
IgorM:


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

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

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


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

;)

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

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