내 EA가 이중 항목을 수행합니다. - 페이지 6

 
doshur :
서비스 데스크에서 업데이트가 있습니까?
아직 아님.
 
angevoyageur :
아직 아님.

안녕,

아직 서비스 데스크에서 소식이 없습니까?

 
doshur :

안녕,

아직 서비스 데스크에서 소식이 없습니까?

내가 답장을 받으면 여기에 답장을 게시할 것이라고 확신할 수 있습니다.

개인적 으로 나는 아직 문제를 재현하지 않았습니다.

 

내 EA는 신호를 매우 느리게 생성하고 오늘 거래를 했습니다.

새 코드를 사용한 후 로트 크기에는 문제가 없지만 새 코드가 작동하는지 확인할 수 없습니다.

 
doshur :

내 EA는 신호를 매우 느리게 생성하고 오늘 거래를 했습니다.

새 코드를 사용한 후 로트 크기에는 문제가 없지만 새 코드가 작동하는지 확인할 수 없습니다.

안녕하세요 도수르님

아직 ServiceDesk에서 응답이 없습니다. 그러나 귀하의 문제는 나를 "방해"합니다. 이 이중 거래 문제가 데모가 아닌 실제 계정에서 발생하는지 확인할 수 있습니까? (내 데모 계정에서는 이 문제를 재현할 수 없습니다.)

또한 귀하의 게시물을 다시 한 번 확인하여 이제 다음 로그를 표시합니다.

주문 #40018327 기준) DEAL2 - 항목 3

2013.12.20 08:35:01 거래 '800****': 331ms DEAL2 - 항목 2 에서 실행을 위해 배치된 시장에서 0.01 EURUSD 교환 구매

2013.12.20 08:35:01 '800****' 거래: 거래 #27731691 1.36353에서 0.01 EURUSD 구매 완료(주문 #40018326 기준) 거래 1 - 항목 3

2013.12.20 08:35:00 거래 '800****': 시장 DEAL2에서 0.01 EURUSD 교환 - 항목 1

2013.12.20 08:35:00 거래 '800****': 313ms DEAL1 - 항목 2 실행을 위해 배치된 시장에서 0.01 EURUSD 교환 구매

2013.12.20 08:35:00 거래 '800****': DEAL1 시장에서 0.01 EURUSD 교환 - 항목 1

내가 올바르게 이해하면 새 위치가 열리는 동안 PositionSelect()가 여전히 false라는 문제가 있음을 확인합니다. 실제로, 1번의 거래는 3번의 항목으로 이어지고 두 번째 거래는 거래 1에 대한 세 번째 항목이 도착하기 전에 시작되는 것을 볼 수 있습니다(새 거래/포지션 확인).

Sleep() 함수를 사용하는 해결 방법에 대해서는 어떤 지연을 사용해야 하는지 알 수 있는 방법이 없기 때문에 만족하지 않습니다. 물론 이 지연이 크면 클수록 "이중 거래"를 받을 기회는 줄어들지만 여전히 가능합니다. 그래서 여전히 더 나은 솔루션을 찾고 있습니다.


 
angevoyageur :

Sleep() 함수를 사용하는 해결 방법에 대해서는 어떤 지연을 사용해야 하는지 알 수 있는 방법이 없기 때문에 만족하지 않습니다. 물론 이 지연이 크면 클수록 "이중 거래"를 받을 기회는 줄어들지만 여전히 가능합니다. 그래서 여전히 더 나은 솔루션을 찾고 있습니다.

이 항목에 방금 도착했기 때문에 제가 틀렸다면 죄송합니다. 그러나 이 코드는 Sleep()보다 더 나은 해결 방법일 수 있으며 문제와 실제 필요한 지연 값을 식별하는 데 도움이 될 것입니다.

 bool fatalError= false ; // atention: declare this as global

....

if (fatalError== false ) {
   if (m_Trade.PositionOpen( Symbol (), ORDER_TYPE_BUY , LotSize, Price, 0 , 0 )) {
     Print ( "Position opened in " , Symbol ());
     int maxTimeout= 0 ;
     while (! PositionSelect ( Symbol ())) {
       Sleep ( 100 );
       maxTimeout++;
       if (maxTimeout> 100 ) {
           Print ( "### PositionSelect fatal error!" );
          fatalError= true ;
           break ;
       }
    }
     Print ( "--> PositionSelect delay=" ,maxTimeout* 100 );
     break ;
  }
}
 
angevoyageur :

안녕하세요 도수르님

아직 ServiceDesk에서 응답이 없습니다. 그러나 귀하의 문제는 저를 "방해"합니다. 이 이중 거래 문제가 데모가 아닌 실제 계정에서 발생하는지 확인할 수 있습니까? (내 데모 계정에서는 이 문제를 재현할 수 없습니다.)

또한 귀하의 게시물을 다시 한 번 확인하여 이제 다음 로그를 표시합니다.

내가 올바르게 이해하면 새 위치가 열리는 동안 PositionSelect()가 여전히 false라는 문제가 있음을 확인합니다. 실제로, 1번의 거래는 3번의 항목으로 이어지고 두 번째 거래는 거래 1에 대한 세 번째 항목이 도착하기 전에 시작되는 것을 볼 수 있습니다(새 거래/포지션 확인).

Sleep() 함수를 사용하는 해결 방법에 대해서는 어떤 지연을 사용해야 하는지 알 수 있는 방법이 없기 때문에 만족하지 않습니다. 물론 이 지연이 크면 클수록 "이중 거래"를 받을 기회는 줄어들지만 여전히 가능합니다. 그래서 여전히 더 나은 솔루션을 찾고 있습니다.


네. 실제 계정 을 사용 중입니다.
한 번 더 거래 완료. 중복 입장 불가. 내 새 코드가 작동할까요?
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Account Properties - Documentation on MQL5
 
figurelli :

이 항목에 방금 도착했기 때문에 제가 틀렸다면 죄송합니다. 그러나 이 코드는 Sleep()보다 더 나은 해결 방법일 수 있으며 문제와 실제 필요한 지연 값을 식별하는 데 도움이 될 것입니다.

흥미로운 아이디어입니다. 문제를 식별하는 데 사용하지만 Sleep() 함수 가 마음에 들지 않습니다. 각자가 자신의 솔루션을 자유롭게 선택할 수 있지만.

고맙습니다.

Documentation on MQL5: Common Functions / Sleep
Documentation on MQL5: Common Functions / Sleep
  • www.mql5.com
Common Functions / Sleep - Documentation on MQL5
 
angevoyageur :

흥미로운 아이디어입니다. 나는 그것을 문제를 식별하는 데 사용할 것이지만 각 사람이 자신의 솔루션을 자유롭게 선택할 수 있지만 Sleep() 함수 가 마음에 들지 않습니다.

고맙습니다.

환영합니다. 이 솔루션은 해결 방법일 뿐입니다. 저는 수면도 좋아하지 않습니다. 진드기가 풀릴 것이기 때문입니다. 아마도 세마포어/플래그 또는 상태 머신이 더 안전하고 효율적이며 우아할 것입니다.
 
figurelli :
환영합니다. 이 솔루션은 해결 방법일 뿐입니다. 저는 수면도 좋아하지 않습니다. 진드기가 풀릴 것이기 때문입니다. 아마도 세마포어/플래그 또는 상태 머신이 더 안전하고 효율적이며 우아할 것입니다.
귀하의 솔루션에 대한 내 테스트는 PositionSelect()가 PositionOpen(maxcount=0) 직후에 true이거나 false(maxcount=1)임을 보여줍니다. 그래서 분명히 지연이 있습니다. 누군가 실제 계정 에서 테스트할 수 있다면 흥미로울 것입니다.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Account Properties - Documentation on MQL5