초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 548

 
edutak :

첫 번째 버전이 매우 강력했기 때문에 코드를 보여주고 싶지 않습니다. 최적화 없이 10년을 견뎠습니다. 이제 좀 더 복잡하고 수익성 있게 만들고 싶습니다.

코드는 매우 간단합니다.

마찬가지로 논리 오류로 인해 각 틱에서 주문을 열 수 있습니까?

포지션을 열기 전에 이미 열린 포지션 이 있는지 없는지 확인하십시오.
 
Vitalii Ananev :
포지션을 열기 전에 이미 열린 포지션 이 있는지 없는지 확인하십시오.
그래서?
 for ( int pos= 0 ; pos< OrdersTotal (); pos++)
     {
       OrderSelect (pos, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magik)
         kolpos++;
     }
 

닫기 전에.

 if ( OrdersTotal ()!= 0 )
         if ( OrderSelect (pos, SELECT_BY_POS , MODE_TRADES ))
             if ( OrderType ()== OP_BUY )
 
edutak :
그래서?
   for ( int pos= OrdersTotal ()- 1 ; pos>= 0 ; pos--)         
   {
       if (! OrderSelect (pos, SELECT_BY_POS , MODE_TRADES )) continue ;
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magik)  kolpos++;
   }

다소 이렇습니다.

함수로 작성하는 것이 좋습니다.

 int CountOrder( string Smb, int Magik)
{
   int Total = OrdersTotal ();
   if (Total== 0 ) return ( 0 );
   int kolpos = 0 ;
   for ( int pos=Total- 1 ; pos>= 0 ; pos--)         
   {
       if (! OrderSelect (pos, SELECT_BY_POS , MODE_TRADES )) continue ;
       if ( OrderSymbol ()==Smb && OrderMagicNumber ()==Magik)  kolpos++;
   }
   return (kolpos);
}
 
edutak :

닫기 전에.

닫기 전에 magick 및 symbol에 대한 검사가 없습니다. 다른 고문의 거래를 마감하거나 수동으로 열 수 있습니다.
 
Vitalii Ananev :
다소 이렇습니다.

아니요, 문제가 해결되지 않았습니다. 그녀는 이 블록에 없습니다.

당신과 나의 차이점이 무엇인지 설명해 주시겠습니까?

 
edutak :

아니요, 문제가 해결되지 않았습니다. 그녀는 이 블록에 없습니다.

당신과 나의 차이점이 무엇인지 설명해 주시겠습니까?

그래서 당신은 뭔가 잘못하고 있습니다. 코드를 처리하십시오.

내 것이 더 좋습니다 :)

...

그래서 당신은 하나의 주문을 놓치지 않을 것입니다. 귀하의 버전에서 현재 일부 포지션이 마감되거나 주문이 삭제되면 나머지 포지션 중 일부를 건너뛸 수 있습니다.

 
Vitalii Ananev :

그래서 당신은 뭔가 잘못하고 있습니다. 코드를 처리하십시오.

내 것이 더 좋습니다 :)

...

그래서 당신은 하나의 주문을 놓치지 않을 것입니다. 귀하의 버전에서 현재 일부 포지션이 마감되거나 주문이 삭제되면 나머지 포지션 중 일부를 건너뛸 수 있습니다.

전역 변수 로 선언되었지만 오류가 발생합니다.

 int CountOrder;
 
edutak :

전역 변수 로 선언되었지만 오류가 발생합니다.

내가 당신에게 쓴 것은 기능입니다.

다음은 사용 예입니다.

 int Count = CountOrder( Symbol (), 12345 );

if (Count== 0 )
{
//можно открывать
}
 
Vitalii Ananev :

내가 당신에게 쓴 것은 기능입니다.

다음은 사용 예입니다.

혼란스러운
사유: