전문 고문 - 기타 질문 - 페이지 19

 

#OrderType() 문자열 - 열기

아래 코드는 Sell OrderType에 대해 ' 1 '을 제공하지만 ' Sell, Buy so on ' 중 하나인 OrderType을 가져와야 하므로 숫자를 받고 싶지 않습니다.
유용한 댓글 이 필요합니다. 감사합니다.

IntegerToString ( OrderType () );
 

스위치 명령을 사용하십시오.

switch ( OrderType ())
{
case OP_SELL :
  
break ;

case OP_BUY :

break ;
}
 
Marco vd Heijden :

스위치 명령을 사용하십시오.

댓글 감사합니다 조만간 해봐야겠습니다.
 

더 단순화하려면 #define 지시문을 사용할 수도 있습니다.

#define buy   OP_BUY
#define sell OP_SELL
if ( OrderType ()==buy)

if ( OrderType ()==sell)
 
honest_knave :

더 단순화하려면 #define 지시문을 사용할 수도 있습니다.

나는 이미 #define을 사용하여 William 씨 의 pip 및 point 코드에 대해 복사했습니다.
그래서 귀하의 의견을 듣고 난 후 그것에 대해 약간 조사했습니다. 제 모든 스크립트에서 사용할 수 있다고 생각합니다.

귀하의 유용한 의견 에 감사드립니다.

 
Marco vd Heijden :

스위치 명령을 사용하십시오.

고마워요.

이 EA에 대해 Switch Operator를 처음으로 시도하고 있습니다.
그래서 나는 이것에 대해 조금 더 배웠다고 말하고 싶지만 이 운영자에 대한 경험은 없습니다.

내 테스트 EA에서 그것을 시도하기 전에 물어볼 필요가 있습니다. 아래 코드와 같이 사용할 수 있다는 뜻입니까? (내 테스트 ea에는 이미 500줄이 있습니다. 그리고 나는 OrderType() 을 string으로 변환하는 것을 혼동할 것입니다)

for ( ... )
{
     switch ( OrderType () )
    {
         case      0   :     ObjectCreate ( ... name + " Buy" ... );
                         ObjectSetInteger (chart_ID,name + " Buy" , OBJPROP_COLOR ,clr);
                         // ...
         break ;
         case      1   :     ObjectCreate ( ... name + " Sell" ... );
                         // ...
         break ;
    }
}

미리 감사드립니다.

// --- 두 번째 편집

내 관심사가 명확하지 않을 수도 있습니다.
나는 이미 이 문제에 대해 많은 시간을 보냈지만 실제로 이 연산자를 사용했지만 결과는 아닙니다.

아래 코드는 나에게 숫자를 제공합니다.

Print ( "OrderType: " , IntegerToString ( OrderType () ) );

// EURAUD,M30: OrderType: 0

그러나 나는 아래의 결과를 얻으려고 노력합니다.

// EURAUD,M30: OrderType: Buy

유용한 의견 이 필요합니다.
저를 도와주시겠습니까?

 

ID

설명

OP_BUY

0

구매 작업

OP_SELL

1

판매 작업


     switch ( OrderType ())
     {
       case 0 :
       Print ( "OrderType: buy" );
       break ;
      
       case 1 :
       Print ( "OrderType: sell" );
       break ;
     }

또는

   if ( OrderType ()== 0 )
     {
       Print ( "OrderType: buy" );
     }

   if ( OrderType ()== 1 )
     {
       Print ( "OrderType: sell" );
     }
 

@Marco 정말 감사합니다.

마침내 나는 그것을 얻었지만 " Conversion Functions " 중 하나의 코드를 작성할 것이라고 예상했습니다 ... 내 잘못된 기대가 나를 혼란스럽게했습니다.
현재 저는 3개의 " HLine " 객체를 사용하고 있습니다. 이제 두 경우 모두( 0 과 1 ) 복사했습니다. 지금까지 잘 작동합니다.
또한 " Order Properties "에는 6개의 값이 있으므로 동일한 (예: 개체, 색상, 스타일, 너비 등...) 인쇄 기능0, 2, 4에 적용하고 싶습니다.

Q: 아래 방법을 사용할 수 있습니까?

(예를 들어 인쇄 기능 )

switch ( OrderType () )
{
     case 0 : Print ( "OrderType: buy" );
             // ...
     break ;

     case 2 : Print ( "OrderType: buy" );
             // ...
     break ;

     case 4 : Print ( "OrderType: buy" );
             // ...
     break ;
}

많은 감사드립니다!

 

값이 다음과 같기 때문에 아니요.

ID

설명

OP_BUY

0

구매 작업

OP_SELL

1

판매 작업

OP_BUYLIMIT

2

구매 한도 보류 주문

OP_SELLLIMIT

판매 한도 보류 주문

OP_BUYSTOP

4

구매 중지 보류 주문

OP_SELLSTOP

5

판매 중지 보류 주문


따라서 사례 2와 사례 4는 OP_BUY와 같지 않습니다.

OP_BUYLIMIT 및 OP_BUYSTOP이므로 서로 다른 것입니다.

이것이 당신이 의미하는 바가 아닌 한

switch ( OrderType () )
{
     case 0 : Print ( "OrderType: buy" );
             // ...
     break ;

     case 2 : Print ( "OrderType: buy Limit" );
             // ...
     break ;

     case 4 : Print ( "OrderType: buy Stop" );
             // ...
     break ;
}
 
Marco vd Heijden :

값이 다음과 같기 때문에 아니요.
따라서 사례 2와 사례 4는 OP_BUY와 같지 않습니다.

#OrderType() 문자열 - 닫힘

귀하의 최근 댓글 이후에 저는 케이스의 0, 2, 4를 결합할 수 없다고 생각합니다.
시간과 도움을 주신 @Marco vd Heijden 에게 감사드립니다.

사유: