Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Скрипты

Pending orders DOWN - скрипт для MetaTrader 5

Просмотров:
4183
Рейтинг:
(38)
Опубликован:
2017.08.28 14:01
Обновлен:
2021.03.12 04:13
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Скрипт "Pending orders DOWN" выставляет сетку ордеров ВНИЗ от текущей цены.


Входные параметры

  • Gap for pending orders DOWN from the current price (in pips) - отступ от текущей цены для первого отложенного ордера;
  • Step between orders DOWN (in pips) - шаг между отложенными ордерами;
  • Type of pending orders DOWN - тип отложенного ордера (может быть или Buy Limit или Sell Stop);
  • DOWN quantity - количество выставляемых ордеров;
  • Lots - объем каждого отложенного ордера;
  • Stop Loss (in pips) - стоп лосс;
  • Take Profit (in pips) - тейк профит.

Скрипт осуществляет максимально быструю отправку торговых приказов на размещение отложенных ордеров благодаря включению асинхронного режима торговых операций:

   m_trade.SetAsyncMode(true);

Вот пример отправки торговых приказов для пяти отложенных ордеров:

2018.02.26 13:06:11.073 script Pending orders DOWN (EURCAD,H1) loaded successfully
2018.02.26 13:06:13.736 '7884130': sell stop 0.01 EURCAD at 1.55817 sl: 1.56017 tp: 1.55617
2018.02.26 13:06:13.736 '7884130': sell stop 0.01 EURCAD at 1.55517 sl: 1.55717 tp: 1.55317
2018.02.26 13:06:13.736 '7884130': sell stop 0.01 EURCAD at 1.55217 sl: 1.55417 tp: 1.55017
2018.02.26 13:06:13.736 '7884130': sell stop 0.01 EURCAD at 1.54917 sl: 1.55117 tp: 1.54717
2018.02.26 13:06:13.737 '7884130': sell stop 0.01 EURCAD at 1.54617 sl: 1.54817 tp: 1.54417
2018.02.26 13:06:13.737 script Pending orders DOWN (EURCAD,H1) removed

Пять приказов БЫЛИ ОТПРАВЛЕНЫ за 1 миллисекунду!

А теперь полный отчет, от начала старта скрипта и до его выгрузки (время отправки первого торгового приказа 2017.08.28 09:00:35.272):

2017.08.28 09:00:30.227 Scripts script Pending orders DOWN (AUDCAD,Daily) loaded successfully
2017.08.28 09:00:35.272 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98893 sl: 0.99143 tp: 0.98693
2017.08.28 09:00:35.272 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98743 sl: 0.98993 tp: 0.98543
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98593 sl: 0.98843 tp: 0.98393
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98443 sl: 0.98693 tp: 0.98243
2017.08.28 09:00:35.273 Trades  '6121033': sell stop 0.01 AUDCAD at 0.98293 sl: 0.98543 tp: 0.98093
2017.08.28 09:00:35.274 Scripts script Pending orders DOWN (AUDCAD,Daily) removed
2017.08.28 09:00:35.340 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98893 sl: 0.99143 tp: 0.98693
2017.08.28 09:00:35.341 Trades  '6121033': order #164992356 sell stop 0.01 / 0.01 AUDCAD at market done in 68.657 ms
2017.08.28 09:00:35.341 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98743 sl: 0.98993 tp: 0.98543
2017.08.28 09:00:35.342 Trades  '6121033': order #164992357 sell stop 0.01 / 0.01 AUDCAD at market done in 69.645 ms
2017.08.28 09:00:35.342 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98593 sl: 0.98843 tp: 0.98393
2017.08.28 09:00:35.343 Trades  '6121033': order #164992358 sell stop 0.01 / 0.01 AUDCAD at market done in 70.006 ms
2017.08.28 09:00:35.343 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98443 sl: 0.98693 tp: 0.98243
2017.08.28 09:00:35.343 Trades  '6121033': order #164992359 sell stop 0.01 / 0.01 AUDCAD at market done in 70.346 ms
2017.08.28 09:00:35.343 Trades  '6121033': accepted sell stop 0.01 AUDCAD at 0.98293 sl: 0.98543 tp: 0.98093
2017.08.28 09:00:35.343 Trades  '6121033': order #164992360 sell stop 0.01 / 0.01 AUDCAD at market done in 70.312 ms

время подтверждения размещения последнего отложенного ордера 2017.08.28 09:00:35.343. Итого, все операции заняли ВСЕГО 71 миллисекунду!

Также в начале работы осуществляется проверка корректности введенного объема для отложенных ордеров:

//+------------------------------------------------------------------+
//| 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;
     }
//---
Pending orders UP Pending orders UP

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

Expert Expert

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

MA Zigzag Trend MA Zigzag Trend

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

RSI Trend Indicator RSI Trend Indicator

Простой индикатор тренда на основе изменений RSI.