Открывать сразу несколько ордеров

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000
Суть такая, может кто создать сможет или скажет где скачать

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

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

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

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

Forex-club7

Новичок
Регистрация
26.07.2010
Сообщения
4,045
Реакции
605
Поинты
0.000
Суть такая, может кто создать сможет или скажет где скачать

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

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

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

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

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
заказал бы уже
Держите. Я сегодня добрый. Набросал код скрипта за десяток минут. Если заработаете, то найдете меня и отблагодарите :rolleyes:
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 ( i < orders )    {     
           RefreshRates();
           ticket = OrderSend (Symbol(), OP_BUY, lot, NormalizeDouble(Ask, Digits), slip, 0, 0, "", magic, 0, clrBlue);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl*Point, Digits), NormalizeDouble(OrderOpenPrice()+tp*Point, Digits), 0, clrBlue);
              }
           }
           i++;
       }
    }
    i = 0;
    if ( sell )  {
       while ( i < orders )    {     
           RefreshRates();
           ticket = OrderSend (Symbol(), OP_SELL, lot, NormalizeDouble(Bid, Digits), slip, 0, 0, "", magic, 0, clrRed);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl*Point, Digits), NormalizeDouble(OrderOpenPrice()-tp*Point, Digits), 0, clrRed);
              }
           }
           i++;
       }
    }
}
Не забудьте разрешить автоторговлю в терминале. Можно работать как в одном из направлений buy или sell, так и в двух одновременно, т.е. в противоположных. Скрипт просто "бросаете" на нужный график, устанавливаете параметры (их описание я указал в коде) и нажимаете "OK". Удачи, трейдер. :wink2:
и что бы в определенных ордерах стоп подтягивался, если возможно ?
А вот для этого уже не скрипт нужен, а программа-советник, которую именуют "трал, тральщик и т.п.". В сети их много в свободном доступе. Скачиваете, устанавливаете на график, в параметрах тральщика указываете magic ордеров, открытых скриптом, и он их будет тралить. Тральщиков бывает много: простой с заданным шагом, по фракталам и по индикаторам, например, ATR. Выбирайте, как говорится, на вкус.
 

Вложения

  • openorders_for_mmgp.zip
    899 байт · Просмотры: 7,185
Последнее редактирование:

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000
Вот это конечно спасибо, а вот если бы еще была возможность на каждый ордер выставлять разные теик и сел стом, возможно такое ?

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

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

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

флаг разрешающий/запрещающий продажи
 
Последнее редактирование:
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
а вот если бы еще была возможность на каждый ордер выставлять разные теик и сел стом, возможно такое ?
Возможно. Просто в коде объявляем массив тейк профитов и стоп лоссов и для 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 ( i < orders )    {     
       RefreshRates();
           ticket = OrderSend (Symbol(), OP_BUY, lot, NormalizeDouble(Ask, Digits), slip, 0, 0, "", magic, 0, clrBlue);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl[i]*Point, Digits), NormalizeDouble(OrderOpenPrice()+tp[i]*Point, Digits), 0, clrBlue);
              }
           }
           i++;
       }
    }
    i = 0;
    if ( sell )  {
       while ( i < orders )    {     
       RefreshRates();
           ticket = OrderSend (Symbol(), OP_SELL, lot, NormalizeDouble(Bid, Digits), slip, 0, 0, "", magic, 0, clrRed);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl[i]*Point, Digits), NormalizeDouble(OrderOpenPrice()-tp[i]*Point, Digits), 0, clrRed);
              }
           }
           i++;
       }
    }
}

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

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

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

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000
Может понял, может нет. Мне надо было чтоб в каком направлении я нажал открыть ордера чтоб в том направлении открыл с такими настроиками которые я вписал заранее. Вот и все) вроде не чего нет сложного. Вы не так меня поняли ?
 
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
Вы не так меня поняли ?
Именно это скрипт и делает. Открывает серию ордеров по рынку (практически по одной цене).
Просто я подумал, что Вы подразумеваете отложенные ордера с разными параметрами, которые бы активизировались по мере движения цены.
Но если все так, как Вы пишите, то скрипт самое оно. :)
 

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000
Именно это скрипт и делает. Открывает серию ордеров по рынку (практически по одной цене).
Просто я подумал, что Вы подразумеваете отложенные ордера с разными параметрами, которые бы активизировались по мере движения цены.
Но если все так, как Вы пишите, то скрипт самое оно. :)

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

добавлено через 4 минуты
и когда сразу в селл и бай открываешь, открывает только в бай, теик и стоп проставился только на 4 ордере.
 
Последнее редактирование:
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
Добавил, но в лонг открывает, когда 3 ордера иногда 4, стопы один раз проставил и то только на 1 ордере, посл. В шорт открываться вообще не хочет (

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

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

Вложения

  • forum1.png
    forum1.png
    21.4 KB · Просмотры: 2,251
Последнее редактирование:

lightsentinel

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

Все работает, стопы рядом очень были, из-за этого не ставил.

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

И вопрос, на последок, как увеличивать или уменьшить кол-во ордеров, и ставить разный к примеру лот на разных ордерах, возможно?
 
Последнее редактирование:
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
стопы рядом очень были
Оно таки :) :
И параметры дайте. Может, Вы слишком близко параметры указываете, а брокер ограничения накладывает.

ставить разный к примеру лот на разных ордерах, возможно?
Легко. По аналогии с массивами профитов и лосей:
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.01, 0.01, 0.01, 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 ( i < orders )    {     
       RefreshRates();
           ticket = OrderSend (Symbol(), OP_BUY, lot[i], NormalizeDouble(Ask, Digits), slip, 0, 0, "", magic, 0, clrBlue);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl[i]*Point, Digits), NormalizeDouble(OrderOpenPrice()+tp[i]*Point, Digits), 0, clrBlue);
              }
           }
           i++;
       }
    }
    i = 0;
    if ( sell )  {
       while ( i < orders )    {     
       RefreshRates();
           ticket = OrderSend (Symbol(), OP_SELL, lot[i], NormalizeDouble(Bid, Digits), slip, 0, 0, "", magic, 0, clrRed);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl[i]*Point, Digits), NormalizeDouble(OrderOpenPrice()-tp[i]*Point, Digits), 0, clrRed);
              }
           }
           i++;
       }
    }
}

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

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000
Оно таки :) :



Легко. По аналогии с массивами профитов и лосей:
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.01, 0.01, 0.01, 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 ( i < orders )    {     
       RefreshRates();
           ticket = OrderSend (Symbol(), OP_BUY, lot[i], NormalizeDouble(Ask, Digits), slip, 0, 0, "", magic, 0, clrBlue);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl[i]*Point, Digits), NormalizeDouble(OrderOpenPrice()+tp[i]*Point, Digits), 0, clrBlue);
              }
           }
           i++;
       }
    }
    i = 0;
    if ( sell )  {
       while ( i < orders )    {     
       RefreshRates();
           ticket = OrderSend (Symbol(), OP_SELL, lot[i], NormalizeDouble(Bid, Digits), slip, 0, 0, "", magic, 0, clrRed);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl[i]*Point, Digits), NormalizeDouble(OrderOpenPrice()-tp[i]*Point, Digits), 0, clrRed);
              }
           }
           i++;
       }
    }
}


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

Со всем разобрался, спасибо!

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

Пытался сам увеличить кол-во ордеров и ост. параметров, но с исходными данными работает, как только в когда добавляю к примеру: 5 ордеров, и соответственно добавляю по параметру. селл, стоп, и лот. по 1 добавляю. не работает :) Не существенно, а так на будущие хотел узнать, т.к. пока 4 ордера хватает.
 
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
Не так, значит, добавляете.
Вот так надо:
4 ордера:
PHP:
input int      orders = 4;
double         lot[] = {0.01, 0.01, 0.01, 0.01};
int            tp[] = {100, 150, 200, 250};
int            sl[] = {100, 150, 200, 250};
5 ордеров:
PHP:
input int      orders = 5;
double         lot[] = {0.01, 0.01, 0.01, 0.01, 0.01};
int            tp[] = {100, 150, 200, 250, 300};
int            sl[] = {100, 150, 200, 250, 300};
6 ордеров:
PHP:
input int      orders = 6;
double         lot[] = {0.01, 0.01, 0.01, 0.01, 0.01, 0.01};
int            tp[] = {100, 150, 200, 250, 300, 350};
int            sl[] = {100, 150, 200, 250, 300, 350};
Принцип понятен? :)
 

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000

А можно сделать так, что бы если стоп сбивает то он открывал n-кол-во сделок в обратную сторону ?)

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

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

fotini

Новичок
Регистрация
26.03.2016
Сообщения
1
Реакции
0
Поинты
0.000
Держите. Я сегодня добрый. Набросал код скрипта за десяток минут. Если заработаете, то найдете меня и отблагодарите :rolleyes:
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 ( i < orders )    {     
           RefreshRates();
           ticket = OrderSend (Symbol(), OP_BUY, lot, NormalizeDouble(Ask, Digits), slip, 0, 0, "", magic, 0, clrBlue);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl*Point, Digits), NormalizeDouble(OrderOpenPrice()+tp*Point, Digits), 0, clrBlue);
              }
           }
           i++;
       }
    }
    i = 0;
    if ( sell )  {
       while ( i < orders )    {     
           RefreshRates();
           ticket = OrderSend (Symbol(), OP_SELL, lot, NormalizeDouble(Bid, Digits), slip, 0, 0, "", magic, 0, clrRed);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl*Point, Digits), NormalizeDouble(OrderOpenPrice()-tp*Point, Digits), 0, clrRed);
              }
           }
           i++;
       }
    }
}
Не забудьте разрешить автоторговлю в терминале. Можно работать как в одном из направлений buy или sell, так и в двух одновременно, т.е. в противоположных. Скрипт просто "бросаете" на нужный график, устанавливаете параметры (их описание я указал в коде) и нажимаете "OK". Удачи, трейдер. :wink2:

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


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

добавлено через 1 минуту
Владислав ! Спасибо за такое подробное объяснение данного вопроса! И за файл,отдельное спасибо!:d-thumbup:
 
Последнее редактирование:

Mihail51

Интересующийся
Регистрация
16.04.2013
Сообщения
8
Реакции
1
Поинты
0.000
Держите. Я сегодня добрый. Набросал код скрипта за десяток минут. Если заработаете, то найдете меня и отблагодарите :rolleyes:
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 ( i < orders )    {     
           RefreshRates();
           ticket = OrderSend (Symbol(), OP_BUY, lot, NormalizeDouble(Ask, Digits), slip, 0, 0, "", magic, 0, clrBlue);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-sl*Point, Digits), NormalizeDouble(OrderOpenPrice()+tp*Point, Digits), 0, clrBlue);
              }
           }
           i++;
       }
    }
    i = 0;
    if ( sell )  {
       while ( i < orders )    {     
           RefreshRates();
           ticket = OrderSend (Symbol(), OP_SELL, lot, NormalizeDouble(Bid, Digits), slip, 0, 0, "", magic, 0, clrRed);   
           if ( ticket !=-1 ) {
              if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES) )  {
                  OrderModify (ticket, OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+sl*Point, Digits), NormalizeDouble(OrderOpenPrice()-tp*Point, Digits), 0, clrRed);
              }
           }
           i++;
       }
    }
}
Не забудьте разрешить автоторговлю в терминале. Можно работать как в одном из направлений buy или sell, так и в двух одновременно, т.е. в противоположных. Скрипт просто "бросаете" на нужный график, устанавливаете параметры (их описание я указал в коде) и нажимаете "OK". Удачи, трейдер. :wink2:

А если мне не надо, чтобы сразу ставился стоплосс и тейкпрофит? Как это сделать?
 

lightsentinel

Любитель
Регистрация
18.01.2009
Сообщения
856
Реакции
53
Поинты
0.000
Сверху Снизу