OrderSend를 사용하여 MT5에서 올바르게 작동하는 방법 - 페이지 12

 
prostotrader :

" MT5에서 OrderSend로 작업하는 방법 " 주제의 질문에 답하기

간단한 답이 있습니다

개발자가 버그를 수정할 때까지

ulong pre_ticket; //Предварительный тикет
ulong order_ticket; //Тикет ордера
//---
if ( OrderSend (request,result))
  {
     if (result.retcode== TRADE_RETCODE_DONE )
    {
      pre_ticket=result.order;
    }  
  }
//----------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
                         const MqlTradeRequest &request,
                         const MqlTradeResult &result)
{
   switch (trans.type)
   {
     case TRADE_TRANSACTION_ORDER_UPDATE :
       if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
       {
         switch (trans.order_state)
         {
           case ORDER_STATE_PLACED :
             order_ticket = pre_ticket;
           break ;
         }
       }
     break ;
   }
}

그리고 그들이 그것을 고칠 때

ulong order_ticket; //Тикет ордера
//---
if ( OrderSend (request,result))
  {
     if (result.retcode== TRADE_RETCODE_DONE )
    {
      order_ticket=result.order;
    }  
  }


나는 5가 원시 원시라는 일반적인 인상을 가지고 있습니다 ...
 
Maxim Kuznetsov :
나는 5가 원시 원시라는 일반적인 인상을 가지고 있습니다 ...

누구도 실수로부터 자유롭지 않습니다.

또 다른 점은 버그를 수정하는 데 오랜 시간이 걸린다는 것입니다.

 
prostotrader :

" MT5에서 OrderSend로 작업하는 방법 " 주제의 질문에 답하기

간단한 답이 있습니다

개발자가 버그를 수정할 때까지

ulong pre_ticket; //Предварительный тикет
ulong order_ticket; //Тикет ордера
//---
if ( OrderSend (request,result))
  {
     if (result.retcode== TRADE_RETCODE_DONE )
    {
      pre_ticket=result.order;
    }  
  }
//----------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
                         const MqlTradeRequest &request,
                         const MqlTradeResult &result)
{
   switch (trans.type)
   {
     case TRADE_TRANSACTION_ORDER_UPDATE :
       if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
       {
         switch (trans.order_state)
         {
           case ORDER_STATE_PLACED :
             order_ticket = pre_ticket;
           break ;
         }
       }
     break ;
   }
}

그리고 OrderSend 팩이라면?

그리고 그들이 그것을 고칠 때

그들은 그것을 고칠 수 없습니다. 이것은 기능입니다.
 
fxsaber :

그리고 OrderSend 팩이라면?


PACKU 티켓을 가져가시는 분은 WATER PUMP를 드립니다!
 

팩 애호가를 위해

ulong pre_ticket = 0 ; //Претикет ордера
ulong order_ticket_1 = 0 ; //Тикет ордера
ulong order_ticket_2 = 0 ; //Тикет ордера
ulong order_ticket_3 = 0 ; //Тикет ордера
ulong order_ticket_4 = 0 ; //Тикет ордера
ulong order_ticket_5 = 0 ; //Тикет ордера
uint num_order = 0 ;
//---
if ( OrderSend (request,result))
  {
     if (result.retcode== TRADE_RETCODE_DONE )
    {
      pre_ticket=result.order;
      num_order++;
    }  
  }
//----------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
                         const MqlTradeRequest &request,
                         const MqlTradeResult &result)
{
   switch (trans.type)
   {
     case TRADE_TRANSACTION_ORDER_UPDATE :
       if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
       {
         switch (trans.order_state)
         {
           case ORDER_STATE_PLACED :
             switch (num_order)
             {
               case 1 :
                 order_ticket_1 = pre_ticket;
                 pre_ticket = 0 ;
               break ;
               case 2 :
                 order_ticket_2 = pre_ticket;
                 pre_ticket = 0 ;
               break ;
               case 3 :
                 order_ticket_3 = pre_ticket;
                 pre_ticket = 0 ;
               break ;
               case 4 :
                 order_ticket_4 = pre_ticket;
                 pre_ticket = 0 ;
               break ;
               case 5 :
                 order_ticket_5 = pre_ticket;
                 pre_ticket = 0 ;
               break ;
             }
           break ;
         }
       }
     break ;
   }
}
void OnTick ()
{
   if (pre_ticket == 0 )
  {
     OrderSend (); ////////
  }
}
 

그 쯤

ulong pre_ticket = 0 ; //Претикет ордера
ulong order_ticket_1 = 0 ; //Тикет ордера
ulong order_ticket_2 = 0 ; //Тикет ордера
ulong order_ticket_3 = 0 ; //Тикет ордера
ulong order_ticket_4 = 0 ; //Тикет ордера
ulong order_ticket_5 = 0 ; //Тикет ордера
uint num_order = 0 ;
//---
if ( OrderSend (request,result))
  {
     if (result.retcode== TRADE_RETCODE_DONE )
    {
      pre_ticket=result.order;
      num_order++;
    }  
  }
//----------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
                         const MqlTradeRequest &request,
                         const MqlTradeResult &result)
{
   switch (trans.type)
   {
     case TRADE_TRANSACTION_ORDER_UPDATE :
       if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
       {
         switch (trans.order_state)
         {
           case ORDER_STATE_PLACED :
             switch (num_order)
             {
               case 1 :
                 order_ticket_1 = pre_ticket;
                 pre_ticket = 0 ;
                 OrderSend ();
               break ;
               case 2 :
                 order_ticket_2 = pre_ticket;
                 pre_ticket = 0 ;
                 OrderSend ();
               break ;
               case 3 :
                 order_ticket_3 = pre_ticket;
                 pre_ticket = 0 ;

                 OrderSend(); 

                break ;
               case 4 :
                 order_ticket_4 = pre_ticket;
                 pre_ticket = 0 ;
                 OrderSend ();
               break ;
               case 5 :
                 order_ticket_5 = pre_ticket;
                 pre_ticket = 0 ;
               break ;
             }
           break ;
         }
       }
     break ;
   }
}
 
fxsaber :

그들은 그것을 고칠 수 없습니다. 이것은 기능입니다.

개발자들이 OrderSend() 로 상황에 대해 언급하지 않는 것이 유감입니다.

이것은 "속임수"입니까 아니면 고칠 것입니까? ...

 
fxsaber :

그들은 그것을 고칠 수 없습니다. 이것은 기능입니다.

SD는 다음 빌드에서 OrderSend() 가 정상적으로 작동할 것이라고 대답했습니다. :)
 
prostotrader :
SD는 다음 빌드에서 OrderSend()가 정상적으로 작동할 것이라고 대답했습니다. :)
그들은 거기에서 재미를

열린 포지션의 내역에서 완전히 형성된 거래 또는 포지션의 구조를 가져와야 합니다"라는 개념을 추가하려고 합니다.

 

그럼에도 불구하고 그들은 내가 위에 썼다고 대답했다.

설득력 있게 작성하지 않았거나 기능의 단점에 대해 논쟁하지 않았을 수 있습니다.

사유: