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 ( 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 минут
Цитата:
Сообщение от lightsentinel
После того как на график кидаем скрипт, сделка открывается сама или при нажатии?
|
Открывается окно с параметрами скрипта. Если ничего не менять, то просто жмем "ОК". Сделки начнут открываться. Если надо изменить, то меняем и жмем "ОК". В варианте с массивами ТП и СЛ параметры массивов уже придется менять в коде, т.к. изменение параметров массивов через интерфейс параметров не поддерживается в МТ4.
Цитата:
Сообщение от lightsentinel
А в тральщике есть возможность чтоб от потягивал стоп только у одного ордера ?
|
Это все зависит от того, какой Вы тральщик себе в сети подберете.
Цитата:
Сообщение от lightsentinel
флаг разрешающий/запрещающий продажи
|
Что тут не понятного. Две флаговых переменных buy и sell. Одна разрешает/запрещает покупки, а другая продажи.
И бесплатный совет. Если не понимаете смысла MQL4 программ, то не пытайтесь зарабатывать с помощью скриптов и советников. Иначе дров наломаете. Я даже уверен, что Вы не совсем поняли, как скрипт работает. И уверен, что Вы неправильно сформулировали первоначальное задание