누구든지 도와주세요!!!

 

문제에 부딪쳤다

 for ( int i = 0 ; i < OrdersTotal (); i++)
  {
    
     if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
     if (OrderSymbol() != Symbol ()) continue ;
     if (OrderMagicNumber() != MAGA) continue ; 
     if (OrderType() == OP_BUY)DS= 1 ;


선택기는 열린 주문이 있으면 주문을 찾습니다. 그러나 열린 주문이 없으면 어떻게 감지합니까? 선택기에서 마지막 닫힌 포즈가 계속 표시됩니다...
 
sllawa3 :

문제에 부딪쳤다


선택기는 열린 주문이 있으면 주문을 찾습니다. 그러나 열린 주문이 없으면 어떻게 감지합니까? 선택기에서 마지막 닫힌 포즈가 계속 표시됩니다...
깃발로
MODE_TRADES
"선택기"는 닫힌 위치 를 전혀 표시하지 않고 열린 위치만 표시합니다. 열린 위치가 0이면 조건이 false이므로 주기가 시작되지도 않습니다.
 
Techno :
깃발로
"선택기"는 닫힌 위치를 전혀 표시하지 않고 열린 위치만 표시합니다. 열린 위치가 0이면 조건이 false이므로 주기가 시작되지도 않습니다.

그것은 바로 시작되지 않고 이미 닫혀 있는 마지막 포즈를 저장하지 않는 것입니다.. 저도 작성했습니다. 선택 순서를 통해 열려 있는 포즈의 존재를 확인할 수 있지만 부재를 확인하는 방법은 무엇입니까?
 
sllawa3 :

그것이 바로 시작되지 않고 이미 닫힌 마지막 포즈를 저장하는 것입니다 .. 그렇게 작성했습니다 ..
뭔가 이해할 수 없게 쓰여져 있습니다. 지금도 "포즈를 닫고 있다"는 것은 무슨 뜻인가요? 내가 추측할 수 있는 것처럼 위치 계산에 대해 이야기하는 경우 모든 변수( 주문 수 를 저장하기 위해)는 시작 기능 시작 시 0으로 재설정되어야 합니다. 즉, 이 주기 이전입니다. 주기 후에 비어 있으면 pos가 없습니다.
 
주제 시작 부분의 코드 조각 .. 포즈가 없으면 새 주문이 나타날 때까지 DS는 =1로 유지됩니다 ... 주문이 마감 되더라도 .. 선택이 시작되지 않습니다 ... 무엇 그럼 불명..
 
Techno :
뭔가 이해할 수 없게 쓰여져 있습니다. 지금도 "포즈를 닫고 있다"는 것은 무슨 뜻인가요? 내가 추측할 수 있는 것처럼 위치 계산에 대해 이야기하는 경우 모든 변수(주문 수를 저장하기 위해)는 시작 기능 시작 시 0으로 재설정되어야 합니다. 즉, 이 주기 이전입니다. 주기 후에 비어 있으면 pos가 없습니다.

DS는 루프 전에 처음에 int = 0으로 작성됩니다.
 
Techno :


따라서 사이클이 시작되지 않으면 0으로 재설정되지 않으며 pos가 없기 때문에 시작되지 않습니다.
 
sllawa3 :

DS는 루프 전에 처음에 int = 0으로 작성됩니다.
그리고 음, 등록되고 0이 할당되면 이론상 문제가 없을 수 있습니다. 그렇지 않으면 어디에서 1과 같습니까? 시작 기능에서 0 또는 그 이상으로 할당되었습니까?
 
더 높은
 
문제가 없을 수 있지만 .. 직접 시도하고 볼 수 있습니다.
 
어쩌면 그렇게?
 DS=0;
for ( int i = 0 ; i < OrdersTotal (); i++)
  {
    if (DS==0) DS=-1;
     if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
     if (OrderSymbol() != Symbol ()) continue ;
     if (OrderMagicNumber() != MAGA) continue ; 
     if (OrderType() == OP_BUY)DS= 1 ;
}
if (DS==0) // поз никаких нет
if (DS==-1) // позы есть, но нету БАЙ
if (DS==1) // есть БАЙ