Открывать сразу несколько ордеров - Программирование на языке MQL (Meta Quotes Language) | MMGP
Пользователей
1491
на сайте
Зарегистрированных
439,199
пользователей
Создано
510,188
тем
Написано
12,812,277
сообщений
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 439,199 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение -  .
Вход через:  
Обсуждение синтаксиса, функций и процедур языка MQL. Обмен опытом, своими фрагментами кода. Оптимизация кода. Предложения и заказы на разработку советников.
Важная информация
Есть опыт работы с криптовалютами? Заведи Крипто-Блог и заработай на нём!
Торгуешь криптовалютой? Оставь свой отзыв о бирже!
Уважаемый гость, Новогодняя поздравительная эстафета уже стартовала, успей поздравить форумчан с наступающими праздниками подробнее...
Разбираешься в криптовалюте? Прими участие в акции Крипторайтер 2.0 (2-10 поинтов за 1000 символов)
Изменения в акции "Оплата за сообщения".
Как на одной публикации заработать $100
Ответить
 
Первый пост Опции темы
Сообщения прочитаны и/или просмотрены Сегодня, 04:08
Старый 22.03.2015, 20:07
#1
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Открывать сразу несколько ордеров

Суть такая, может кто создать сможет или скажет где скачать

Надо чтоб одним кликом открывалось 4-5 ордеров либо в баи либо в сел, пока только в 1 сторону интересует.

Можно конечно с возможностью и в разные стороны 4-5 в одну сторону и в другую.

Чтоб заранее мог выстовить сел стопы и тек профиты.

добавлено через 4 часа 46 минут
и что бы в определенных ордерах стоп подтягивался, если возможно ?
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter

Последний раз редактировалось lightsentinel; 23.03.2015 в 00:54. Причина: Добавлено сообщение
lightsentinel вне форума  
Старый 23.03.2015, 22:05
#2
Заблокированный
 
Пол: Мужской
Регистрация: 26.07.2010
Сообщений: 4,055
Благодарностей: 613
УГ: 0
КП: 0.000
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
Суть такая, может кто создать сможет или скажет где скачать

Надо чтоб одним кликом открывалось 4-5 ордеров либо в баи либо в сел, пока только в 1 сторону интересует.

Можно конечно с возможностью и в разные стороны 4-5 в одну сторону и в другую.

Чтоб заранее мог выстовить сел стопы и тек профиты.

добавлено через 4 часа 46 минут
и что бы в определенных ордерах стоп подтягивался, если возможно ?
А заказать программеру написать скрипт или советник нельзя?
Баннер: {{ slide.title }}
Forex-club7 вне форума  
Старый 23.03.2015, 22:11
#3
Любитель
 
Имя: Владислав
Пол: Мужской
Адрес: Москва
Инвестирую в: Форекс
Регистрация: 02.04.2014
Сообщений: 118
Благодарностей: 12
УГ: 0
КП: 0.022
Re: Открывать сразу несколько ордеров

Написать такой советник не составит труда любому, кто владеет MQL4.
Vladislav86 вне форума  
Старый 24.03.2015, 00:22
#4
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Forex-club7 Посмотреть сообщение
А заказать программеру написать скрипт или советник нельзя?
Если был бы в знакомых програмер владеющий MQL4, заказал бы уже)
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter
lightsentinel вне форума  
Старый 25.03.2015, 13:58
#5
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 41
Адрес: Россия
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,212
Благодарностей: 1,897
УГ: 0
КП: 0.565
награды Волшебный горшочек 
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
заказал бы уже
Держите. Я сегодня добрый. Набросал код скрипта за десяток минут. Если заработаете, то найдете меня и отблагодарите
PHP код:
//+------------------------------------------------------------------+
//|                                          openorders_for_mmgp.mq4 |
//+------------------------------------------------------------------+
#property copyright "Влад Сергеев для mmgp"
#property version   "1.00"
#property strict
#property script_show_inputs

input int      orders 4;      //всего ордеров в серии
input bool     buy true;      //флаг разрешающий/запрещающий покупки
input bool     sell false;    //флаг разрешающий/запрещающий продажи
input int      magic 100500;  //уникальный номер для ордеров, открываемых этим скриптом
input double   lot 0.01;      //объем каждого ордера серии
input int      tp 100;        //тейк профит, в пунктах
input int      sl 100;        //стоп лосс, в пунктах
input int      slip 2;        //допустимое проскальзывание на открытии, в пунктах (для ECN, где открытие по рынку - игнор)

void OnStart()
{
    
int i 0;
    
int ticket 0;
    if ( 
buy )   {
       while ( 
orders )    {     
           
RefreshRates();
           
ticket OrderSend (Symbol(), OP_BUYlotNormalizeDouble(AskDigits), slip00""magic0clrBlue);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl*PointDigits), NormalizeDouble(OrderOpenPrice()+tp*PointDigits), 0clrBlue);
              }
           }
           
i++;
       }
    }
    
0;
    if ( 
sell )  {
       while ( 
orders )    {     
           
RefreshRates();
           
ticket OrderSend (Symbol(), OP_SELLlotNormalizeDouble(BidDigits), slip00""magic0clrRed);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl*PointDigits), NormalizeDouble(OrderOpenPrice()-tp*PointDigits), 0clrRed);
              }
           }
           
i++;
       }
    }

Не забудьте разрешить автоторговлю в терминале. Можно работать как в одном из направлений buy или sell, так и в двух одновременно, т.е. в противоположных. Скрипт просто "бросаете" на нужный график, устанавливаете параметры (их описание я указал в коде) и нажимаете "OK". Удачи, трейдер.
Цитата:
Сообщение от lightsentinel Посмотреть сообщение
и что бы в определенных ордерах стоп подтягивался, если возможно ?
А вот для этого уже не скрипт нужен, а программа-советник, которую именуют "трал, тральщик и т.п.". В сети их много в свободном доступе. Скачиваете, устанавливаете на график, в параметрах тральщика указываете magic ордеров, открытых скриптом, и он их будет тралить. Тральщиков бывает много: простой с заданным шагом, по фракталам и по индикаторам, например, ATR. Выбирайте, как говорится, на вкус.
Вложения
Тип файла: zip openorders_for_mmgp.zip (899 байт, 7005 просмотров)

Последний раз редактировалось Владислав Сергеев; 25.03.2015 в 14:11.
Владислав Сергеев вне форума  
Сказали спасибо:
lightsentinel (26.03.2015)
Старый 26.03.2015, 22:59
#6
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Вот это конечно спасибо, а вот если бы еще была возможность на каждый ордер выставлять разные теик и сел стом, возможно такое ?

После того как на график кидаем скрипт, сделка открывается сама или при нажатии? еще не ставил, собираюсь поставить.

А в тральщике есть возможность чтоб от потягивал стоп только у одного ордера ?

добавлено через 23 минуты
и вот этот п. не понял

флаг разрешающий/запрещающий продажи
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter

Последний раз редактировалось lightsentinel; 26.03.2015 в 23:22. Причина: Добавлено сообщение
lightsentinel вне форума  
Старый 26.03.2015, 23:55
#7
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 41
Адрес: Россия
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,212
Благодарностей: 1,897
УГ: 0
КП: 0.565
награды Волшебный горшочек 
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
а вот если бы еще была возможность на каждый ордер выставлять разные теик и сел стом, возможно такое ?
Возможно. Просто в коде объявляем массив тейк профитов и стоп лоссов и для i-той позиции берем тейк и стоп из соответствующего массива.
В коде комментарии, разбирайтесь:
PHP код:
//+------------------------------------------------------------------+
//|                                           openorder_for_mmgp.mq4 |
//+------------------------------------------------------------------+
#property copyright "Влад Сергеев для mmgp"
#property version   "2.00"
#property strict
#property script_show_inputs

input int      orders 4;          //всего ордеров в серии
input bool     buy true;          //флаг разрешающий/запрещающий покупки
input bool     sell false;        //флаг разрешающий/запрещающий продажи
input int      magic 100500;      //уникальный номер для ордеров, открываемых этим скриптом
input double   lot 0.01;          //объем каждого ордера серии
int            tp[] = {100,150,200,250};  //массив тейк профитов, в пунктах  
int            sl[] = {100,150,200,250};  //массив стоп лоссов, в пунктах
input int      slip 2;            //допустимое проскальзывание на открытии, в пунктах (для ECN, где открытие по рынку - игнор)

void OnStart()
{
    
int i 0;
    
int ticket 0;
    if ( 
buy )   {
       while ( 
orders )    {     
       
RefreshRates();
           
ticket OrderSend (Symbol(), OP_BUYlotNormalizeDouble(AskDigits), slip00""magic0clrBlue);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl[i]*PointDigits), NormalizeDouble(OrderOpenPrice()+tp[i]*PointDigits), 0clrBlue);
              }
           }
           
i++;
       }
    }
    
0;
    if ( 
sell )  {
       while ( 
orders )    {     
       
RefreshRates();
           
ticket OrderSend (Symbol(), OP_SELLlotNormalizeDouble(BidDigits), slip00""magic0clrRed);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl[i]*PointDigits), NormalizeDouble(OrderOpenPrice()-tp[i]*PointDigits), 0clrRed);
              }
           }
           
i++;
       }
    }

добавлено через 7 минут
Цитата:
Сообщение от lightsentinel Посмотреть сообщение
После того как на график кидаем скрипт, сделка открывается сама или при нажатии?
Открывается окно с параметрами скрипта. Если ничего не менять, то просто жмем "ОК". Сделки начнут открываться. Если надо изменить, то меняем и жмем "ОК". В варианте с массивами ТП и СЛ параметры массивов уже придется менять в коде, т.к. изменение параметров массивов через интерфейс параметров не поддерживается в МТ4.

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
А в тральщике есть возможность чтоб от потягивал стоп только у одного ордера ?
Это все зависит от того, какой Вы тральщик себе в сети подберете.

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
флаг разрешающий/запрещающий продажи
Что тут не понятного. Две флаговых переменных buy и sell. Одна разрешает/запрещает покупки, а другая продажи.
И бесплатный совет. Если не понимаете смысла MQL4 программ, то не пытайтесь зарабатывать с помощью скриптов и советников. Иначе дров наломаете. Я даже уверен, что Вы не совсем поняли, как скрипт работает. И уверен, что Вы неправильно сформулировали первоначальное задание

Последний раз редактировалось Владислав Сергеев; 27.03.2015 в 00:19. Причина: Добавлено сообщение
Владислав Сергеев вне форума  
Сказали спасибо:
lightsentinel (27.03.2015)
Старый 27.03.2015, 00:18
#8
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Может понял, может нет. Мне надо было чтоб в каком направлении я нажал открыть ордера чтоб в том направлении открыл с такими настроиками которые я вписал заранее. Вот и все) вроде не чего нет сложного. Вы не так меня поняли ?
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter
lightsentinel вне форума  
Сказали спасибо:
Старый 27.03.2015, 00:22
#9
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 41
Адрес: Россия
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,212
Благодарностей: 1,897
УГ: 0
КП: 0.565
награды Волшебный горшочек 
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
Вы не так меня поняли ?
Именно это скрипт и делает. Открывает серию ордеров по рынку (практически по одной цене).
Просто я подумал, что Вы подразумеваете отложенные ордера с разными параметрами, которые бы активизировались по мере движения цены.
Но если все так, как Вы пишите, то скрипт самое оно.
Владислав Сергеев вне форума  
Сказали спасибо:
lightsentinel (27.03.2015)
Старый 27.03.2015, 00:57
#10
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Владислав Сергеев Посмотреть сообщение
Именно это скрипт и делает. Открывает серию ордеров по рынку (практически по одной цене).
Просто я подумал, что Вы подразумеваете отложенные ордера с разными параметрами, которые бы активизировались по мере движения цены.
Но если все так, как Вы пишите, то скрипт самое оно.
Добавил, но в лонг открывает, когда 3 ордера иногда 4, стопы один раз проставил и то только на 1 ордере, посл. В шорт открываться вообще не хочет (

добавлено через 4 минуты
и когда сразу в селл и бай открываешь, открывает только в бай, теик и стоп проставился только на 4 ордере.
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter

Последний раз редактировалось lightsentinel; 27.03.2015 в 01:01. Причина: Добавлено сообщение
lightsentinel вне форума  
Старый 27.03.2015, 01:08
#11
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 41
Адрес: Россия
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,212
Благодарностей: 1,897
УГ: 0
КП: 0.565
награды Волшебный горшочек 
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
Добавил, но в лонг открывает, когда 3 ордера иногда 4, стопы один раз проставил и то только на 1 ордере, посл. В шорт открываться вообще не хочет (

добавлено через 4 минуты
и когда сразу в селл и бай открываешь, открывает только в бай, теик и стоп проставился только на 4 ордере.
Журнал надо читать (вкладка "Журнал", вкладка "Эксперты"). Чтобы в шорт открывался надо параметры настроить. buy=false sell=true. Говорю же, дров наломаете.
Что хоть за брокер? Я бы у себя посмотрел. И параметры дайте. Может, Вы слишком близко параметры указываете, а брокер ограничения накладывает. Может, торговый поток занят, а скрипт это не проверяет и т.д. и т.п. У меня работает.

И тип счета-то какой? Маркет или инстант? Возможно, инстант и реквотит поэтому. А проверки на реквоты в скрипте нет. Он для маркета идеален. А для инстанта надо проверки дополнительные вводить.

Последний раз редактировалось Владислав Сергеев; 27.03.2015 в 01:27.
Владислав Сергеев вне форума  
Сказали спасибо:
lightsentinel (27.03.2015)
Старый 27.03.2015, 01:26
#12
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Владислав Сергеев Посмотреть сообщение
Журнал надо читать (вкладка "Журнал", вкладка "Эксперты"). Чтобы в шорт открывался надо параметры настроить. buy=false sell=true. Говорю же, дров наломаете.
Что хоть за брокер? Я бы у себя посмотрел. У меня работает.
Все работает, стопы рядом очень были, из-за этого не ставил.

А работает все хорошо, большое спасибо.

И вопрос, на последок, как увеличивать или уменьшить кол-во ордеров, и ставить разный к примеру лот на разных ордерах, возможно?
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter

Последний раз редактировалось lightsentinel; 27.03.2015 в 01:30.
lightsentinel вне форума  
Старый 27.03.2015, 01:35
#13
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 41
Адрес: Россия
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,212
Благодарностей: 1,897
УГ: 0
КП: 0.565
награды Волшебный горшочек 
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
стопы рядом очень были
Оно таки :
Цитата:
Сообщение от Владислав Сергеев Посмотреть сообщение
И параметры дайте. Может, Вы слишком близко параметры указываете, а брокер ограничения накладывает.
Цитата:
Сообщение от lightsentinel Посмотреть сообщение
ставить разный к примеру лот на разных ордерах, возможно?
Легко. По аналогии с массивами профитов и лосей:
PHP код:
//+------------------------------------------------------------------+
//|                                           openorder_for_mmgp.mq4 |
//+------------------------------------------------------------------+
#property copyright "Влад Сергеев для mmgp"
#property version   "3.00"
#property strict
#property script_show_inputs

input int      orders 4;          //всего ордеров в серии
input bool     buy true;          //флаг разрешающий/запрещающий покупки
input bool     sell false;        //флаг разрешающий/запрещающий продажи
input int      magic 100500;      //уникальный номер для ордеров, открываемых этим скриптом
double         lot[] = {0.010.010.010.01};  //массив объемов ордеров серии
int            tp[] = {100,150,200,250};  //массив тейк профитов, в пунктах  
int            sl[] = {100,150,200,250};  //массив стоп лоссов, в пунктах
input int      slip 2;            //допустимое проскальзывание на открытии, в пунктах (для ECN, где открытие по рынку - игнор)

void OnStart()
{
    
int i 0;
    
int ticket 0;
    if ( 
buy )   {
       while ( 
orders )    {     
       
RefreshRates();
           
ticket OrderSend (Symbol(), OP_BUYlot[i], NormalizeDouble(AskDigits), slip00""magic0clrBlue);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl[i]*PointDigits), NormalizeDouble(OrderOpenPrice()+tp[i]*PointDigits), 0clrBlue);
              }
           }
           
i++;
       }
    }
    
0;
    if ( 
sell )  {
       while ( 
orders )    {     
       
RefreshRates();
           
ticket OrderSend (Symbol(), OP_SELLlot[i], NormalizeDouble(BidDigits), slip00""magic0clrRed);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl[i]*PointDigits), NormalizeDouble(OrderOpenPrice()-tp[i]*PointDigits), 0clrRed);
              }
           }
           
i++;
       }
    }

Цитата:
Сообщение от lightsentinel Посмотреть сообщение
как увеличивать кол-во ордеров
в скрипте есть переменная orders она и определяет число ордеров в серии. Соответственно, размерность массивов lot, tp и sl должна быть не меньше числа orders (больше можно, меньше - нет).
Для счетов с исполнением инстант, чтобы не реквотило есть такая переменная в скрипте slip, которая определяет допустимое проскальзывание. Естественно, на маркет-счетах параметр игнорируется.

Последний раз редактировалось Владислав Сергеев; 27.03.2015 в 01:44.
Владислав Сергеев вне форума  
Сказали спасибо:
lightsentinel (27.03.2015)
Старый 27.03.2015, 01:57
#14
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Владислав Сергеев Посмотреть сообщение
Оно таки :



Легко. По аналогии с массивами профитов и лосей:
PHP код:
//+------------------------------------------------------------------+
//|                                           openorder_for_mmgp.mq4 |
//+------------------------------------------------------------------+
#property copyright "Влад Сергеев для mmgp"
#property version   "3.00"
#property strict
#property script_show_inputs

input int      orders 4;          //всего ордеров в серии
input bool     buy true;          //флаг разрешающий/запрещающий покупки
input bool     sell false;        //флаг разрешающий/запрещающий продажи
input int      magic 100500;      //уникальный номер для ордеров, открываемых этим скриптом
double         lot[] = {0.010.010.010.01};  //массив объемов ордеров серии
int            tp[] = {100,150,200,250};  //массив тейк профитов, в пунктах  
int            sl[] = {100,150,200,250};  //массив стоп лоссов, в пунктах
input int      slip 2;            //допустимое проскальзывание на открытии, в пунктах (для ECN, где открытие по рынку - игнор)

void OnStart()
{
    
int i 0;
    
int ticket 0;
    if ( 
buy )   {
       while ( 
orders )    {     
       
RefreshRates();
           
ticket OrderSend (Symbol(), OP_BUYlot[i], NormalizeDouble(AskDigits), slip00""magic0clrBlue);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl[i]*PointDigits), NormalizeDouble(OrderOpenPrice()+tp[i]*PointDigits), 0clrBlue);
              }
           }
           
i++;
       }
    }
    
0;
    if ( 
sell )  {
       while ( 
orders )    {     
       
RefreshRates();
           
ticket OrderSend (Symbol(), OP_SELLlot[i], NormalizeDouble(BidDigits), slip00""magic0clrRed);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl[i]*PointDigits), NormalizeDouble(OrderOpenPrice()-tp[i]*PointDigits), 0clrRed);
              }
           }
           
i++;
       }
    }


в скрипте есть переменная orders она и определяет число ордеров в серии. Соответственно, размерность массивов lot, tp и sl должна быть не меньше числа orders (больше можно, меньше - нет).
Для счетов с исполнением инстант, чтобы не реквотило есть такая переменная в скрипте slip, которая определяет допустимое проскальзывание. Естественно, на маркет-счетах параметр игнорируется.
Со всем разобрался, спасибо!

Все работает хорошо)

Пытался сам увеличить кол-во ордеров и ост. параметров, но с исходными данными работает, как только в когда добавляю к примеру: 5 ордеров, и соответственно добавляю по параметру. селл, стоп, и лот. по 1 добавляю. не работает Не существенно, а так на будущие хотел узнать, т.к. пока 4 ордера хватает.
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter
lightsentinel вне форума  
Старый 27.03.2015, 02:06
#15
Мастер
 
Имя: Влад
Пол: Мужской
Возраст: 41
Адрес: Россия
Инвестирую в: Свой бизнес
Регистрация: 10.04.2011
Сообщений: 2,212
Благодарностей: 1,897
УГ: 0
КП: 0.565
награды Волшебный горшочек 
Re: Открывать сразу несколько ордеров

Не так, значит, добавляете.
Вот так надо:
4 ордера:
PHP код:
input int      orders 4;
double         lot[] = {0.010.010.010.01};
int            tp[] = {100150200250};
int            sl[] = {100150200250}; 
5 ордеров:
PHP код:
input int      orders 5;
double         lot[] = {0.010.010.010.010.01};
int            tp[] = {100150200250300};
int            sl[] = {100150200250300}; 
6 ордеров:
PHP код:
input int      orders 6;
double         lot[] = {0.010.010.010.010.010.01};
int            tp[] = {100150200250300350};
int            sl[] = {100150200250300350}; 
Принцип понятен?
Владислав Сергеев вне форума  
Сказали спасибо:
lightsentinel (27.03.2015)
Старый 27.03.2015, 02:08
#16
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Так и делал. Еще раз попробую. И еще раз спасибо
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter
lightsentinel вне форума  
Старый 16.09.2015, 15:13
#17
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Владислав Сергеев Посмотреть сообщение
...
А можно сделать так, что бы если стоп сбивает то он открывал n-кол-во сделок в обратную сторону ?)

добавлено через 1 минуту
Или это отсроченные будут открываться?

Или что бы отложенные так же по схожей схеме за стопами выставлял в обратную сторону?
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter

Последний раз редактировалось lightsentinel; 16.09.2015 в 15:21. Причина: Добавлено сообщение
lightsentinel вне форума  
Старый 26.03.2016, 15:42
#18
 
Пол: Женский
Инвестирую в: Другое
Регистрация: 26.03.2016
Сообщений: 1
Благодарностей: 0
УГ: 0
КП: 0.000
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Владислав Сергеев Посмотреть сообщение
Держите. Я сегодня добрый. Набросал код скрипта за десяток минут. Если заработаете, то найдете меня и отблагодарите
PHP код:
//+------------------------------------------------------------------+
//|                                          openorders_for_mmgp.mq4 |
//+------------------------------------------------------------------+
#property copyright "Влад Сергеев для mmgp"
#property version   "1.00"
#property strict
#property script_show_inputs

input int      orders 4;      //всего ордеров в серии
input bool     buy true;      //флаг разрешающий/запрещающий покупки
input bool     sell false;    //флаг разрешающий/запрещающий продажи
input int      magic 100500;  //уникальный номер для ордеров, открываемых этим скриптом
input double   lot 0.01;      //объем каждого ордера серии
input int      tp 100;        //тейк профит, в пунктах
input int      sl 100;        //стоп лосс, в пунктах
input int      slip 2;        //допустимое проскальзывание на открытии, в пунктах (для ECN, где открытие по рынку - игнор)

void OnStart()
{
    
int i 0;
    
int ticket 0;
    if ( 
buy )   {
       while ( 
orders )    {     
           
RefreshRates();
           
ticket OrderSend (Symbol(), OP_BUYlotNormalizeDouble(AskDigits), slip00""magic0clrBlue);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl*PointDigits), NormalizeDouble(OrderOpenPrice()+tp*PointDigits), 0clrBlue);
              }
           }
           
i++;
       }
    }
    
0;
    if ( 
sell )  {
       while ( 
orders )    {     
           
RefreshRates();
           
ticket OrderSend (Symbol(), OP_SELLlotNormalizeDouble(BidDigits), slip00""magic0clrRed);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl*PointDigits), NormalizeDouble(OrderOpenPrice()-tp*PointDigits), 0clrRed);
              }
           }
           
i++;
       }
    }

Не забудьте разрешить автоторговлю в терминале. Можно работать как в одном из направлений buy или sell, так и в двух одновременно, т.е. в противоположных. Скрипт просто "бросаете" на нужный график, устанавливаете параметры (их описание я указал в коде) и нажимаете "OK". Удачи, трейдер.

А вот для этого уже не скрипт нужен, а программа-советник, которую именуют "трал, тральщик и т.п.". В сети их много в свободном доступе. Скачиваете, устанавливаете на график, в параметрах тральщика указываете magic ордеров, открытых скриптом, и он их будет тралить. Тральщиков бывает много: простой с заданным шагом, по фракталам и по индикаторам, например, ATR. Выбирайте, как говорится, на вкус.

Спасибо!!! Огромное спасибо! Вы написали всё ясно и понятно! Спасибо!

добавлено через 1 минуту
Владислав ! Спасибо за такое подробное объяснение данного вопроса! И за файл,отдельное спасибо!
Баннер: {{ slide.title }}

Последний раз редактировалось fotini; 26.03.2016 в 15:43. Причина: Добавлено сообщение
fotini вне форума  
Старый 07.07.2016, 01:35
#19
Интересующийся
 
Пол: Мужской
Регистрация: 17.04.2013
Сообщений: 8
Поблагодарили: 1 раз
УГ: 0
КП: 0.000
Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Владислав Сергеев Посмотреть сообщение
Держите. Я сегодня добрый. Набросал код скрипта за десяток минут. Если заработаете, то найдете меня и отблагодарите
PHP код:
//+------------------------------------------------------------------+
//|                                          openorders_for_mmgp.mq4 |
//+------------------------------------------------------------------+
#property copyright "Влад Сергеев для mmgp"
#property version   "1.00"
#property strict
#property script_show_inputs

input int      orders 4;      //всего ордеров в серии
input bool     buy true;      //флаг разрешающий/запрещающий покупки
input bool     sell false;    //флаг разрешающий/запрещающий продажи
input int      magic 100500;  //уникальный номер для ордеров, открываемых этим скриптом
input double   lot 0.01;      //объем каждого ордера серии
input int      tp 100;        //тейк профит, в пунктах
input int      sl 100;        //стоп лосс, в пунктах
input int      slip 2;        //допустимое проскальзывание на открытии, в пунктах (для ECN, где открытие по рынку - игнор)

void OnStart()
{
    
int i 0;
    
int ticket 0;
    if ( 
buy )   {
       while ( 
orders )    {     
           
RefreshRates();
           
ticket OrderSend (Symbol(), OP_BUYlotNormalizeDouble(AskDigits), slip00""magic0clrBlue);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl*PointDigits), NormalizeDouble(OrderOpenPrice()+tp*PointDigits), 0clrBlue);
              }
           }
           
i++;
       }
    }
    
0;
    if ( 
sell )  {
       while ( 
orders )    {     
           
RefreshRates();
           
ticket OrderSend (Symbol(), OP_SELLlotNormalizeDouble(BidDigits), slip00""magic0clrRed);   
           if ( 
ticket !=-) {
              if ( 
OrderSelect (ticketSELECT_BY_TICKETMODE_TRADES) )  {
                  
OrderModify (ticketOrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl*PointDigits), NormalizeDouble(OrderOpenPrice()-tp*PointDigits), 0clrRed);
              }
           }
           
i++;
       }
    }

Не забудьте разрешить автоторговлю в терминале. Можно работать как в одном из направлений buy или sell, так и в двух одновременно, т.е. в противоположных. Скрипт просто "бросаете" на нужный график, устанавливаете параметры (их описание я указал в коде) и нажимаете "OK". Удачи, трейдер.
А если мне не надо, чтобы сразу ставился стоплосс и тейкпрофит? Как это сделать?
Mihail51 вне форума  
Старый 07.07.2016, 15:51
#20
Любитель
 
Пол: Мужской
Адрес: Беларусь
Инвестирую в: Свой бизнес
Регистрация: 18.01.2009
Сообщений: 799
Благодарностей: 67
УГ: 0
КП: 0.028
Автор темы Re: Открывать сразу несколько ордеров

Цитата:
Сообщение от Mihail51 Посмотреть сообщение
А если мне не надо, чтобы сразу ставился стоплосс и тейкпрофит? Как это сделать?
Там вроде все в настройках есть!
__________________

Лучшая биржа: Регистрация! - Для покупки криптовалюты! Binance!
Мой: twitter
lightsentinel вне форума  
Ответить
Войдите, чтобы оставить комментарий.
Сообщения прочитаны и/или просмотрены Сегодня, 04:08
Опции темы

Быстрый переход
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Торговые Сигналы, Управление Активами, Открытие Ордеров koolpay Торговые сигналы 3 18.11.2014 15:16
Некорректное исполнение ордеров у брокера biznesman85 Общие вопросы работы Брокеров 13 06.11.2014 17:14
Открытие ордеров на закрытии рынка KeeperPro Торговые стратегии 12 13.01.2013 14:50
Открытие и отмена отложенных ордеров mpak59rus Программирование на языке MQL (Meta Quotes Language) 3 12.05.2011 16:02
Копирование ордеров Almazik Программное обеспечение 12 20.10.2008 13:31


Случайные темы
Аватара нет
ПАММ-счет ubunt: 2840 (Privatefx.com)
От Serbinito в разделе «Архив: Инвестирование в ПАММ-счета»
Аватара нет
Помогите исправить советник Lock Razrul
От cashyra в разделе «Программирование на языке MQL (Meta Quotes Language)»
Аватар clipman77
Тенденции в майнинге эфириум
От clipman77 в разделе «Ethereum»
Аватар Rauanhan
Кабанчик+папа+дед
От Rauanhan в разделе «Прогнозы от пользователей»
Аватар xag197911
Prosperity-invest.com возврат 4 % от прибыли или Страховка
От xag197911 в разделе «Архив: Реферальные и страховые предложения»
.     
Пользователей
439,199
Тем
510,188
Сообщений
12,812,277

mmgp.telegram