Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 4196
- Рейтинг:
- Опубликован:
- 2017.08.28 14:01
- Обновлен:
- 2021.08.24 08:29
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Скрипт "Pending orders UP" выставляет сетку ордеров ВВЕРХ от текущей цены.
Gap, Step, Stop Loss, Take Profit and Deviation - in Points (1.00055-1.00045=10 points)
Входные параметры
- Gap for pending orders UP from the current price - отступ от текущей цены для первого отложенного ордера;
- Step between orders UP - шаг между отложенными ордерами;
- Type of pending orders UP - тип отложенного ордера (может быть или Buy Stop или Sell Limit);
- UP quantity - количество выставляемых ордеров;
- Lots - объем каждого отложенного ордера;
- Stop Loss - стоп лосс;
- Take Profit - тейк профит.
Скрипт осуществляет максимально быструю отправку торговых приказов на размещение отложенных ордеров благодаря включению асинхронного режима торговых операций:
m_trade.SetAsyncMode(true);
Вот пример отправки торговых приказов для пяти отложенных ордеров:
2018.02.26 13:16:17.307 script Pending orders UP (EURCAD,H1) loaded successfully 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56094 sl: 1.55894 tp: 1.56294 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56394 sl: 1.56194 tp: 1.56594 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56694 sl: 1.56494 tp: 1.56894 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56994 sl: 1.56794 tp: 1.57194 2018.02.26 13:16:18.964 '7884130': buy stop 0.01 EURCAD at 1.57294 sl: 1.57094 tp: 1.57494 2018.02.26 13:16:18.965 script Pending orders UP (EURCAD,H1) removed
Пять приказов БЫЛИ ОТПРАВЛЕНЫ за 1 миллисекунду!
А теперь полный отчет, от начала старта скрипта и до его выгрузки (время отправки первого торгового приказа 2018.02.26 13:16:18.963):
2018.02.26 13:16:17.307 script Pending orders UP (EURCAD,H1) loaded successfully 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56094 sl: 1.55894 tp: 1.56294 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56394 sl: 1.56194 tp: 1.56594 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56694 sl: 1.56494 tp: 1.56894 2018.02.26 13:16:18.963 '7884130': buy stop 0.01 EURCAD at 1.56994 sl: 1.56794 tp: 1.57194 2018.02.26 13:16:18.964 '7884130': buy stop 0.01 EURCAD at 1.57294 sl: 1.57094 tp: 1.57494 2018.02.26 13:16:18.965 script Pending orders UP (EURCAD,H1) removed 2018.02.26 13:16:19.051 '7884130': accepted buy stop 0.01 EURCAD at 1.56094 sl: 1.55894 tp: 1.56294 2018.02.26 13:16:19.051 '7884130': order #212450980 buy stop 0.01 / 0.01 EURCAD at market done in 87.964 ms 2018.02.26 13:16:19.051 '7884130': accepted buy stop 0.01 EURCAD at 1.56394 sl: 1.56194 tp: 1.56594 2018.02.26 13:16:19.052 '7884130': order #212450981 buy stop 0.01 / 0.01 EURCAD at market done in 89.147 ms 2018.02.26 13:16:19.054 '7884130': accepted buy stop 0.01 EURCAD at 1.56694 sl: 1.56494 tp: 1.56894 2018.02.26 13:16:19.064 '7884130': order #212450982 buy stop 0.01 / 0.01 EURCAD at market done in 100.414 ms 2018.02.26 13:16:19.069 '7884130': accepted buy stop 0.01 EURCAD at 1.56994 sl: 1.56794 tp: 1.57194 2018.02.26 13:16:19.070 '7884130': accepted buy stop 0.01 EURCAD at 1.57294 sl: 1.57094 tp: 1.57494 2018.02.26 13:16:19.075 '7884130': order #212450983 buy stop 0.01 / 0.01 EURCAD at market done in 111.374 ms 2018.02.26 13:16:19.077 '7884130': order #212450984 buy stop 0.01 / 0.01 EURCAD at market done in 113.043 ms
время подтверждения размещения последнего отложенного ордера 2018.02.26 13:16:19.077. Итого, все операции заняли ВСЕГО 114 миллисекунд!
Также в начале работы осуществляется проверка корректности введенного объема для отложенных ордеров:
//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- if(InpLots<=0.0) { Print("The \"Lots\" can't be smaller or equal to zero"); return; } //--- if(!m_symbol.Name(Symbol())) // sets symbol name return; if(!RefreshRates()) return; string err_text=""; if(!CheckVolumeValue(InpLots,err_text)) { Print(err_text); return; } //---

Библиотека чтения/записи параметров произвольных советников.

Скрипт "History Deals and Orders" выводит абсолютно все свойства для сделок и ордеров из торговой истории в заданном временном интервале.

Скрипт выставляет несколько отложенных ордеров вниз от текущей цены.

Очередной индикатор тренда ZigZag, основанный на точках экстремумов индикатора SMA.