메타 트레이더 5 모든 통화 쌍에서 작동하지 않는 고문은 한 명도 없습니다. - 페이지 7

 

그리고 여기에 그 이유가 있습니다.

10030

TRADE_RETCODE_INVALID_FILL

잔액 별로 지원되지 않는 주문 실행 유형 이 지정되었습니다.

이미 말한 것:

ORDER_FILLING_RETURN 이어야 합니다.


 
Karputov Vladimir :

그리고 여기에 그 이유가 있습니다.

10030

TRADE_RETCODE_INVALID_FILL

잔액 별로 지원되지 않는 주문 실행 유형 이 지정되었습니다.

이미 말한 것:


실행 유형을 다음과 같이 보이게 하려면 어떻게 해야 합니까? ORDER_FILLING_RETURN  
 
그래서 ORDER_FILLING_을 수정하세요. RETURN 시 FOG일 수도 있습니다... MT5에서도 이 문제가 발생했습니다. 거래 중 코드에 약간의 간섭이 발생하고 실제 생활에서는 모든 것이 멈춥니다. 이에 대해 100달러를 잃었습니다. 새 코드도 작동하지 않았습니다. 그들이 그의 칩을 가져오기 전까지 데모에서 - 아마도 그렇게 생각되었을 것입니다 ... 단지 이해할 수 없는 것입니다 ... 그가 이 MT5를 오래 전에 버렸기 때문에 시작했지만 - 어쩐지 그렇게 보였습니다. 더 안정적이고 간단하게 ...
 
chipo :
그래서 ORDER_FILLING_을 수정하세요. RETURN 시 FOG일 수도 있습니다... MT5에서도 이 문제가 발생했습니다. 거래 중 코드에 약간의 간섭이 발생하고 실제 생활에서는 모든 것이 멈춥니다. 이에 대해 100달러를 잃었습니다. 새 코드도 작동하지 않았습니다. 데모에서 그가 칩을 가져오기 전까지는 - 아마도 그렇게 생각되었을 것입니다 ... 명확하지 않은 이유는 ... 그가 이 MT5를 오래 전에 버렸기 때문에 시작했지만 - 어떻게든 더 안정적이고 간단해 보였습니다...
NOT 1 표준 EA에는 줄이 없습니다.   ORDER_FILLING -   ORDER_F OK - FOK
 
모든 표준 어드바이저는 표준 라이브러리 에 구축되어 있으므로 라이브러리를 편집해야 합니다.
 
Alexander Bereznyak :
모든 표준 어드바이저는 표준 라이브러리 에 구축되어 있으므로 라이브러리를 편집해야 합니다.

표준 라이브러리는 편집할 필요가 없습니다. 이것은 잘못된 접근 방식입니다. 어드바이저를 새 이름으로 저장하고 코드를 약간 변경하기만 하면 됩니다. 예를 들어, Moving Averages.mq5 Expert Advisor를 새 이름 Moving Averages1.mq5로 저장합니다.

이 EA가 ORDER_FILLING_RETURN 실행 정책을 사용한다는 설명을 헤더에 추가합니다 .

 #property version    "1.00"
#property description "Политика исполнения: ORDER_FILLING_RETURN"
#include <Trade\Trade.mqh>

위치를 닫고 여는 기능에 한 줄의 코드를 추가합니다 .

 //+------------------------------------------------------------------+
//| Check for open position conditions                               |
//+------------------------------------------------------------------+
void CheckForOpen( void )
  {
   .
   .
   .
//--- additional checking
   if (signal!= WRONG_VALUE )
       if ( TerminalInfoInteger ( TERMINAL_TRADE_ALLOWED ))
         if ( Bars ( _Symbol , _Period )> 100 )
           {
            CTrade trade;
             trade.SetTypeFilling( ORDER_FILLING_RETURN );
            trade.PositionOpen( _Symbol ,signal,TradeSizeOptimized(),
                               SymbolInfoDouble ( _Symbol ,signal== ORDER_TYPE_SELL ? SYMBOL_BID : SYMBOL_ASK ),
                               0 , 0 );
           }
//---
  }
//+------------------------------------------------------------------+
//| Check for close position conditions                              |
//+------------------------------------------------------------------+
void CheckForClose( void )
  {
   .
   .
   .
//--- additional checking
   if (signal)
       if ( TerminalInfoInteger ( TERMINAL_TRADE_ALLOWED ))
         if ( Bars ( _Symbol , _Period )> 100 )
           {
            CTrade trade;
             trade.SetTypeFilling( ORDER_FILLING_RETURN );
            trade.PositionClose( _Symbol , 3 );
           }
//---
  }
 
Karputov Vladimir :

표준 라이브러리는 편집할 필요가 없습니다. 이것은 잘못된 접근 방식입니다. 어드바이저를 새 이름으로 저장하고 코드를 약간 변경하기만 하면 됩니다. 예를 들어, Moving Averages.mq5 Expert Advisor를 새 이름 Moving Averages1.mq5로 저장합니다.

이 EA가 ORDER_FILLING_RETURN 실행 정책을 사용한다는 설명을 헤더에 추가합니다 .

위치를 닫고 여는 기능에 한 줄의 코드를 추가합니다 .

괜찮은! 모든 것이 작동합니다. 귀하의 작업과 설명에 감사드립니다!
 
주제가 삭제되지 않습니까? 그리고 그것은 미래에 필요할 것입니다 :)