Советники: Voss EA Simple

 

Voss EA Simple:

Советник по пользовательскому индикатору 'Voss Predictive Filter'

Voss EA Simple

Автор: Vladimir Karputov

 
все ясно .Только никак не могу понять,почему нет ни одно теста по вашим советникам.
 
Good work I only wonder what you mean with the TradeTransaction function what do you intend to reach using that?
 
Oswald O #:
Good work I only wonder what you mean with the TradeTransaction function what do you intend to reach using that?

Вы что-то перепутали: в коде нет функции 'TradeTransaction'.

 

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 
 
Oswald O #:

I am not confused at all:

Да, 'OnTradeTransaction ' - в коде есть такая функция. Какой у Вас вопрос?

 
What for do you intend using that? What is your reasoning using that function?
 
Oswald O #:
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.