Перейти к содержимому


Фотография
- - - - -

Эмуляция режима исполнения Instant Execution на ECN-счетах


  • Please log in to reply
Сообщений в теме: 35

#21 Den2S

Den2S

    Свой

  • Пользователи
  • PipPip
  • 152 сообщений

Отправлено 10 November 2015 - 16:28

Я вообще в шоке!!! :fool:  :shok:  :shok:  :shok:

 

Верните STP !!!

 

И 500-е плечо сделайте!!!


Сообщение отредактировал Den2S: 10 November 2015 - 16:28


#22 Den2S

Den2S

    Свой

  • Пользователи
  • PipPip
  • 152 сообщений

Отправлено 10 November 2015 - 16:35

Сваливаю в Альфафорекс ....



#23 kanua

kanua

    Свой

  • Пользователи
  • PipPip
  • 372 сообщений
  • МестоположениеКиев

Отправлено 10 November 2015 - 18:48

Если сделают instant execution на ECN-счёте либо API с возможностью выставлять лимит-ордер на покупку выше текущей цены, я остаюсь.

#24 genfed

genfed

    Новичок

  • Пользователи
  • 15 сообщений

Отправлено 10 November 2015 - 21:28

Сложно ли переделать советник для работы на ECN?



#25 Igonter

Igonter

    Свой

  • Администраторы
  • 1039 сообщений

Отправлено 10 November 2015 - 23:33

Сложно ли переделать советник для работы на ECN?

Автору советника - несложно. )
Нужно сначала посылать ордер без стопов, а потом выставлять стопы в уже открытой позиции.



#26 Igonter

Igonter

    Свой

  • Администраторы
  • 1039 сообщений

Отправлено 11 November 2015 - 12:24

Пример адаптации советника к Market Execution.

Предположим, у нас есть советник, выставляющий в какой-то момент маркет-ордер со стопом и тейкпрофитом:

 

void OnTick() {

******************************
If (условие) {
    OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Bid+SL*Point,Bid-TP*Point,"test",MagicN,0,Green);
    return(0);
}
******************************
}

Введем внешнюю переменную IsME для определения типа исполнения (IsME=1 означает маркет-исполнение).
Далее, в нашем OrderSend() нужно вместо TP и SL поставить нули, а сами значения запомнить в отдельные переменные для последующего выставления.

 

extern int IsME=1;
double SLS,TPS=0;

void OnTick() {

******************************
If (условие) {
    SLS=Bid+SL*Point;
    TPS=Bid-TP*Point;
    if (IsME==0) OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Bid+SL*Point,Bid-TP*Point,"test",MagicN,0,Green);
                    else OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"test",MagicN,0,Green);
    return(0);
}
******************************
}

Наконец, нужно добавить в код цикл поиска уже открытых ордеров без стопа и выставить стопы/профиты.
Вот, что получится в итоге:
 

extern int IsME=1;
double SLS,TPS=0;

void OnTick() {

******************************
int  total=OrdersTotal();
int cnt=0;
for(cnt=0;cnt<total;cnt++)     {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicN  &&
                                         ( (OrderStopLoss()==0 && SLS!=0) || (OrderTakeProfit()==0 && TPS!=0) ) )  {
        OrderModify(OrderTicket(),OrderOpenPrice(),SLS,TPS,0,Red);               
        SLS=0;
        TPS=0;      
        return(0) ;
      }
}    
If (условие) {
    SLS=Bid+SL*Point;
    TPS=Bid-TP*Point;
    if (IsME==0) OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Bid+SL*Point,Bid-TP*Point,"test",MagicN,0,Green);
                    else OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"test",MagicN,0,Green);
    return(0);
}
******************************
}


#27 kanua

kanua

    Свой

  • Пользователи
  • PipPip
  • 372 сообщений
  • МестоположениеКиев

Отправлено 11 November 2015 - 14:45

А что это у Вас в одном месте (первый код) используется в качестве максимального проскальзывания Slippage, а в других местах уже Slippage*KDig? Ошибочка. Из разных советников взято.

Вы, Илья, не договариваете людям главное! Если у Вас проскальзывание Slippage не фиксировано, а должно меняться в зависимости от ситуации на рынке или в зависимости от торгового инструмента, то НИКАК советник на ECN не переделаешь, так как ECN игнорирует проскальзывание, установленное в советнике, а в настройках ECN-счёта максимальное проскальзывание фиксировано для всех символов и ситуаций на рынке.


Сообщение отредактировал kanua: 11 November 2015 - 14:54


#28 Igonter

Igonter

    Свой

  • Администраторы
  • 1039 сообщений

Отправлено 11 November 2015 - 15:01

А что это у Вас в одном месте (первый код) используется в качестве максимального проскальзывания Slippage, а в других местах уже Slippage*KDig? Ошибочка. Из разных советников взято.

Вы, Илья, не договариваете людям главное! Если у Вас проскальзывание Slippage не фиксировано, а должно меняться в зависимости от ситуации на рынке или в зависимости от торгового инструмента, то НИКАК советник на ECN не переделаешь, так как ECN игнорирует проскальзывание, установленное в советнике, а в настройках ECN-счёта максимальное проскальзывание фиксировано для всех символов и ситуаций на рынке.

Да, из разных советников, но я хотел показать принцип.
В любом случае, это не компилируется ))
И пример иллюстрирует, как обойти проблему с TP/SL, не более того.

Впрочем, насколько я знаю, условия с STP-сервера можно будет реализовать и на ECN, так что проблемы быть не должно.
Сейчас идет работа над этим.



#29 kanua

kanua

    Свой

  • Пользователи
  • PipPip
  • 372 сообщений
  • МестоположениеКиев

Отправлено 11 November 2015 - 15:05

Впрочем, насколько я знаю, условия с STP-сервера можно будет реализовать и на ECN, так что проблемы быть не должно.
Сейчас идет работа над этим.

Когда можно ожидать результатов?

#30 Igonter

Igonter

    Свой

  • Администраторы
  • 1039 сообщений

Отправлено 11 November 2015 - 16:59

Автоматику еще не настроили, но вручную уже работает, можно переключить новый ECN счет на условия STP.
Если нужно, напишите на support@gkfx.ru с указанием номера счета ECN, который надо переключить.



#31 genfed

genfed

    Новичок

  • Пользователи
  • 15 сообщений

Отправлено 11 November 2015 - 20:01

Автоматику еще не настроили, но вручную уже работает, можно переключить новый ECN счет на условия STP.
Если нужно, напишите на support@gkfx.ru с указанием номера счета ECN, который надо переключить.

Тогда можно и советник не переделывать?



#32 Igonter

Igonter

    Свой

  • Администраторы
  • 1039 сообщений

Отправлено 12 November 2015 - 00:34

Тогда можно и советник не переделывать?

Да, только нужно проконтролировать названия инструментов, на случай если они прямо прописаны в советнике.
Потому что у STP-инструментов будет добавлено окончание ".ie"



#33 kanua

kanua

    Свой

  • Пользователи
  • PipPip
  • 372 сообщений
  • МестоположениеКиев

Отправлено 12 November 2015 - 01:12

А зачем 3 знака в окончании добавлять? Одного (например, "i") разве недостаточно?



#34 Igonter

Igonter

    Свой

  • Администраторы
  • 1039 сообщений

Отправлено 12 November 2015 - 09:28

А зачем 3 знака в окончании добавлять? Одного (например, "i") разве недостаточно?

Не знаю, а какая разница?
Название или идентично, или не идентично. В последнем случае, не все ли равно, сколько знаков различается?



#35 kanua

kanua

    Свой

  • Пользователи
  • PipPip
  • 372 сообщений
  • МестоположениеКиев

Отправлено 12 November 2015 - 12:46

Да, пожалуй, это неважно. Наверное так сделали, чтоб лучше визуально отличались символы.



#36 kanua

kanua

    Свой

  • Пользователи
  • PipPip
  • 372 сообщений
  • МестоположениеКиев

Отправлено 13 November 2015 - 00:50

Автоматику еще не настроили, но вручную уже работает, можно переключить новый ECN счет на условия STP.
Если нужно, напишите на support@gkfx.ru с указанием номера счета ECN, который надо переключить.


Сегодня перенесли мой ECN-счёт в группу STP. В терминале теперь все основные символы имеют окончание ".ie", а в их спецификациях стоит немедленный тип исполнения (instant execution):

ОбзорРынка.png

Ещё не всё налажено в настройках торговли на счету. В частности, почему-то в этом моём счёте стоит галка у настройки "Частичное исполнение лимитных ордеров", и при этом я её снять не могу. Но, думаю, это со временем ещё доделают. Работать уже можно.

Поэтому выражаю благодарность сотрудникам компании GKFX, о высокой технологичности которой так давно говорил Rann, за быструю реализацию решения с instant execution на ECN-счёте.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных