Максисальная длина названия символа на FOREX - страница 9

 
prostotrader:

"Стремноватое" решение хранить инфу подобным образом. Ну, да Вам виднее.

Так как рынок ФОРЕКС меня вообще не интересует, то 6 символов из имени символа и 65365 могиков на одном чарте для моих нужд хватает с лихвой,

тем более за торговый день можно осуществить только 2000 транзакций

Почему 2000? Все 2000 холостые транзакции? 

Если из этих двухсот транзакций например, 50 сделок по RTS, то можно сделать еще 2000 холостых.

 
prostotrader:

Есть совпадения...

Поправил.

 
Sergey Chalyshev:

Почему 2000? Все 2000 холостые транзакции? 

Если из этих двухсот транзакций например, 50 сделок по RTS, то можно сделать еще 2000 холостых.

Нет Серёж, там очень сложная формула, я пытался её прикрутить, но потом плюнул.

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

Добавлено

Вот здесь формула расчёта

https://www.mql5.com/ru/forum/67673#comment_2068358

ФОРТС: Сбор за неэффективные Транзакции
ФОРТС: Сбор за неэффективные Транзакции
  • 2015.11.24
  • www.mql5.com
com/a90#fees С уважением, Глеб Кочнев Техническая поддержка ПАО Московская Биржа +7 (495) 733-95-07 | help@moex.
 
fxsaber:

Поправил.

Ок всё работает, но символ должен иметь начальный магиг, чтобы определять принадлежность именно к этому советнику (посмотрите как сделан IsMyMagic для ФОРТС)

Поэтому полученый первый магиг нужно свинуть влево на 12 бит (возможны 4095 дополнительных магигов) и хранить его, чтобы потом сравнивать

А так как запоминается время установки ордера и зациклив дополнительные магики

if(magic_storage >= (magic_number + 4090)) mem_magic = magic_number;

совпадаюшие номера будут разнесены во времени

 
prostotrader:

Ок всё работает, но символ должен иметь начальный магиг, чтобы определять принадлежность именно к этому советнику (посмотрите как сделан IsMyMagic для ФОРТС)

Поправил.

 
fxsaber:

Поправил.

Спасибо

Завтра всё перепишу (что-то голова разболелась)

 

Я бы не формировал crc-мэджик, а задавал бы его в виде input-переменой. Тогда в GetMagic можно было бы не зависеть от ChartID, снимая сразу многие минусы.

 
fxsaber:

Я бы не формировал crc-мэджик, а задавал бы его в виде input-переменой. Тогда в GetMagic можно было бы не зависеть от ChartID, снимая сразу многие минусы.

Я сначала тоже так подумал, но пишется столько роботов, что вероятность совпадения очень большая.

А автоматом - ниочём не нужно беспокоится :)

И ещё... У меня в 4 терминалах работает 168 роботов.

Что-то не хочется за магиками следить....

Добавлено

На ФОРТС символ не может сосстоять более 8 байт (SBER-12.18).

Если вычесть "." и "-", то получается ровно 6 байт + 2 байта на дополнительные могики, вот я и

написал AutoMagic 

 
prostotrader:

Я сначала тоже так подумал, но пишется столько роботов, что вероятность совпадения очень большая.

input ulong InputMagic = __DATETIME__;
 
prostotrader:

На ФОРТС символ не может сосстоять более 8 байт (SBER-12.18).

Если вычесть "." и "-", то получается ровно 6 байт + 2 байта на дополнительные могики, вот я и

написал AutoMagic 

Привязываться к символу и хэндлу чарта - сопутствующие костыли. Советник может быть мультисимвольным и/или не зависеть от символа чарта совсем. Т.е. логично, чтобы такой советник можно было запустить на любом символе. Но при этом нужно еще рассматривать и варинат, когда советник зависит от символа чарта. Тогда поведение должно быть противоположным. Как итог, универсального решения быть не может.

В большинстве случаев такой вариант мне видится наиболее приемлемым

input int InputMagic = __DATETIME__;

string GetMagicString()
{
  return(__PATH__ + _Symbol + (string)InputMagic);
}
Причина обращения: