네, 저도 같은 이야기를 하고 있습니다. 실제로 두 개의 위치가 있을 때 스크립트는 위치 중 하나를 닫을 수 있지만 PositionsTotal()은 1을 반환합니다. 그런 다음 닫은 후 루프 종료 조건이 충족됩니다. 즉, PositionsTotal()은 2를 반환합니다.
2021.05 . 0510 : 11 : 44.101 Test (EURUSD,M1) Закрытие, т. к. PositionsTotal () равно 12021.05 . 0510 : 11 : 44.101 Test (EURUSD,M1) Выход. PostionsTotal: 2
여기에서는 모든 것이 순서대로 옳다고 생각합니다. 실제로 두 개의 위치가 있지만 PositionsTotal()은 아직 업데이트를 받지 못했습니다. 따라서 1을 반환하고 위치가 닫힙니다. 그리고 거래 작업을 수행한 후에는 거래 작업을 수행하기 전의 상태에 해당하는 상태로 업데이트됩니다. 여기서 우리는 2를 얻습니다.
#include <Trade\Trade.mqh>
CTrade Trade;
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
//---int total= PositionsTotal ();
int Ordertotal= OrdersTotal ();
while (! IsStopped () && (total <= 1 )) // Закончим, когда появится более одной позиции.if (total == 1 )
Trade.PositionClose( PositionGetTicket ( 0 )); // Если есть позиция - закрываем.elseif (!Ordertotal)
Trade.Buy( 0.01 ); // Если нет позиции и ордера - открываем позицию.
}
//+------------------------------------------------------------------+
네, 저도 같은 이야기를 하고 있습니다. 실제로 두 개의 위치가 있을 때 스크립트는 위치 중 하나를 닫을 수 있지만 PositionsTotal()은 1을 반환합니다. 그런 다음 닫은 후 루프 종료 조건이 충족됩니다. 즉, PositionsTotal()은 2를 반환합니다.
출력물을 붙여넣어 진행 상황을 완전히 볼 수 있습니다.
출력물을 붙여넣어 진행 상황을 완전히 확인할 수 있습니다.
예, 추론의 정확성을 확인하려면:
결과:
사실, 그 위치는 교수형에 처할 수밖에 없었습니다.
PS 복사 붙여넣기 때문에 코드에 잘못된 것을 삽입했기 때문에 게시물을 수정했습니다.사실, 그 자리에 매달릴 수밖에 없었습니다.
로그에서 마지막 거래 작업 을 기록하는 시간은 스크립트 종료 기록 시간을 따릅니다.
OrdersTotal을 인쇄하는 것도 중요합니다.로그에서 마지막 거래 작업 을 기록하는 시간은 스크립트 종료 기록 시간을 따릅니다.
이 두 항목을 말씀하시는 건가요?
여기에서는 모든 것이 순서대로 옳다고 생각합니다. 실제로 두 개의 위치가 있지만 PositionsTotal()은 아직 업데이트를 받지 못했습니다. 따라서 1을 반환하고 위치가 닫힙니다. 그리고 거래 작업을 수행한 후에는 거래 작업을 수행하기 전의 상태에 해당하는 상태로 업데이트됩니다. 여기서 우리는 2를 얻습니다.
이 문제는 오랫동안 논의되었습니다. 거의 모든 사람이 가지고 있습니다. 처음으로 코드를 안정적으로 재생합니다.
솔루션을 찾았습니다.
그리고 해결책은 무엇입니까?
그리고 안정적인 재생 코드를 찾는 데 어려움은 무엇이었습니까? 하나의 조치 - 개시 또는 폐쇄, 그리고 다음은 시장 또는 과거 의 포지션 수에 따라 결정됩니다.이 두 항목을 말씀하시는 건가요?
아니요, 거래 활동의 마지막 기록은 두 번째 로그에 있습니다.
OrdersTotal을 인쇄하는 것도 중요합니다.
지문을 추가했습니다. 이제 예상대로 두 자리가 남았습니다.
결과:
그리고 해결책은 무엇입니까?
의 포지션 수에 따라 결정됩니다.
어려움은 없었고, 나는 박쥐에서 바로 썼습니다.
이것은 전혀 멈추지 않고 포지션을 여는 방법입니다.
이것은 전혀 멈추지 않고 포지션을 여는 방법입니다.
글쎄, 누가 총계를 업데이트 할 것인가? ))