Скачать MetaTrader 5

Сканировать валютную пару на наличие открытых ордеров - страница 3

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Торгуй с помощью MetaTarder 5. Скачай прямо сейчас!
PapaYozh
3768
PapaYozh 2011.12.21 13:32  
moskitman:
Спасибо, Роман, но мне кажется, что это чересчур сложно. К тому же торуемые символы у меня и так уже "забабаханы" плюсами, торгуемые в шорт и минусами, торгуемые в лонг.

В Вашем случае самое простое решение - цикл перебора открытых ордеров внутри цикла по массиву торгуемых инструментов.
moskitman
4027
moskitman 2011.12.21 13:35  
PapaYozh:


Прям как у меня :)

Меня давно интересовала конструкция, где не имеет значения направление торговли, а важна исключительно общая волатильность рынка.
Проще говоря, я наконец-то нашел достойное применение Кольцу (ссылка на тему в моем профиле), но не в качестве самостоятельной ТС, а только лишь в качестве "равновесной конструкции", где можно один инструмент только продавать, а другой только покупать без ущерба для адекватности оценки ТС.

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

А у вас?

PapaYozh
3768
PapaYozh 2011.12.21 13:39  
moskitman:

А у вас?


Если не возражаете, отпишу в личку.

Но не сейчас. Позже.

Роман
7939
Роман 2011.12.21 13:39  
moskitman:

21


МозгУйте в направлении массивов ордеров, порядок их организации и пОльзования в сОве - см. здесь, заполнения характеристик ордеров, а именно, по какому символу открыт ордер, например, создаете и заполняете 9-ю строку массива ордеров - СИМВОЛ торгуемого инструмента, т.к. этот массив имеет тип double, то делаете аналогию с этой строкой типов ордеров ... [][6] тип орд. 0=B,1=S,2=BL,3=SL,4=BS,5=SS - проведите соответствие числа - торгуемому символу и все. Далее уже считываете значение этой 9-ой строки в числовом формате и принимаете дальнейшие решения, как-то так...

double
   Lots_New,            // Количество лотов для новых ордеров
   Mas_Ord_New[31][9],  // Массив ордеров текущий ..
   Mas_Ord_Old[31][9];  // .. и старый
                        // 1й индекс = порядковый номер ордера 
                        // [][0] не определяется
                        // [][1] курс откр. ордера (абс.знач.курса)
                        // [][2] StopLoss ордера   (абс.знач.курса)
                        // [][3] TakeProfit ордера (абс.знач.курса)
                        // [][4] номер ордера        
                        // [][5] колич. лотов орд. (абс.знач.курса)
                        // [][6] тип орд. 0=B,1=S,2=BL,3=SL,4=BS,5=SS
                        // [][7] магическое число ордера
                        // [][8] 0/1 факт наличия комментария

у Вас будет так

double
   Lots_New,            // Количество лотов для новых ордеров
   Mas_Ord_New[31][10],  // Массив ордеров текущий ..
   Mas_Ord_Old[31][10];  // .. и старый
                        // 1й индекс = порядковый номер ордера 
                        // [][0] не определяется
                        // [][1] курс откр. ордера (абс.знач.курса)
                        // [][2] StopLoss ордера   (абс.знач.курса)
                        // [][3] TakeProfit ордера (абс.знач.курса)
                        // [][4] номер ордера        
                        // [][5] колич. лотов орд. (абс.знач.курса)
                        // [][6] тип орд. 0=B,1=S,2=BL,3=SL,4=BS,5=SS
                        // [][7] магическое число ордера
                        // [][8] 0/1 факт наличия комментария
                        // [][20] название инструмента 0=EURUSD,1=EURJPY,2=GBPUSD,3=GBPJPY,4=USDCHF,5=USDJPY...20=...

При этом не забывать заполнять ее (эту строку) при открытии/установки отложенного ордера. Все. Далее уже при считывании характеристик ордеров, принимаете то или иное решение.

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

moskitman
4027
moskitman 2011.12.21 13:46  
PapaYozh:


Если не возражаете, отпишу в личку.

Но не сейчас. Позже.


ок
moskitman
4027
moskitman 2011.12.21 13:49  
Roman.:


...

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

Еще раз спасибо. Тем не менее думаю, что гораздо проще организовать вложенный цикл.
Sergey Guliaev
2301
Sergey Guliaev 2011.12.21 13:53  
moskitman:
Внезапно возникла обратная задача. Т.е. нужно определить ОТСУТСТВИЕ какого бы то ни было ордера на валютной паре. Неужели прийдется организовывать цикл перебора ордеров внутри цикла перебора инструментов? Или есть более простое и менее ресурсоёмкое решение?


интересная постановка задачи.) Трудно искать чёрную кошку в тёмной комнате, особенно если её там нет.

Однако если она там была, то можно попробовать поискать следы её прошлого присутствия. Если вести реестр учета ордеров, то достаточно 2 цикла - по ордерам и по реестру.

moskitman
4027
moskitman 2011.12.21 18:01  
valenok2003:


интересная постановка задачи.) Трудно искать чёрную кошку в тёмной комнате, особенно если её там нет.

Однако если она там была, то можно попробовать поискать следы её прошлого присутствия. Если вести реестр учета ордеров, то достаточно 2 цикла - по ордерам и по реестру.

Ордер - очень странный предмет: только что был и уже его нет.
Решено. 2 цикла.
Sergey Guliaev
2301
Sergey Guliaev 2011.12.22 04:57  
Roman.:


МозгУйте в направлении массивов ордеров, порядок.

Роман, а к чему такие сложности, зачем в реестре держать все параметры ордера, если их можно получить по каждому ордеру непосредственно из терминала? Достаточно описать потенциально изменяемые параметры (если вы предполагаете их изменять в ходе работы) . А в общем случае достаточно одного тикета.

Роман
7939
Роман 2011.12.22 10:26  
valenok2003:

Роман, а к чему такие сложности, зачем в реестре держать все параметры ордера, если их можно получить по каждому ордеру непосредственно из терминала? Достаточно описать потенциально изменяемые параметры (если вы предполагаете их изменять в ходе работы) . А в общем случае достаточно одного тикета.

ДЦ разве не переоткрывает ордера с уже новым тикетом...

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

Вообще, решение автором уже принято.

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