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

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

Рекламное сообщение
⚠️ Pirate VPN Service - Быстрый, безопасный и надежный VPN от команды PirateHUB

Работайте безопасно. Обходите любые блокировки. Защитите свои данные.

➡️ Подробнее
 

//+------------------------------------------------------------------+
//| 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;
 

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

Назад
Сверху