Скрипты: Pending orders UP

 

Pending orders UP:

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


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

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

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

m_trade.SetAsyncMode(true);

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

2017.08.28 08:50:22.246 Scripts script Pending orders UP (AUDCAD,Daily) loaded successfully
2017.08.28 08:50:24.095 Trades  '6121033': buy stop 0.01 AUDCAD at 0.99262 sl: 0.99011 tp: 0.99462
2017.08.28 08:50:24.095 Trades  '6121033': buy stop 0.01 AUDCAD at 0.99412 sl: 0.99161 tp: 0.99612
2017.08.28 08:50:24.095 Trades  '6121033': buy stop 0.01 AUDCAD at 0.99562 sl: 0.99311 tp: 0.99762
2017.08.28 08:50:24.096 Trades  '6121033': buy stop 0.01 AUDCAD at 0.99712 sl: 0.99461 tp: 0.99912
2017.08.28 08:50:24.096 Trades  '6121033': buy stop 0.01 AUDCAD at 0.99862 sl: 0.99611 tp: 1.00062
2017.08.28 08:50:24.097 Scripts script Pending orders UP (AUDCAD,Daily) removed

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

Автор: Vladimir Karputov

 
Automated-Trading:

Pending orders UP:

Автор: Vladimir Karputov

Здравствуйте.

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

Вот только вызывает непонятки такой момент, в описании скрипта параметр настройки:Gap for pending orders UP from the current price (in pips) -должен делать  отступ от текущей цены для первого отложенного ордера,

на деле же происходи, что этот параметр отвечает за шаг между ордерами,

а параметр который должен отвечать за шаг между ордерами Step between orders UP (in pips)  вообще ничего не меняет :-(

Что то изменилось в метатрейдере и скрипт начал работать не корректно или он изначально был так задуман? 


 
s22aa:

Здравствуйте.

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

Вот только вызывает непонятки такой момент, в описании скрипта параметр настройки:Gap for pending orders UP from the current price (in pips) -должен делать  отступ от текущей цены для первого отложенного ордера,

на деле же происходи, что этот параметр отвечает за шаг между ордерами,

а параметр который должен отвечать за шаг между ордерами Step between orders UP (in pips)  вообще ничего не меняет :-(

Что то изменилось в метатрейдере и скрипт начал работать не корректно или он изначально был так задуман? 


Действительно в коде был потерян параметр "шаг" и сетка выставлялась с шагом равным "отступ от текущей цены для первого отложенного ордера". Пока код публикуется, я выкладываю исправленную версию 1.002

Pending orders UP.mq5
version   "1.002"

Файлы:
 
Vladimir Karputov:

Действительно в коде был потерян параметр "шаг" и сетка выставлялась с шагом равным "отступ от текущей цены для первого отложенного ордера". Пока код публикуется, я выкладываю исправленную версию 1.002

Pending orders UP.mq5
version   "1.002"

Спасибо, огромное!
 

В скрипте есть ошибка, так как он не меняет объем, а только открывает 0.01 лот.

Может ли кто-нибудь помочь с этим.

 
emmysq :

В скрипте есть ошибка, так как он не изменяет объем, а только открывает 0.01 лот.

Может ли кто-нибудь помочь с этим.

Опубликована версия 1.003 (новая версия доступна только на русском форуме )

 
Опубликована версия 1.003: Теперь лот (из входных параметров) учитывается.
 
Я тестирую на демо-версии ICMarkets, которая допускает максимум 200 отложенных ордеров. При запуске этого скрипта максимальное количество отложенных ордеров, которое он выставляет, равно 60? Есть идеи, почему?
 
ericy :
Я тестирую на демо-версии ICMarkets, которая допускает максимум 200 отложенных ордеров. При запуске этого скрипта максимальное количество отложенных ордеров, которое он выставляет, равно 60? Есть идеи, почему?

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

И обратите внимание, что:

 
В журнале ошибки не было. Однако когда я поставил Sleep(500) перед m_trade, то теперь он разрешил 79 ордеров, а остальные с ошибкой [Position limit reached]. Можете ли вы протестировать с количеством 100 и увидеть то же самое.
 
ericy :
В журнале ошибки не было. Однако когда я поставил Sleep(500) перед m_trade, то теперь он разрешил 79 ордеров, а остальные с ошибкой [Position limit reached]. Можете ли вы протестировать с количеством 100 и, возможно, вы увидите то же самое.

" Позиционный лимит достигнут" - торговый сервер сообщает вам, что вы очень необдуманно бомбардируете сервер торговыми запросами. Вы пытаетесь разместить ОЧЕНЬ МНОГО отложенных ордеров. Поэтому торговый сервер бьет вас по рукам.