все ясно .Только никак не могу понять,почему нет ни одно теста по вашим советникам.
Good work I only wonder what you mean with the TradeTransaction function what do you intend to reach using that?
I am not confused at all:
void OnTradeTransaction (const MqlTradeTransaction & trans, const MqlTradeRequest & request, const MqlTradeResult & result) { // --- get transaction type as enumeration value ENUM_TRADE_TRANSACTION_TYPE type = trans.type; // --- if transaction is result of addition of the transaction in history if (type == TRADE_TRANSACTION_DEAL_ADD) {etcetra
What for do you intend using that? What is your reasoning using that function?
Функция 'OnTradeTransaction' выполняет задачу: в этой функции отлавливаю подтверждение о том, что мой торговый приказ выполнен.
//+------------------------------------------------------------------+ //| TradeTransaction function | //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { //--- get transaction type as enumeration value ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- if transaction is result of addition of the transaction in history if(type==TRADE_TRANSACTION_DEAL_ADD) { ResetLastError(); if(HistoryDealSelect(trans.deal)) m_deal.Ticket(trans.deal); else { Print(__FILE__," ",__FUNCTION__,", ERROR: ","HistoryDealSelect(",trans.deal,") error: ",GetLastError()); return; } if(m_deal.Symbol()==m_symbol.Name() && m_deal.Magic()==InpMagic) { if(m_deal.DealType()==DEAL_TYPE_BUY || m_deal.DealType()==DEAL_TYPE_SELL) { int size_need_position=ArraySize(SPosition); if(size_need_position>0) { for(int i=0; i<size_need_position; i++) { if(SPosition[i].waiting_transaction) if(SPosition[i].waiting_order_ticket==m_deal.Order()) { Print(__FUNCTION__," Transaction confirmed"); SPosition[i].transaction_confirmed=true; break; } } } } } } }
all trades (positions, orders) become a deal when executed. I test if a deal has a ticket number if so it has been executed successful. With if(PositionSelect(_Symbol))
HistoryDealSelect(OrderGetInteger(ORDER_TICKET)); No need to do anything more.
HistoryDealSelect(OrderGetInteger(ORDER_TICKET)); No need to do anything more.

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Voss EA Simple:
Советник по пользовательскому индикатору 'Voss Predictive Filter'
Автор: Vladimir Karputov