Криптовалюта кто дружит mql4 ?

нашел код индюка -скомпилировал-а как запустить и где менять кол.во пп не знаю . поставил в тестере он пишет "размер тела текущей свечи 0 пунктов"
 

Рекламное сообщение
📈 Хотите влиться в мир криптотрейдинга, но нет знаний? Доверьте это профессионалам!

Выбрав наш сервис, вы даете возможность торговать криптовалютами нам на вашем аккаунте. Используем только проверенные сигналы проверенных трейдеров. Проверяем каждый сигнал перед отправкой в работу.

Выбрав копитрейд сервис, вы вкладываетесь в криптовалюты, но только в те, которые имеют реальный шанс принести доход.

Все что вам остается - это включать бота и разрешить ему торговлю.

➡️ Подробнее
 

//+------------------------------------------------------------------+
//| body_size_alert.mq4 |
//| Vlad Sergeev aka moneyinnetwork |
//+------------------------------------------------------------------+
#property copyright "Vlad Sergeev"
#property link "http://moneyinnetwork.ru"
#property version "4.00"
#property strict
#property indicator_chart_window

input int TextSize = 10; //размер шрифта
input string FontName = "Verdana"; //наименование шрифта
input color TextColor = clrWhite; //цвет текста
input int PosX = 0; //координата текста по x
input int PosY = 50; //координата текста по у
input int Max_Bar = 20; //размер бара при котором выдается Alert
bool no_alert;
datetime time_old;

int OnInit()
{
no_alert = false;
time_old = 0;
return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
if ( ObjectFind ("candlesizeXX") >=0 ) {
ObjectDelete("candlesizeXX");
}
}

int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
double bar_size = MathAbs(close[0]-open[0])/Point;
if ( ObjectFind ("candlesizeXX") >=0 ) {
ObjectDelete("candlesizeXX");
}
ObjectCreate ("candlesizeXX", OBJ_LABEL, 0, 0, 0);
ObjectSet ("candlesizeXX", OBJPROP_ANGLE, 0);
ObjectSet("candlesizeXX", OBJPROP_CORNER, 0);
ObjectSet("candlesizeXX", OBJPROP_BACK, FALSE);
ObjectSet("candlesizeXX", OBJPROP_XDISTANCE, PosX);
ObjectSet("candlesizeXX", OBJPROP_YDISTANCE, PosY);
ObjectSetText ( "candlesizeXX",
"Размер тела текущей свечи: "+DoubleToStr(bar_size, 0)+" пунктов",
TextSize,
FontName,
TextColor
);
if ( time_old != time[0] ) {
no_alert = false;
time_old = time[0];
}
if ( bar_size > Max_Bar && !no_alert ) {
Alert("Размер тела свечи превысил заданный уровень в ", Max_Bar, " пунктов!");
no_alert = true;
}
return(rates_total);
}
 

Код полностью рабочий, будет подавать сигнал когда текущая свеча по условию указанных в настройках достигнет 20 пунктов. (Max_Bar = 20)
 

получается что в тестере не работает -так ? свечи проходят больше 20ти пунктов - а он никак не реагирует. пробовал и уменьшать это значение input int Max_Bar = 20; //размер бара при котором выдается Alert - то же никакой реакции
 

получается что в тестере не работает -так ? свечи проходят больше 20ти пунктов - а он никак не реагирует. пробовал и уменьшать это значение input int Max_Bar = 20; //размер бара при котором выдается Alert - то же никакой реакции
В тестере он должен работать, только не будет подавать сигналы алерта, все сигналы должны отображаться в логах.
 

все понял !!! спасибо Огромное друг !!!
Не за что
Сразу не заметил да и это не значительно, но всё же в строке
PHP:
double bar_size = MathAbs(close[0]-open[0])/Point;
Указана функция Point, метовеки постоянно что то меняют и добавляют пытаясь уровнять mql4 с mql5 по этому Point порекомендую заменить на переменную _Point, чтоб при последующих обновлениях не было багов с работой индюка.
PHP:
double bar_size = MathAbs(close[0]-open[0])/_Point;
 

Обратите внимание

Назад
Сверху