Доброго времени суток!
Хочу создать простенький скрипт, чтобы закрывал все открытые позиции. Набросал такой код
Если открыто несколько позиций на разных инструментах, то закрываются только те, на график которого брошен скрипт.
Тоесть, если открыты позиции по евро, фунту, франку и бросить скрипт на график евро то закроется только позиция по евро. А как сделать так, чтоб закрылись все.
З.Ы. Хочу разобраться сам. Готовые решения не нужны. Спс.
Ну правильно, вы закрываете по Bid/Ask. Он их берет с текущего символа.
Сейчас курс EURUSD 1.295, а GBPUSD - 1.513
Естественно GBPUSD SELL-ордер по 1.295 не закроется
Неправильный цикл.
for (i=0; i<=VSE; i++)
Правильнй должен быть такой:
for (i=0; i<VSE; i++)
А при закрытии вообще цикл надо куртить в обратную сторону:
for (i=VSE-1; i>=0; i--)
Но с циклом это не главное.
Главное в том, что Bid и Ask это цены символа графика, а ордер может быть открыт на другом символе. Для него цены можно получить через MarketInfo() - MarketInfo(OrderSymbol(),MODE_BID).
Ну правильно, вы закрываете по Bid/Ask. Он их берет с текущего символа.
Ясно. А не подскажете как в этот код запихнуть цены нужного инструмента? :-)
Неправильный цикл.
Правильнй должен быть такой:
А при закрытии вообще цикл надо куртить в обратную сторону:
Но с циклом это не главное.
Главное в том, что Bid и Ask это цены символа графика, а ордер может быть открыт на другом символе. Для него цены можно получить через MarketInfo() - MarketInfo(OrderSymbol(),MODE_BID).
Спасибо.
Ясно. А не подскажете как в этот код запихнуть цены нужного инструмента? :-)
Замените
OrderClose(OrderTicket(),OrderLots(),price,3);
на
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени суток!
Хочу создать простенький скрипт, чтобы закрывал все открытые позиции. Набросал такой код
Если открыто несколько позиций на разных инструментах, то закрываются только те, на график которого брошен скрипт.
Тоесть, если открыты позиции по евро, фунту, франку и бросить скрипт на график евро то закроется только позиция по евро. А как сделать так, чтоб закрылись все.
З.Ы. Хочу разобраться сам. Готовые решения не нужны. Спс.