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

 

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

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

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

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

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 года. В настоящее время Комитетом по Срочному рынку принято данное решение и проводятся подготовительные процедуры. В связи с этим некоторые...
 

Привет!

 

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

 

//+------------------------------------------------------------------+
//| 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;
     } 
  }
}
 

забыл.

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

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

 

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

... и ещё

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

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

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

 

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

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

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

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

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

Повторяю...

TRADE_RETCODE_DONE

TRADE_RETCODE_PLASED

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

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

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

 
Mikalas:

Повторяю...

TRADE_RETCODE_DONE

TRADE_RETCODE_PLASED

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

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

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

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

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

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

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

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

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

 

pronych,

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

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

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

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

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

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

 

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

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

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

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

 

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

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

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

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

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

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

Файлы:
FORTS.zip  568 kb