절반 부지를 폐쇄합니다. - 페이지 17

 
SDC :

당신은 전혀 논리적으로 생각하지 않습니다. 매직 넘버를 수정하는 것이 OrderOpenTime()을 아는 것보다 어떻게 도움이 될까요? 그것은 정확히 같은 것에 해당합니다.


하나의 주문으로 여러 부분 닫기를 수행해야 하기 때문에... 하나의 OrderClose()를 수행하고 OrderOpenTime()과 비교한 다음 동일한 Order로 다른 OrderClose()를 수행하지만 다시 OrderOpenTime()을 사용하여 비교하면 히스토리 내에 닫힌 주문이 있고 두 번째 OrderClose() 함수 를 닫지 않기 때문에 작동하지 않습니다 ...

이제 Magicnumber 1234를 사용하여 OrderClose()를 수행할 수 있고 OrderClose()가 완료된 후 주문 매직 번호를 12345로 수정할 수 있으므로 MagicNumber 1234를 호출한 첫 번째 함수는 더 이상 나머지에 적용할 수 없습니다. 나머지 주문에는 이제 매직 번호 12345가 할당되었으므로 주문합니다. 이제 이 MagicNumber 12345를 사용하여 다른 OrderClose() 함수(적용 가능하다고 가정)와 함께 사용할 수 있고 내가 가지고 있는 것이 작동하고 실행될 때까지 프로세스를 반복할 수 있습니다. 내가 원하는 방법.

그때까지 OrderOpenTime()은 한 번만 작동할 수 있습니다...
 
방금 생각했고 내가 틀렸다면 정정합니다. 그러나 OrderOpenTime() 및 OrderCloseTime()을 사용하면 어떻게 될까요?

현재 OrderOpenTime()을 동일한 Symbol()에서 역사적으로 닫힌 위치와 비교하고 일치하는 항목이 없으면 CloseOrder()가 실행됩니다. 이제 두 번째 CloseOrder() 함수 가 호출되면(첫 번째 CloserOrder()보다 가격이 높고 동일한 주문에 대해 더 많은 로트를 청산하려는 경우) OrderOpenTime()과 OrderCloseTime()을 비교할 수 있습니다. OrderOpenTime(OpenPosition) == OrderOpenTime(History) && OrderCloseTime(history) > OrderOpenTime(OpenPosition) THEN OrderClose() 두 번째 함수...?
 

글쎄, 당신은 이전에 여러 부분 마감에 대해 아무 말도 하지 않았습니다. 당신은 단지 주문을 반만 청산하고 싶다고 말했지만, 어쨌든 당신은 이것을 지나치게 생각하고 명백한 것을 완전히 놓치고 있습니다.

OrderOpenTime()이 한 번만 작동하는 이유는 무엇입니까?

정적 날짜/시간 부분닫힘;

정적 날짜 시간 부분닫힘두 번;

주문이 부품 마감 기준 레벨 1을 충족하고 오픈 시간이 partclosedance와 일치하지 않으면 부품을 닫고 partclosedonce에 타임스탬프를 추가합니다.

주문이 부품 마감 기준 레벨 1을 충족하고 해당 오픈 시간이 partclosednce와 일치하는 경우 이미 한 번 부분 마감되었으므로 아직 다시 부분 마감하지 마십시오.

주문이 부품 마감 기준 레벨 2를 충족하고 partclosedtwice와 일치하지 않는 경우 부품을 닫고 변수 partclosedtwice에 타임스탬프를 추가합니다.

 

또한 OrderHistory로 아무 것도 하지 않아야 합니다. 긴 백테스트를 실행하면 기록에 수백, 수천 개의 주문이 있을 수 있으며 EA는 매 틱마다 공개 주문을 모든 주문과 비교할 것입니다. 그렇게 하는 것은 매우 느리고 백테스트는 더 오래 실행할수록 기록이 커질수록 고통스럽게 느려지고 느려질 것입니다.

 
SDC :

또한 OrderHistory로 아무 것도 하지 않아야 합니다. 긴 백테스트를 실행하면 기록에 수백, 수천 개의 주문이 있을 수 있으며 EA는 매 틱마다 공개 주문을 모든 주문과 비교할 것입니다. 그렇게 하는 것은 매우 느리고 백테스트는 더 오래 실행할수록 기록이 커질수록 고통스럽게 느려지고 느려질 것입니다.


그럼 또 어떻게 하면 될까요...?
 

나는 단지 그것을하는 방법을 보여 주었다 !! 그것보다 더 간단한 방법이 있다면 그것이 무엇인지 알고 싶습니다. 당신이 원한다면 역사와 함께 그것을하십시오, 나는 단지 그렇게하는 것이 전부라는 제 의견을 말한 것입니다.

 
SDC :

나는 단지 그것을하는 방법을 보여 주었다 !! 그것보다 더 간단한 방법이 있다면 그것이 무엇인지 알고 싶습니다. 당신이 원한다면 역사와 함께 그것을하십시오, 나는 단지 그렇게하는 것이 전부라는 제 의견을 말한 것입니다.


오, 나는 정적 datetime이 OrderClose()의 날짜와 시간을 보유하는 것을 보았으므로 기록과 관련이 있는 것을 보는 것과 대조적으로 현재 주문의 초기 시작 시간 과 비교할 수 있습니까?
 

 
좋은 것 - 도와주셔서 감사합니다!

Static Datetime은 저에게 상당히 새롭기 때문에 내일 이 작업을 수행하고 어디에서 얻을 수 있는지 확인할 것입니다! 그러면 코드에서 이 성가신 부분을 정렬할 수 있기를 바랍니다. :)
 
SDC :

글쎄, 당신은 이전에 여러 부분 마감에 대해 아무 말도 하지 않았습니다. 당신은 단지 주문을 반만 청산하고 싶다고 말했지만, 어쨌든 당신은 이것을 지나치게 생각하고 명백한 것을 완전히 놓치고 있습니다.

OrderOpenTime()이 한 번만 작동하는 이유는 무엇입니까?

정적 날짜/시간 부분닫힘;

정적 날짜 시간 부분닫힘두 번;

주문이 부품 마감 기준 레벨 1을 충족하고 오픈 시간이 partclosedance와 일치하지 않으면 부품을 닫고 partclosedonce에 타임스탬프를 추가합니다.

주문이 부품 마감 기준 레벨 1을 충족하고 해당 오픈 시간이 partclosednce와 일치하는 경우 이미 한 번 부분 마감되었으므로 아직 다시 부분 마감하지 마십시오.

주문이 부품 마감 기준 레벨 2를 충족하고 partclosedtwice와 일치하지 않는 경우 부품을 닫고 변수 partclosedtwice에 타임스탬프를 추가합니다.


쾅! 이것은 치료로 작동했습니다 - 상상했던 것보다 훨씬 쉽습니다! 보기 시작했는데 5분 후, 작동이 되었어요 :) 도와주셔서 정말 감사합니다! 이제 여러 OrderClose() 함수 를 통합하고 실행할 수 있는지 확인합니다. 이 작업을 완료하면 다른 사람들로부터 받은 도움을 여기에서 되돌리기 위해 다른 스레드를 만들 것입니다! 이것은 분명히 다른 사람들이 한 번 간결한 게시물로 사용할 수 있는 것입니다.

나는 아직 숲에서 나오지 않았지만 그 정적 datetime은 이 하나의 orderclose()와 완벽하게 작동합니다. 다른 사람들에게도 왜 안되는지 모르겠습니다 :)