На одной паре открыты 4 бай и 5 сел.
В мт4
В МТ5 тоже можно открывать несколько сделок на одной паре. Но вот не пойму как их посчитать в том виде.
В МТ5 есть понятие "позиция". Работа с позицией:
//+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright © 2016, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2016, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { int total=PositionsTotal(); // общее количество позиций на торговом счёте //--- цикл по всем позициям for(int i=0;i<total;i++) { string name=PositionGetSymbol(i); //получаем символ позиции и автоматически выбираем эту позицию для дальнейшей работы с ней string position_type=NULL; if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) position_type="BUY"; else position_type="SELL"; Print(name," ",position_type," ",": Profit ",DoubleToString(PositionGetDouble(POSITION_PROFIT),2), " ",AccountInfoString(ACCOUNT_CURRENCY)); } } //+------------------------------------------------------------------+
На неттинговом торговом счёте:
И вот, что покажет скрипт:
2016.08.16 13:37:48.620 Test (USDJPY,M1) EURUSD BUY : Profit -0.21 USD 2016.08.16 13:37:48.620 Test (USDJPY,M1) GBPAUD SELL : Profit -1.62 USD 2016.08.16 13:37:48.620 Test (USDJPY,M1) USDJPY BUY : Profit -0.04 USD
На торговом счёте с хеджингом:
скрипт покажет:
2016.08.16 13:34:28.741 Test (USDJPY,M1) EURUSD SELL : Profit -0.6 USD 2016.08.16 13:34:28.741 Test (USDJPY,M1) EURUSD BUY : Profit 0.36 USD 2016.08.16 13:34:28.741 Test (USDJPY,M1) GBPAUD BUY : Profit 0.82 USD 2016.08.16 13:34:28.741 Test (USDJPY,M1) GBPAUD SELL : Profit -5.95 USD 2016.08.16 13:34:28.741 Test (USDJPY,M1) USDJPY SELL : Profit -1.15 USD 2016.08.16 13:34:28.741 Test (USDJPY,M1) USDJPY BUY : Profit -0.03 USD
Ахринеть!!! Эта ф-ция висит в справке рядом с PositionSelect во всех дырках. Спасибо, конечно, а я смотрю в книгу вижу фигу.
А может покажешь пример ф-ции HistorySelectByPosition()
Ахринеть!!! Эта ф-ция висит в справке рядом с PositionSelect во всех дырках. Спасибо, конечно, а я смотрю в книгу вижу фигу.
А может покажешь пример ф-ции HistorySelectByPosition()
HistorySelect() Я понимаю. Не могу понять смысл HistorySelectByPosition(). Можно ли ей выбрать все позиции по магику? ПокажиТЕ пример пож!
Если нужно выбрать позиции по определённому магику, то нужно так:
//+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright © 2016, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2016, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" #property script_show_inputs //--- inputs input uint my_magic=123; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { int total=PositionsTotal(); // общее количество позиций на торговом счёте //--- цикл по всем позициям for(int i=0;i<total;i++) { string name=PositionGetSymbol(i); //получаем символ позиции и автоматически выбираем эту позицию для дальнейшей работы с ней string position_type=NULL; if(PositionGetInteger(POSITION_MAGIC)==my_magic) { if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) position_type="BUY"; else position_type="SELL"; Print(name," ",position_type," ",": Profit ",DoubleToString(PositionGetDouble(POSITION_PROFIT),2), " ",AccountInfoString(ACCOUNT_CURRENCY)); } } } //+------------------------------------------------------------------+
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
На одной паре открыты 4 бай и 5 сел.
В мт4
В МТ5 тоже можно открывать несколько сделок на одной паре. Но вот не пойму как их посчитать в том виде.