Здравствуй, мой друг, Владимир.
Условие было очень интересным для меня:
if( m_trade.ResultDeal()==0 ) { Print("Buy -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); }
Следующие условия являются правильными для функции OrderSendAsync() или отложенного ордера?
if( m_trade.ResultDeal()==0 || m_trade.ResultOrder()==0 ) { Print("Buy -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); }
Очень хорошо, а как использовать этот E A? Мне понравились ваши рассуждения, я всегда хотел робота в этом параметре описанного
Победа - это хорошо, но было бы лучше, если бы мы добавили Мартина!
Каково условие открытия первой позиции? Или вы должны открыть ее вручную?
284954 #:
Каково условие открытия первой позиции? Или вы должны открыть ее вручную?
Каково условие открытия первой позиции? Или вы должны открыть ее вручную?
Советник ждет срабатывания TP или SL, а затем открывает позицию в противоположном направлении. Перед отправкой торгового запроса он проверяет, достаточно ли денег. OnTradeTransaction.
Например, у нас есть открытая позиция на покупку. Как только срабатывает TP или SL, открывается новая позиция на продажу. Затем, после срабатывания TP или SL, открывается новая позиция на покупку.
Закрытие сделки отслеживается в"OnTradeTransaction":
//+------------------------------------------------------------------+ //| Функция TradeTransaction| //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { //--- получаем тип транзакции в виде значения перечисления ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- если транзакция является результатом добавления транзакции в историю if(type==TRADE_TRANSACTION_DEAL_ADD) { long deal_entry =0; long deal_type =0; string deal_symbol =""; long deal_magic =0; long deal_time =0; if(HistoryDealSelect(trans.deal)) { deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY); deal_type=HistoryDealGetInteger(trans.deal,DEAL_TYPE); deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL); deal_magic=HistoryDealGetInteger(trans.deal,DEAL_MAGIC); deal_time=HistoryDealGetInteger(trans.deal,DEAL_TIME); } else return; if(deal_symbol==m_symbol.Name() && deal_magic==m_magic) { if(deal_entry==DEAL_ENTRY_OUT) { if(deal_type==DEAL_TYPE_BUY || deal_type==DEAL_TYPE_SELL) { if(deal_type==DEAL_TYPE_BUY) m_close_pos_type=POSITION_TYPE_SELL; else if(deal_type==DEAL_TYPE_SELL) m_close_pos_type=POSITION_TYPE_BUY; else return; m_is_trade=true; } } else if(deal_entry==DEAL_ENTRY_IN) { m_is_trade=false; } } } }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
cheduecoglioni:
Автор: Vladimir Karputov