Архив категорий: Функции MQL4

Наиболее нужные и полезные функции для применения в советниках и индикаторах терминала MT4.

Сколько одинаковых фракталов подряд?

Функция MQL4: Сколько одинаковых фракталов подряд? Посчитаем, сколько одинаковых фракталов подряд с помощью двух простых функций: int FractalsUPpodryad() //Сколько подряд верхних фракталов   {    int count= 0;    for(int i=1; i<=100;i++) // считаем 100 свечей назад, этого достаточно      {       if(iFractals(Symbol(),0,MODE_UPPER,i)>0) count++; //прибавляем каждый найденный… Читать далее »

Уровень предполагаемого убытка в пунктах

Уровень предполагаемого убытка в пунктах Уровень предполагаемого убытка в пунктах открытых ордеров, у которых установлен стоп-лосс. Данная mql4-функция считает, сколько пунктов будет потеряно, если серия ордеров закроется по стоп-лоссу. Аргументы функции: sy — Символ; op — тип ордера(OP_BUY или OP_SELL); mn — магик ордеров. int BezubitokOrderov(string sy,int op,int mn)  … Читать далее »

Профит последнего открытого ордера в деньгах

Профит последнего открытого ордера в деньгах Профит или убыток последнего открытого ордера (который еще в рынке и не закрыт) в пунктах можно узнать с помощью нижеприведенной mql4-функции. Здесь: Sy — символ; op — тип ордера OP_BUY или OP_SELL; mn — магик. double ProfitPointLastOrder(string sy,int op,int mn)   {    datetime… Читать далее »

Как гарантировано открыть и/или модифицировать ордер в mql4

Предлагаю следующий простой и надежный вариант установки или модификации. Для этого используем цикл while. Установка ордера: bool open=false; int ticket = 0; while(!open && !IsStopped()) { ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,300,0,0,»»,Magic,0,Lime); if(ticket > 0) open = true; } Здесь цикл while будет посылать запросы на открытие ордера до его успешной установки. Модификация (ордер должен… Читать далее »

Функция mql4 считает проценты бычьих и медвежьих баров

Функции считают, сколько бычьих и медвежьих баров по отношению друг к другу. Из скрина будет все понятно: Внешний параметр: input int    number_of_bars = 3; // Сколько баров принимать в расчет Вызов функций (как пример): MathRound(PercentsBullBars(number_of_bars)) // сколько процентов бычьих баров с округлением до целого числа MathRound(PercentsBearBars(number_of_bars))  // сколько процентов медвежьих баров с… Читать далее »

Функция прямоугольной метки mql4

Чтобы нарисовать прямоугольник на графике, на фоне которого потом можно вывести какую-нибудь информацию уже в виде текста, предлагаю следующую функцию. Каждая строка комментирована и все предельно понятно.     void DrawBox()          {            ObjectCreate(0,»Labe»,OBJ_RECTANGLE_LABEL,0,1,1,1,1);// Создаем метку            ObjectSetInteger(0,»Labe»,OBJPROP_XDISTANCE,8);      // X-координата            ObjectSetInteger(0,»Labe»,OBJPROP_YDISTANCE,60);     // Y-координата            ObjectSetInteger(0,»Labe»,OBJPROP_XSIZE,200);        // ширина метки           … Читать далее »

Закрылся ли последний ордер по тейк-профиту?

Функция mql4: закрылся ли предыдущий ордер по тейк-профиту? Функция возвращает: если true — по тейку, false — еще как-то. Нажмите лайк и функция откроется.[sociallocker] bool isCloseLastPosByTake(string sy=»», int op=-1, int magic=-1) {   datetime t;   double   ocp, otp;   int      dg, i, j=-1, k=OrdersHistoryTotal();   if (sy==»0″) sy=Symbol();  … Читать далее »

Функция безубытка mql4

Функция безубытка mql4 Внешние переменные: input int LevelProfit = 60;  //Уровень профита в пунктах, которого должна достигнуть позиция для того, чтобы её стоп был перенесён на уровень безубытка. input int LevelWLoss  =  30;  //  Уровень безубытка в пунктах, на который будет перенесён стоп позиции после того, как её профит достигнет… Читать далее »

Трейлинг-стоп по MA (трал по «машке»)

Функция трейлинг-стопа по индикатору Moving Average Внешние переменные: input int periodMA = 20; // период МА input bool TralOnlyProfit = true; // тралить только профитные ордера или все input int Step = 1;// можно настроить шаг трала Сама функция трейлинга по МА (лайкните, и функция откроется): [sociallocker] void SimpleTrailing() {… Читать далее »

На каком баре был закрыт последний ордер (функция MQL4)

На каком баре был закрыт последний ордер (функция MQL4) Иногда нужно знать, на каком по счету баре был закрыт последний ордер. Например, если ордер уже был закрыт на текущем баре (т.е. на нулевом), то можно не допустить нового открытия ордера здесь же. Параметры функции: Sy — Торговый инструмент; tf —… Читать далее »