Скачать MetaTrader 5

Счетчик транзакций.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Aleksey
2570
Aleksey  

Известно, что на некоторых биржах существуют ограничения по количеству бесплатных транзакций. Например на ФОРТС есть "сбор за превышение транзакций". Читай - штраф.

 Вопрос. Как правильно посчитать только те транзакции, которые ушли на биржу? Кто-нибудь задавался вопросом?

Кто не в теме, флудите в другом месте. 

Ссылки по теме

http://forum.moex.com/viewtopic.asp?t=24270 

http://forum.moex.com/viewtopic.asp?t=13996&topicdays=0&postorder=asc&start=0 

Скорей в заднице у дьявола чО-нить найдёшь, чем оф-инфу на оф-сайте биржи... пипец...

Введение сборов за транзакции на FORTS — Форум «Срочный рынок» Московской Биржи
Введение сборов за транзакции на FORTS — Форум «Срочный рынок» Московской Биржи
  • forum.moex.com
Уважаемые коллеги! В декабре 2008 года биржа РТС объявила о введении платы за транзакции участников рынка фьючерсов и опционов FORTS, которая будет производиться, ориентировочно, с 1 квартала 2009 года. В настоящее время Комитетом по Срочному рынку принято данное решение и проводятся подготовительные процедуры. В связи с этим некоторые...
Mikhail Filimonov
5931
Mikhail Filimonov  

Привет!

 

Создаём глобальную переменную и в ней храним счётчик:

 

//+------------------------------------------------------------------+
//| Expert Set transaction count function                            |
//+------------------------------------------------------------------+
void SetTransCount()
{
  if ( GlobalVariableCheck( "trans_count" ) )
  {
    double tr_count = GlobalVariableGet( "trans_count" );
    
    tr_count++;
    GlobalVariableSet( "trans_count", tr_count ); 
  }
  else
  {
    GlobalVariableSet( "trans_count", 1 );
  }
}

 

Если ордер установлен, модернизирован или снят, то вызываем:

if ( OrderSend( request, result ) )
      {
        if ( result.retcode == TRADE_RETCODE_PLACED )
        { 
          SetTransCount();
        }
          
      }

 

А здесь проверяем счётчик:

void OnBookEvent()
{
  if ( GlobalVariableCheck( "trans_count" ) )
  {
     double tr_count =  GlobalVariableGet( "trans_count" );
     if ( tr_count >= 650 )
     {
       return;
     } 
  }
}
Mikhail Filimonov
5931
Mikhail Filimonov  

забыл.

Перед началом или в конце торгового дня

Нужно обнулить счётчик

 

if ( GlobalVariableCheck( "trans_count" ) )
      {
        GlobalVariableSet( "trans_count", 0 );
      }

... и ещё

При изменении sl или tp позиции:

if ( OrderSend( request, result ) )
    {
      if ( result.retcode == TRADE_RETCODE_DONE ) 
      {
        SetTransCount();
      }
    }
Aleksey
2570
Aleksey  

В таком случае, и если отклонен тоже ++

Mikhail Filimonov
5931
Mikhail Filimonov  

Нет, смотря кто и по какой причине отклонил.

Эти коды возврата говорят, что Ваша операция прошла успешно.

Т.к мы имееим буфера в виде терминала и сервера МТ-5, 99% не правильных действий с ордерами просто не дойдут

до биржи, поэтому и тразакции не будет. 

TRADE_RETCODE_PLACED
TRADE_RETCODE_DONE
Aleksey
2570
Aleksey  
Mikalas:
Нет, смотря кто и по какой причине отклонил.
Вот именно. Надо знать попадал ордер на биржу или нет.
Mikhail Filimonov
5931
Mikhail Filimonov  

Повторяю...

TRADE_RETCODE_DONE

TRADE_RETCODE_PLASED

Означают, что ордер попал на биржу! 

Тогда и считаем транзакцию. 

Да, и в клиринги обнуляем счётчик, поэтому цифра 650 

Aleksey
2570
Aleksey  
Mikalas:

Повторяю...

TRADE_RETCODE_DONE

TRADE_RETCODE_PLASED

Означают, что ордер попал на биржу! 

Тогда и считаем транзакцию. 

Да, и в клиринги обнуляем счётчик, поэтому цифра 650 

Блин, да там еще куча нюансов...

Что-то Вы меня путаете. TRADE_RETCODE_DONE - не транзакция.

Зато отмена - транзакция.

Получается любой send, delete, и некоторые modify как минимум одна транзакция.   

 И не известно -  modify может быть и две (но скорей всего одна).  

Разработчики, прием,   modify =  одна  или две  транзакции?

Mikhail Filimonov
5931
Mikhail Filimonov  

pronych,

ВНИМАТЕЛЬНО читайте сообщения!

 TRADE_RETCODE_DONE - это код возврата, при успешном изменении sl или tp,

во всех остальных случаях TRADE_RETCODE_PLACED 

modify 1 тразакция.

P/S Я 10 месяцев работаю на реальном счёте. Всё, что я написал, используется в моём советнике.

ДЕНЕГ, за не правильные тразакции, с меня не снимают!

Aleksey
2570
Aleksey  

 Откуда такая уверенность что  modify = 1 транзакция ?

 И откуда взята цифра 650?

успешное изменение sl на фортс не считается транзакцией. про tp бабушка на двое сказала...

PS. я не меньше работаю на реальном счете. и с меня денег не снимают, но это еще не значит, что считать надо как попало))

Mikhail Filimonov
5931
Mikhail Filimonov  

>  Вопрос. Как правильно посчитать только те транзакции, которые ушли на биржу? Кто-нибудь задавался вопросом?

1. Перед тем как читать форумы биржи, посмотрите документы МБ.

2. 2000 тразакций за сессию делим на 3 (начало сессии - клиринг - клиринг - конец сессии) = 666,66 - (запас) = 650 (за каждое рабочее время )

3. Я не БОГ, и могу тоже делать ошибки( по поводу SL TP, документ я читал 10 месяцев назад, но код возврата успешного изменения SL TP позиции 100% TRADE_RETCODE_DONE  ) 

4. Вам не только рассказали, но и дали РАБОТАЮЩИЙ исходный код! А что вместо СПАСИБО? 

5. В прикрепленном документе ОФИЦИАЛЬНАЯ информация МБ 

Файлы:
FORTS.zip 568 kb
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий