создание магического числа - страница 2

 
cameofx:
Боже, вы превзошли мою скорость редактирования :)). Я отредактировал его. Забыл упомянуть, что это GlobalVariable.

А что произойдет, если вам придется продолжить сессию с ДРУГОГО терминала (потому что ваш компьютер умер, например)...? Вам все равно понадобится уровень персистентности (GV хранятся в терминале - на стороне клиента). Вся идея "автоматического" магического номера заключается в том, чтобы получить уникальный номер для каждого эксперта, но без необходимости в уровне сохранения...

 
gordon:

Потому что тогда вам придется поддерживать уровень постоянства для этой магии. Что произойдет, если ваш терминал перезагрузится? Магия будет другой...

Я где-то читал, что значения GlobalVariable существуют 14 дней после последнего доступа. Кроме того, если эта техника работает, у нас есть дополнительное преимущество в получении времени заказа по его магическому номеру.

Что вы думаете?

 
gordon:

А что произойдет, если вам придется продолжить сеанс с ДРУГОГО терминала (например, потому что ваш компьютер умер)...? Вам все равно понадобится уровень персистентности (GV хранятся в терминале - на стороне клиента). Вся идея "автоматического" магического номера заключается в том, чтобы получить уникальный номер для каждого эксперта, но без необходимости в уровне сохранения...

Это, вероятно, сломает GV, но секунды будут держаться, и это уникально для секунд ИМХО...

 
cameofx:

Это, вероятно, сломает ГВ, но секунды будут держаться, и это уникально для секунд ИМХО...

Это уникально, тут нет разногласий. Но опять же - допустим, компьютер сломался. Вы переносите эксперта на другой компьютер с другим терминалом, входите в ту же учетную запись и продолжаете работу с тем же экспертом. Если эксперт спроектирован правильно, то это "не должно" быть проблемой, за исключением того, что теперь эксперт будет назначать ДРУГУЮ магию ордерам, которые он обрабатывает. Поэтому очевидно, что это не сработает.

 
cameofx:

Я где-то читал, что значения GlobalVariable существуют 14 дней после последнего доступа. Кроме того, если эта методика работает, у нас есть дополнительное преимущество в извлечении времени заказа по его магическому номеру.

Что вы думаете?

Я думаю, 30... Но независимо от этого, они остаются на стороне клиента с конкретным Терминалом.


p.s. если вы еще не сделали этого, то загляните в эту тему -> https://www.mql5.com/en/forum/120034. Обсуждается та же проблема и есть много классных идей...

 
gordon:

... только вот теперь эксперт будет присваивать РАЗНЫЕ магические номера ордерам, которые он обрабатывает. Так что, очевидно, это не сработает.

Я не понимаю...

- Я думал, что смысл в том, чтобы назначать разный магический номер для каждой сгенерированной сделки? Только после того, как ордер принят брокером, OrderMagicNumber() фиксируется и может быть получен.

Если предыдущая сделка бывшего "мертвого" клиентского терминала успешно сгенерировала OrderMagicNumber, то следующая такая же или - другой эксперт в другом терминале не сгенерирует то же самое магическое число.

- ИМХО - используя ваши термины: Время постоянно без необходимости наслоения, Нет двух одинаковых времен... :))

- Спасибо за ссылки, я их прочитал. Я ничего не имею против магического числа, которое генерируется совершенно случайно, но я все же предпочитаю магическое число, которое в некоторой степени логично и имеет другие применения...

- Возможно, техника сломается , если у вас есть 2 или более заказов, принятых в доли секунды на разных терминалах. что, как я полагаю, маловероятно...

 
cameofx:

Я не понимаю...

- Я думал, что смысл в том, чтобы назначать разный магический номер для каждой сгенерированной сделки? Только после того, как ордер принят брокером, тогда OrderMagicNumber() фиксируется и может быть получен.

Если предыдущая сделка бывшего "мертвого" клиентского терминала успешно сгенерировала OrderMagicNumber, то следующая такая же или - другой эксперт в другом терминале не сгенерирует такое же магическое число.

- ИМХО - используя ваши термины: Время постоянно без необходимости наслоения, Нет двух одинаковых времен... :))

- Спасибо за ссылки, я их прочитал. Я ничего не имею против магического числа, которое генерируется совершенно случайно, но я все же предпочитаю магическое число, которое в некоторой степени логично и имеет другие применения...

- Техника сломается , если у вас есть 2 или более заказов, принятых в доли секунды на разных терминалах. что, как я полагаю, маловероятно...

Нет... Это для всего эксперта. Так что если вы запустите несколько экспертов на одном счете, они не будут мешать друг другу. Лично я тоже не люблю и не использую автоматизированные системы. Я использую диапазон магических чисел для каждого эксперта, а не одно магическое число, потому что я храню информацию в магических числах. Независимо от этого, в этой теме обсуждается, как автоматически установить уникальное магическое число для каждого эксперта.

 
Гордон,
Я ценю ваше мнение. Возможно, я не слишком ясно объяснил, но, пожалуйста, перечитайте мое сообщение относительно этой техники. Она предназначена для всего эксперта
(и, соответственно, каждого эксперта, каждой сделки, каждого терминала, автоматически) ... отсюда использование вызова WindowsExpertName(), извлекающего его ID и объединяющего его со счетчиком GlobalVariable каждый раз, когда эксперт с тем же именем прикрепляется к разным графикам & TimeCurrent().
Пожалуйста, подумайте об этом еще раз... Это либо будет работать, либо нет. Если вы или другие считают это легко ломаемым, тогда, вероятно, мне тоже придется переосмыслить это... :))
 
cameofx:
Гордон,
Я ценю ваше мнение. Возможно, я не слишком ясно объяснил, но, пожалуйста, перечитайте мое сообщение относительно этой техники. Она предназначена для всего эксперта... отсюда и использование
вызова WindowsExpertName() и конкатенация его со счетчиком GlobalVariable каждый раз, когда эксперт с тем же именем прикрепляется к разным графикам.
Пожалуйста, подумайте еще немного... Это либо работает, либо нет. Если вы или другие сочтете это легко ломаемым, тогда, вероятно, мне тоже придется переосмыслить это... :))
Я так и сделал. Я имел в виду то, что вы сказали ("Я думал, что смысл в том, чтобы назначать разные магические числа для каждой сгенерированной сделки"), а не исходный пост. Извините, если я не был понят.

В любом случае, после повторного прочтения. Вот проблемы, которые я вижу в этом:
- Что такое идентификационный номер? Жестко закодированный уникальный номер для каждого эксперта или что? Легко убедиться, что у экспертов нет одинаковых имен, сложнее убедиться, что у них нет одинаковых номеров, особенно если они жестко закодированы.
- Постоянство. Постоянство. Постоянство. Опять же - как продолжить сеанс с другого терминала. Где, например, сохраняется таймфрейм?
- Пользователь может возиться с GV вручную (но это, вероятно, не будет проблемой в большинстве случаев...).

Edit: возможно, таймфрейм - не самый удачный пример...
 
Я рад, что ты в сети в то же время, когда и я...:) Я краду время между работой... :D
Я поставлю несколько кодов...