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

 
Klammeraffe :

"각 틱"에 관한 줄이 더 이상 발생하지 않는 이유일 수 있습니다.

이 기능은 새로운 막대가 나타날 때만 실행됩니다. 따라서 막대의 첫 번째 눈금만 거래를 실행할 수 있습니다. 첫 번째 막대 다음에 새 막대가 나타날 때까지 코드 get은 '반환'입니다. 어쩌면 이것이 나를 위해 그것을 해결했습니다.

이 코드는 다음 기사에서 가져온 것이라고 생각합니다.

이것은 또 다른 해결 방법이지만 브로커 또는 다른 곳에서 오류 반환이 있는 경우 반복해서 확인 하기 위해 루프를 유지하지 않는 한 신호는 더 이상 유효하지 않습니다.
 
doshur :
  • 처음에 doshur가 게시한 코드는 거래가 열리지 않은 상태에서 "Position opens in..."이라는 로그를 볼 수 있는 이유를 설명할 수 있습니다. 이는 PositionOpen()이 true를 반환하더라도 거래가 이루어졌음을 의미하지 않기 때문입니다. 문서 를 참조하십시오 . 그러나 "이중" 거래가 이루어진 이유를 설명할 수 없습니다.
보정. 2개의 "Position open in..."이 있고 2개의 거래가 열렸습니다.
당연하지. 내 말은 "그가 볼 수 있었던 이유는..."입니다. 여기서 요점은 코드에 이 2개의 거래를 얻은 이유를 설명할 수 있는 항목이 없다는 것입니다.
 
angevoyageur :
당연하지. 내 말은 "그가 볼 수 있었던 이유는..."입니다. 여기서 요점은 코드에 이 2개의 거래를 얻은 이유를 설명할 수 있는 항목이 없다는 것입니다.
확인. 이해하다.
 
angevoyageur :

나는 이 문제의 원인을 찾는 것이 매우 중요하다고 생각합니다. 물론 무슨 일이 일어나고 있는지 완전히 이해할 수 있을 때까지 해결 방법(Sleep ?)을 갖는 것도 중요합니다. 그래서 나는 상황을 재개하려고합니다.

* CTrade 클래스에서 PositionOpen 메소드를 사용할 때, 적어도 3명의 사용자가 어느 시점에 얻었고, 2는 1이 아닌 같은 방향으로 거래되어 예상했던 것보다 두 배의 볼륨을 가진 포지션이 되었습니다.

나는 두 가지 방법을 모두 사용하여 새 위치 = "구식 방식"을 열고 stoploss = "CTrade 클래스"를 수정합니다.


* 이 문제는 Depth of Market이 활성화된 기호와 함께 동일한 브로커에서 발생하는 것으로 보입니다(관련된 사람들이 이것을 확인할 수 있는지).

예, 브로커 X의 서버, Depth of Market이 활성화되었습니다.


* 이 문제는 동기 순서에서 발생하며 비동기 순서가 사용되지 않았습니다(확인하십시오).

예, 비동기 순서가 사용되지 않았습니다.


* 문제는 무작위로 발생합니다.

네, 하지만 바쁜 시장 시간 동안에만 가능합니다( 거시 경제 이벤트).



 

제 생각에는 이 문제는 쉽게 해결할 수 있습니다.


EA는 "PositionSelect(Symbol())" 함수 가 사용되고 터미널이 함수의 데이터를 업데이트한 경우 코드 실행으로 재개할 수 있기 전에 항상 응답/응답을 기다려야 합니다.

EA는 "OrderSend(mrequest,mresult)" 함수가 사용되고 터미널이 함수의 데이터를 업데이트한 경우 코드 실행으로 재개할 수 있기 전에 항상 응답/응답을 기다려야 합니다.


또한 함수의 데이터가 터미널에 복사되기 때문에 터미널 자체에 대해서도 언급하고 이 또한 시간이 좀 걸립니다.

이렇게 하면 현재 위치 크기가 항상 올바르게 계산되므로 이중 주문이 더 이상 발생하지 않습니다 .


어떻게 생각하나요?

 
snelle_moda :

제 생각에는 이 문제는 쉽게 해결할 수 있습니다.


EA는 "PositionSelect(Symbol())" 함수가 사용되고 터미널이 함수의 데이터를 업데이트한 경우 코드 실행으로 재개할 수 있기 전에 항상 응답/응답을 기다려야 합니다.

EA는 "OrderSend(mrequest,mresult)" 함수가 사용되고 터미널이 함수의 데이터를 업데이트한 경우 코드 실행으로 재개할 수 있기 전에 항상 응답/응답을 기다려야 합니다.


또한 함수의 데이터가 터미널에 복사되기 때문에 터미널 자체에 대해서도 언급하고 이 또한 시간이 좀 걸립니다.

이렇게 하면 현재 위치 크기가 항상 올바르게 계산되므로 이중 주문이 더 이상 발생하지 않습니다 .


어떻게 생각하나요?

"항상 응답을 기다리십시오..."가 무슨 뜻인지 잘 모르시겠습니까?

어쨌든 나는 ServiceDesk에 조언을 구하는 요청을 작성했습니다. 우리는 볼 것이다.

 
angevoyageur :

"항상 응답을 기다리십시오..."가 무슨 뜻인지 잘 모르시겠습니까?

어쨌든 나는 ServiceDesk에 조언을 구하는 요청을 작성했습니다. 우리는 볼 것이다.

""항상 응답을 기다리십시오..."가 무슨 뜻인지 잘 모르시겠습니까?"


EA는 PositionSelect(Symbol()) 함수 가 프로그램 환경에 위치에 대한 데이터 복사를 완료할 때까지 대기/중지해야 합니다.

강제 sleep() 함수 로 봅니다.

 
snelle_moda :

""항상 응답을 기다리십시오..."가 무슨 뜻인지 잘 모르시겠습니까?"


EA는 PositionSelect(Symbol()) 함수가 프로그램 환경에 위치에 대한 데이터 복사를 완료할 때까지 대기/중지해야 합니다.

강제 sleep() 함수 로 봅니다.

알겠습니다. 그러나 우리가 이해하지 못하는 것이 있거나 어딘가에 버그가 있는 등 그러한 솔루션에 만족할 수 없습니다.
 
해결책이 있기를 바랄 뿐입니다.

어쨌든 모두 메리 크리스마스.
 
서비스 데스크에서 업데이트가 있습니까?