실수로 고통받는 거래가 없습니다. - 페이지 7

 

당연하지, Artyom. 이 가장 간단한 코드에는 실제로 오류가 인쇄되지 않습니다. 확실히 추가하고 다시 확인할 것입니다. 그러나 해당 주 EA에는 각 오류에 대한 메시지가 있습니다.

그리고 두 번째 질문에서, 검증 인이 정보 환경에 최소 0.2 랏을 배치하고 $1의 초기 보증금으로 거래를 열려고 할 때. 어떤 수표와 인쇄도 이 테스트를 통과하는 데 도움이 되지 않을 것입니다. 위의 코드와 같이 아무 것도 체크하지 않으면 오류 134와 함께 실패가 보장됩니다. 또는 모든 항목을 확인하고 서버에 개시 주문을 보내지 않으면 " 거래 없음"입니다.

이 악순환에서 벗어날 수 있는 방법은 무엇일까요?

NZDUSD에 대한 거래 작업이 항상 없는 이유는 무엇입니까? 나는 이것과 저 어드바이저를 모두 확인했습니다. 실험의 순도를 확인하기 위해 동료에게 보냈습니다. 그는 거래도 없었다. 검사가 성공했는지 여부는 중요하지 않습니다. 코드에서 볼 수 있듯이 이 쌍에 대한 거래에는 제한이 없습니다.

이것은 저와 제 고문에게만 해당되는 것이 아닙니다. 이 지점과 주변 지점에 검증인 보고서를 게시한 사람이 NZDUSD에 대한 거래를 하지 않았습니다 .
 
Andrey Kaunov :

당연하지, Artyom. 이 가장 간단한 코드에는 실제로 오류가 인쇄되지 않습니다. 확실히 추가하고 다시 확인할 것입니다. 그러나 해당 주 EA에는 각 오류에 대한 메시지가 있습니다.

그리고 두 번째 질문에서, 검증 인이 정보 환경에 최소 0.2 랏을 배치하고 $1의 초기 보증금으로 거래를 열려고 할 때. 어떤 수표와 인쇄도 이 테스트를 통과하는 데 도움이 되지 않을 것이 분명합니다. 위의 코드와 같이 아무 것도 체크하지 않으면 오류 134와 함께 실패가 보장됩니다. 또는 모든 항목을 확인하고 서버에 개시 주문을 보내지 않으면 " 거래 없음"입니다.

이 악순환에서 벗어날 수 있는 방법은 무엇일까요?

NZDUSD에 항상 거래 작업이 없는 이유는 무엇입니까? 나는 이것과 저 어드바이저를 모두 확인했습니다. 실험의 순도를 확인하기 위해 동료에게 보냈습니다. 그는 거래도 없었다. 검사가 성공했는지 여부는 중요하지 않습니다. 코드에서 볼 수 있듯이 이 쌍에 대한 거래에는 제한이 없습니다.

이것은 저와 제 고문에게만 해당되는 것이 아닙니다. 이 지점과 주변 지점에 검증인 보고서를 게시한 사람이 NZDUSD에 대한 거래를 하지 않았습니다 .

당신은 자신이 다음과 같이 말했습니다 .

모든 것을 확인 하고 서버에 개시 주문을 보내지 마십시오

이 작업은 직접 수행해야 하며 서버에서 불가피한 오류가 발생할 때까지 기다리지 마십시오. 그리고 이런저런 이유로 서버에 주문을 보낼 수 없다는 사실을 반드시 로그에 보고하십시오.

 
Artyom Trishkin :

...

이 작업은 직접 수행해야 하며 서버에서 불가피한 오류가 발생할 때까지 기다리지 마십시오. 그리고 이런저런 이유로 서버에 주문을 보낼 수 없다는 사실을 반드시 로그에 보고하십시오.

그럼 난 시험을 통과하지 못해, Artyom. 한 시간 동안 확인한 후 이미 구성할 수 있는 보고서를 받았습니다.

그리고 NZDUSD에 대한 두 번째 질문은 어떻습니까? 그녀의 문제가 아닐까요? EURUSD의 경우 항상 거래가 있지만 NZDUSD의 경우 유효성 검사기가 비틀거리는 것 같습니다. 때로는 더 밀고 테스트를 통과합니다.

그러나 대부분의 경우 유효성 검사 오류도 중단됩니다. 이 NZDUSD를 확인하십시오. 저는 그것이 문제라고 봅니다.

 
Andrey Kaunov :

그럼 난 시험을 통과하지 못해, Artyom. 한 시간 동안 확인한 후 이미 구성할 수 있는 보고서를 받았습니다.

해안에 있는 모든 것을 고치기에 충분합니다.

이전 유효성 검사기 오류 보고서는 훨씬 더 겸손했습니다.

NZDUSD H1 에서 전략 테스터 를 실행하고 로그에서 어떤 일이 발생하는지 확인하십시오.

GBPUSD M30과 동일

 

Renat, 그게 가장 간단한 코드에서는 작동하지 않을 수 있습니다. 내 테스터에서는 모든 쌍에서 작동합니다. 여기에서 약간 업그레이드했습니다. 확인해보세요 혹시 제가 놓친 부분이 있을지도...

 #property version    "1.00"
#property strict

int test_ticket[ 2 ]={ 0 , 0 };
double    gl_lots,
         gl_ask,
         gl_bid;
string    gl_comm;         
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit () {
//---

//---
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason) {
//---

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick () {
   gl_lots= SymbolInfoDouble ( _Symbol , SYMBOL_VOLUME_MIN );
   gl_ask= NormalizeDouble (Ask, _Digits );
   gl_bid= NormalizeDouble (Bid, _Digits );
   gl_comm= "test" ;
//---
   if (AccountFreeMarginCheck( _Symbol ,OP_BUY,gl_lots)<= 0 || GetLastError ()== 134 ) {
       printf ( "Not enough money for the minimum lot: %.4f" ,gl_lots); 
       ExpertRemove ();
   }
   if (test_ticket[ 1 ]< 8 && test_ticket[ 0 ]== 0 ) {
      test_ticket[ 0 ]= OrderSend ( ( StringCompare ( _Symbol , "NZDUSD" )== 0 ? "NZDUSD" : _Symbol ) ,OP_BUY,gl_lots,gl_ask, 30 , 0.0 , 0.0 ,gl_comm, 33333 , 0 , clrNONE );
       if (test_ticket[ 0 ]> 0 ) test_ticket[ 1 ]++;
   }   
   if (test_ticket[ 0 ]> 0 )
       if ( OrderSelect (test_ticket[ 0 ],SELECT_BY_TICKET)) {
         if (OrderCloseTime()== 0 && OrderOpenTime()+ 300 < TimeCurrent ())
             if (OrderClose(test_ticket[ 0 ],OrderLots(),gl_bid, 30 , clrNONE )) {
               printf ( "Test order closed, ticket #%d" ,test_ticket[ 0 ]);
               test_ticket[ 0 ]= 0 ;
            }   
      }
}
//+------------------------------------------------------------------+

그리고 여전히 NZDUSD에 대한 거래는 없습니다. 심지어 크랙도 있습니다.

그러나 이제 유효성 검사기는 오류 134 를 제공하지 않으며 $1의 초기 보증금으로 최소 0.2 로트로 테스트되었음을 표시하지 않습니다.

 
Andrey Kaunov :

Renat, 그게 가장 간단한 코드에서는 작동하지 않을 수 있습니다. 내 테스터에서는 모든 쌍에서 작동합니다. 여기에서 약간 업그레이드했습니다.

그리고 여전히 NZDUSD에 대한 거래는 없습니다. 심지어 크랙도 있습니다.

일반 테스터에서 실행하면 로그에 오류가 있을 수 있습니다.
 

무슨 소리야, 레나트. 글쎄, 차를 몰았다



 
Andrey Kaunov :

Renat, 그게 가장 간단한 코드에서는 작동하지 않을 수 있습니다. 내 테스터에서는 모든 쌍에서 작동합니다. 여기에서 약간 업그레이드했습니다. 확인해보세요 혹시 제가 놓친 부분이 있을지도...

그리고 여전히 NZDUSD에 대한 거래는 없습니다. 심지어 크랙도 있습니다.

그러나 이제 유효성 검사기는 오류 134 를 제공하지 않으며 $1의 초기 보증금으로 최소 0.2 로트로 테스트되었음을 표시하지 않습니다.

전문가를 언로드할 수 없습니다.

 
Artyom Trishkin :

전문가를 언로드할 수 없습니다.

Artyom은 언로드하지 않고 모든 것이 정확히 동일했습니다. 전문가 고문이 아니라 NZDUSD에 관한 것입니다. 디테일이 아닌 본질에 주목!!!

로그 파일의 볼륨을 초과하는 오류가 발생하지 않도록 언로드합니다.
 
Andrey Kaunov :

Artyom은 언로드하지 않고 모든 것이 정확히 동일했습니다. 전문가 고문이 아니라 NZDUSD에 관한 것입니다. 디테일이 아닌 본질에 주목!!!

유효성 검사기는 매개변수를 반복합니다. 거래가 없는 첫 번째 조합을 만나면 Expert Advisor를 언로드합니다. 모든 것. 더 이상의 테스트는 무의미합니다.

결론은 검증인이 전문가와 협력하지 못하게 하는 것입니다.

일부 기호에 대한 거래가 없더라도 테스트는 통과합니다. 가장 중요한 것은 거래 작업을 실행할 수 없는 경우 Expert Advisor가 이에 대한 로그 항목을 발행하고 계속 작업해야 한다는 것입니다.
당신은 검증인이 아닌 사람들을 위한 프로그램을 만들고 있습니다. 오류를 처리하지 않지만 차트에서 어리석게 제거되는 프로그램이 시장에 있는 이유는 무엇입니까? 그런 기적을 스스로 사시겠습니까?