Как поменять magic number?

 

Насколько я понял это вообще невозможно, но все же. Я хотел хранить в maic number-е сторонюю информацию. Тоесть получается как бы ячейка для хранения какой-то инфы, которая соответствует строго своему ордеру. В идеале мне нужен ассоциативный контейнер (множество). Тоесть получаем доступ к инфе через ключи. Такая штука есть в STL C++, называется set. 

Мне это все нужно чтобы закрывать отложенные ордера, которые соответствуют своим обычным ордерам. Вот пример использования: есть пару ордеров открытых вручную. Запускаю советника, он находит эти ордера и выставляет противоположные им отложенные ордера и в magic number открытых вручную ордеров записывает номер тикета отложенных ордеров. Цена движется. Один из ордеров (открытых вручную) закрывается по тейкпрофиту. Соответствующий отложеник уже ненужен. Считываю из майджика тикет отложеника и по тикету закрываю отложенник. Но это в идеале, если можно было бы менять magic number.

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

 

Да, действительно, магик менять нельзя, но, о-о-о, чудо, его можно устанавливать! Я так понял, Вам нужна связка поза-ордер? Нет проблем:

Открытие/установка
1. Открываете позу.
2. Тикет открытой позы пишите в магик устанавливаемого ордера.

Закрытие/удаление
1. Прочитать магики всех ордеров.
2. Поискать позы с соответствующими тикетами.
3. Какая поза не будет найдена, такой ордер и удалить.

Термины:
Поза, позиция - торговая операция Buy или Sell.
Ордер - торговая операция BuyLimit, BuyStop, SellLimit или SellStop.

 

Все гениальное просто! А я и не подумал, что отложеник может хранить соответствующую ему позу, а не наоборот. Сейчас попробую воплотить это. 

 
banderass:

Все гениальное просто! А я и не подумал, что отложеник может хранить соответствующую ему позу, а не наоборот. Сейчас попробую воплотить это.


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

в более сложных случаях можно использовать внешние БД, но это некрасиво. :-)

 

2 KimIV

Ха, это сработало, большое спасибо за совет!

2 Shu

Спасибо, учту.

 

2 Parabellum

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

 
banderass:

2 Parabellum

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

Понял.
 
banderass:

2 Parabellum

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


В в магик можно укладывать разную информацию

определив к примеру побитово значение каждого поля данных

есть еще поле коментариев туда тоже достаточно много можно уложить

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

т к имею возможность менять файл в отличии от магик номера и поля коментариев

 

2 YuraZ 

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

 
А как посмотреть какой Magic number советник использует в своих ордерах? В настройках советника такой инфы нет.
 
Kirill Chernopyatov:
А как посмотреть какой Magic number советник использует в своих ордерах? В настройках советника такой инфы нет.
Исходный код есть?