preasto

 
Уровень 9

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 1334



РЕКОМЕНДУЮ



Скрипт открытия рыночных ордеров со стоп-ордером

Прошу написать скрипт(ы) открытия рыночных ордеров с одновременным выставлением к ним стоп-ордеров
той же лотности на заданном расстоянии против направления открытого рыночного ордера.
Для Buy и Sell ордеров — свой вариант-близнец скрипта.

Желательно наличие возможности выставлять СЛ и ТП одновременно, на своих заданных расстояниях, также.
(При отступе СЛ и ТП = 0 — не выставляется).

Желательно (опц., если технически выполнимо что-то из этого):
— снятие несработавшего стоп-ордера при закрытии рыночного к нему — по типу того, как удаляются СЛ и ТП
— удаление ТП с рыночного ордера, если стоп-ордер к нему сработает.

Можно взять за основу и доработать — добавить функцию выставления стоп-ордера, или в сравнение,
Примеры скриптов:
ByMarketBuy.mq4 (12 Kb) и ByMarketSell.mq4 (12 Kb)

Лучше этот: OpenOrderMarketExecutionTime.mq4 (6 Kb)
  • +1
  • Просмотров: 1977
  • 16 декабря 2016, 12:46
  • preasto
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Доработка тральщика со стоп-ордерами
Следующая запись в группе  
скальпинг м5 евро
16 декабря 2016
17 декабря 2016

Комментарии (10)

+
+2
avatar

  27  AM2 Сообщений: 8379 - Андрей

  • 17 декабря 2016, 07:12
+
0
Включил, опробовал как советник.
— Он может работать и как одноразовый скрипт?
(т.е. бросил на график — сработало 1 раз = мгновенно, без серого окна настроек перед этим)
(до понед. — начала торгов это не проверить)

Ну, и… сов. по-идее хорош — даже узрел некоторый потенциал.
Советник пригодится. Продумываю ТЗ на доработку (как вспомогательного и сеточника).

***
Но, в этом ТЗ я имел ввиду именно скрипт который срабатывает мгновенно, когда его бросили на график.
Точнее это 2 скрипта-близнеца:
1й открывает Бай-ордер, 2й — Селл-ордер со стоп-ордерами к каждому.
В зависимости от того, какой рыночный ордер нужен — кидаешь(подключаешь) на график соотв. скрипт — и мгновенно открывается рыночный ордер нужного направления с соответствующим стоп-ордером к нему.

Большая просьба сделать на этой основе именно пару таких разовых скриптов заточенных только под Бай или под Селл ордера каждый со стоп-ордерами к ним.
Которые срабатывают мгновенно при переносе/подключении их на график.
avatar

  9  preasto Автор Сообщений: 350

  • 17 декабря 2016, 12:53
+
+1
Сделаю 2 одноразовых после выходных.
avatar

  27  AM2 Сообщений: 8379 - Андрей

  • 17 декабря 2016, 13:16
+
+2
avatar

  27  AM2 Сообщений: 8379 - Андрей

  • 17 декабря 2016, 17:50
+
0
Благодарю, скрипты работают, но

— скрипты срабатывают только после появления серой табл. с настройками и требованием подтвердить.
Просьба сделать вариант скриптов с мгновенным срабатыванием по настройкам в коде, сразу после того, как кинул скрипт на график.
(или — что-как изменить в коде скрипта для этого?)

— скрипты не срабатывают вообще, если кидаешь на график, где уже есть какой-то советник.
Даже с разными магиками.
Просьба поправить, чтобы скрипты можно было запускать в т.ч. на графиках с другими советниками.
Редактирован: 19 декабря 2016, 15:30
avatar

  9  preasto Автор Сообщений: 350

  • 19 декабря 2016, 15:06
+
0
avatar

  27  AM2 Сообщений: 8379 - Андрей

  • 19 декабря 2016, 17:15
+
0
MarketStopBuy(1) — открывается мгновенно,
MarketStopSell(1) — через серую табличку
avatar

  9  preasto Автор Сообщений: 350

  • 19 декабря 2016, 18:11
+
+2
Поправил: 


//+------------------------------------------------------------------+
//|                                               MarketStopSell.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

extern double Lots        = 0.1;         // торговый объем
extern int    StopLoss    = 350;         // стоп лосс ордера
extern int    TakeProfit  = 90;          // тейк профит ордера
extern int    Step        = 100;         // шаг между ордерами
extern int    Slip        = 30;          // проскальзывание
extern int    Magic       = 123;         // магик
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lots,NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   PutOrder(1,Bid);
   PutOrder(4,Bid+Step*Point);
  }
//+------------------------------------------------------------------+


Редактирован: 19 декабря 2016, 20:14
avatar

  27  AM2 Сообщений: 8379 - Андрей

  • 19 декабря 2016, 18:34
+
0
Вопрос:
— как сделать (что закомментировать, изменить), каков вариант скрипта,
чтобы была настройка, когда ТП и СЛ выставляются только к рыночному ордеру, а стоп-ордер идёт без ТП и СЛ?

Также по-возможности просьба сделать такие упомянутые функции (когда скрипт висит в окне):
— снятие несработавшего стоп-ордера при закрытии рыночного к нему — по типу того, как удаляются СЛ и ТП
— удаление ТП с рыночного ордера, если стоп-ордер к нему сработает.
avatar

  9  preasto Автор Сообщений: 350

  • 29 декабря 2016, 10:24
+
0
Скрипты работают. И с ТП, СЛ, стоп-ордером и без них — просто один рыночный ордер, если так нужно.
По ходу проверю открытие ордеров скриптами с разными магиками на окнах с работающими советниками — чтобы те либо подхватывали такие ордера, либо не замечали — как потребуется.
Весьма признателен за работу.

Редактирован: 20 декабря 2016, 10:20
avatar

  9  preasto Автор Сообщений: 350

  • 20 декабря 2016, 10:18

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари