Советник для бинарок. В общем, вот с этого индикатора, нужны показатели сигнала. Как реализовать не знаю. Может если не смогут написать, может смогут подсказать, кусок кода, как брать сигнал с этого индюка. В общем не могу прикрепить его к советнику, что бы получить сигнал, для выставления ордера.
#property copyright ""
#property link ""
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
extern int ADXbars = 14;
extern int CountBars = 350;
extern string SoundFile="Alert.wav";
extern bool UseSound=true;
bool SoundBuy = False;
bool SoundSell = False;
double gda_84[];
double gda_88[];
double gd_92;
double gd_100;
double gd_108;
double gd_116;
int init() {
string ls_0;
IndicatorBuffers(2);
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 108);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 108);
SetIndexBuffer(0, gda_84);
SetIndexBuffer(1, gda_88);
return (0);
}
int start() {
if (CountBars >= Bars) CountBars = Bars;
SetIndexDrawBegin(0, Bars - CountBars);
SetIndexDrawBegin(1, Bars - CountBars);
int li_8 = IndicatorCounted();
if (li_8 < 0) return (-1);
if (li_8 < 1) {
for (int li_0 = 1; li_0 <= CountBars; li_0++) gda_84[CountBars - li_0] = 0.0;
for (li_0 = 1; li_0 <= CountBars; li_0++) gda_88[CountBars - li_0] = 0.0;
}
for (int li_4 = CountBars; li_4 >= 0; li_4--) {
gd_92 = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_PLUSDI, li_4 - 1);
gd_100 = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_PLUSDI, li_4);
gd_108 = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_MINUSDI, li_4 - 1);
gd_116 = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_MINUSDI, li_4);
if (gd_92 > gd_108 && gd_100 < gd_116) gda_84[li_4] = Low[li_4] - 5.0 * Point;
if (gd_92 < gd_108 && gd_100 > gd_116) gda_88[li_4] = High[li_4] + 5.0 * Point;
}
//+------------------------------------------------------------------+
if (gda_84[1] != EMPTY_VALUE && gda_84[1] != 0 && SoundBuy)
{
SoundBuy = False;
if (UseSound) PlaySound (SoundFile);
Alert("SixtySecondTrades(", Symbol(), ", ", Period(), ") - BUY!!!");
}
if (!SoundBuy && (gda_84[1] == EMPTY_VALUE || gda_84[1] == 0)) SoundBuy = True;
if (gda_88[1] != EMPTY_VALUE && gda_88[1] != 0 && SoundSell)
{
SoundSell = False;
if (UseSound) PlaySound (SoundFile);
Alert("SixtySecondTrades (", Symbol(), ", ", Period(), ") - SELL!!!");
}
if (!SoundSell && (gda_88[1] == EMPTY_VALUE || gda_88[1] == 0)) SoundSell = True;
//+------------------------------------------------------------------+
return (0);
}
Если с теми индикаторами которые в терминале, я вроде как «разобрался» как их подключать. По крайней мере, с теми, что подключил в предыдущем советнике. А с этим запара. Не знаю, как вызвать его и взять с него сигнал.
Алгоритм советника планирую такой:
Инициализируем глобальные переменные Lot, комент (время экспирации )Magic (хотя он тут и не нужен). Если потребуется параметры индикатора Я вот только не знаю какие брать
 
) (ВРОДЕ ВСЕ)
Вызываем индикатор, так как проверять отрытые ордера смысла нету, это бинарки.
Считываем показатели, сигнала, как появился сигнал, проверяем в какую сторону. И передаем в функцию открытия ордера. В целом все. Можно было бы поставить ограничение по времени торгов, но я думаю, мне особо это не требуется, могу включать и выключать руками. В общем если не сложно, напишите, или объясните, как это чудо воткнуть в советник, и как найти сигнал. Хотя бы так, я дальше сам буду… В общем сексом заниматься.
Комментарии (7)
1) Сначала смотрим как создавать обычный советник на индикаторах — mql.opentraders.ru/940.html
2) Затем смотрим, как переделать советник под бинарки — mql.opentraders.ru/27760.html
45 Bishop Сообщений: 5802 - АЛЬФАХАМЕЦ-Машковод
14 Syte Автор Сообщений: 399
14 Syte Автор Сообщений: 399
Красотулька… ГРААЛЬЬЬЬЬ
14 Syte Автор Сообщений: 399
Сигнал выводите в коммент или в принт и затем пишете условие.
35 AM2 Сообщений: 16285 - Андрей
14 Syte Автор Сообщений: 399
14 Syte Автор Сообщений: 399
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий