как узнать как закрылись два последних ордера? или как закрылся последний и предпоследний ордер? как это реализовать на MQL?
Последний ордер закрылся по профиту/лосю:
if(ord>OrdersTotal()) signals(); ord = OrdersTotal(); ... void signals() { int df = OrdersHistoryTotal()-1; if(OrderSelect(df,SELECT_BY_POS,MODE_HISTORY)) { double ocp = OrderClosePrice(); if(ocp==OrderTakeProfit()) PlaySound("tp_profit.wav"); if(ocp==OrderStopLoss()) PlaySound("loss.wav"); return; } }
Вначале найти два ордера, затем узнать как они закрылись. Ваш кэп (с).
Или у вас с чем-то конкретным проблемы?
OnGoing:
Код не будет работать онлайн.
Последний ордер закрылся по профиту/лосю:
TheXpert:
У меня работает)
... Код не будет работать онлайн.
OnGoing:
У меня работает)
Угу. Зайдите во вкладку история и фильтраните... по профиту скажем. Потом проверьте свой код на работоспособность.
У меня работает)
у меня такая задача. на начало дня нужно узнать как закрылись два ордера в предыдущем дне. в результате анализа снова открыть два ордера.
TheXpert:
Угу. Зайдите во вкладку история и фильтраните... по профиту скажем. Потом проверьте свой код на работоспособность.
Ну в таком случае MODE_HISTORY вообще не работает хотите сказать? Думаю не должно быть таких коллизий в МТ.
Угу. Зайдите во вкладку история и фильтраните... по профиту скажем. Потом проверьте свой код на работоспособность.
dmmikl86:
у меня такая задача. на начало дня нужно узнать как закрылись два ордера в предыдущем дне. в результате анализа снова открыть два ордера.
у меня такая задача. на начало дня нужно узнать как закрылись два ордера в предыдущем дне. в результате анализа снова открыть два ордера.
Если нужны только два ордера, то так (если больше, то перебор циклом). Вместо "PlaySound" делаете что Вам нужно.
signals(1); signals(2); .... void signals(int n) { int df = OrdersHistoryTotal()-n; if(OrderSelect(df,SELECT_BY_POS,MODE_HISTORY)) { double ocp = OrderClosePrice(); if(ocp==OrderTakeProfit()) PlaySound("tp_profit.wav"); if(ocp==OrderStopLoss()) PlaySound("loss.wav"); return; } }
OnGoing:
Ну в таком случае MODE_HISTORY вообще не работает хотите сказать? Думаю не должно быть таких коллизий в МТ.
А проверить?
Ну в таком случае MODE_HISTORY вообще не работает хотите сказать? Думаю не должно быть таких коллизий в МТ.
OnGoing:
Если нужны только два ордера, то так (если больше, то перебор циклом). Вместо "PlaySound" делаете что Вам нужно.
на сколько я знаю для такого способа, "ордера в истории" должны быть отсортированы по цене закрытия. а если у тебя работает несколько экспертов, то по такому алгоритму можно выбрать два последних "чужих ордера"
TheXpert:
А проверить?
А проверить?
Нет, возможно. Я к тому, что тогда получается вообще история ордеров в МТ работает некорректно? Это больше вопрос уже к разработчикам.
Но думаю даже в этом случае можно выйти из положения, фильтрануть обратно по времени и делов-то)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь