hackintosh:
Привет ребят помогите пожалуйста решить проблему с трейлинг стопом хочу его добавить в OCO Orders
Как бы ни старался но код не работает не знаю где ошибка
при компиляции нет никаких ошибок, OCO Orders работает, трейлинг стоп не работает
Заранее огромное вам спасибо
не знаю, может этот подойдёт
#include <Trade\PositionInfo.mqh> #include <Trade\Trade.mqh> #include <Trade\SymbolInfo.mqh> CPositionInfo m_position; // trade position object CTrade m_trade; // trading object CSymbolInfo m_symbol; // symbol info object
input int TrailingStop_STOP_LEVEL = 36; // Button: Trailing Stop LEVEL
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void _Trailing(void) { for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of open positions { string position_GetSymbol=PositionGetSymbol(i); // GetSymbol позиции if(position_GetSymbol==m_symbol.Name()) { long digits=SymbolInfoInteger(m_position.Symbol(),SYMBOL_DIGITS); long _SYMBOL_TRADE_STOPS_LEVEL=SymbolInfoInteger(m_position.Symbol(),SYMBOL_TRADE_STOPS_LEVEL); m_adjusted_point=SymbolInfoDouble(m_position.Symbol(),SYMBOL_POINT); double n=10; double _PriceCurrent_Stop=0.0; double _PriceOpen_Stop_bezubutok=0.0; double _PositionModify_Stop=0.0; if(TrailingStop_STOP_LEVEL>_SYMBOL_TRADE_STOPS_LEVEL) {_SYMBOL_TRADE_STOPS_LEVEL=TrailingStop_STOP_LEVEL;}; if(m_position.PositionType()==POSITION_TYPE_BUY) { _PriceCurrent_Stop=m_position.PriceCurrent()-(_SYMBOL_TRADE_STOPS_LEVEL+1)*m_adjusted_point*n; if(m_position.PriceCurrent()>m_position.PriceOpen()) { if(_PriceCurrent_Stop>m_position.StopLoss()|| m_position.StopLoss()==0.0) { //--- save Magic Number for the position if(_PriceCurrent_Stop>0) { m_trade.SetExpertMagicNumber(m_position.Magic()); m_trade.PositionModify(m_position.Ticket(), _PriceCurrent_Stop, m_position.TakeProfit()); }; }; }; }; if(m_position.PositionType()==POSITION_TYPE_SELL) { _PriceCurrent_Stop=m_position.PriceCurrent()+_SYMBOL_TRADE_STOPS_LEVEL*m_adjusted_point*n; if(m_position.PriceCurrent()<m_position.PriceOpen()) { if(_PriceCurrent_Stop<m_position.StopLoss()|| m_position.StopLoss()==0.0) { if(_PriceCurrent_Stop>0) { //--- save Magic Number for the position m_trade.SetExpertMagicNumber(m_position.Magic()); m_trade.PositionModify(m_position.Ticket(), _PriceCurrent_Stop, m_position.TakeProfit()); }; } }; }; }; }; } //+------------------------------------------------------------------+
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет ребят помогите пожалуйста решить проблему с трейлинг стопом хочу его добавить в OCO Orders
Как бы ни старался но код не работает не знаю где ошибка
при компиляции нет никаких ошибок, OCO Orders работает, трейлинг стоп не работает
Заранее огромное вам спасибо