MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 735

 

Mql5 전문가 여러분, 헤지 계정 에서 포지션 청산 요청을 도와드립니다. 상황: BUY 위치 가 열려 있으므로 지정가 판매로 닫아야 합니다. 질문: 선택한 위치 가 닫히고 새로운 SELL 잠금 BUY가 열리지 않도록 올바르게 요청하는 방법??? 댓글로 코드를 작성해주세요! 미리 감사합니다!

 

안녕하세요. 도와주세요, 제발.

'LastDir' - illegal switch expression type


 double LastDir[];
//............... 
switch (LastDir[i]){
                           case 0 :
                               if ( High [i]>LastHighValue[i]){
                                 LastHighValue[i]= High [i];
                                 LastHighTime[i]= Time [i];
                                 LastDir[i]= 1 ;  
                                 ZZ[i]= High [i];                            
                                 PEACK[i]= High [i];
                              }   
                           break ;                            
                           case 1 :
                               if ( High [i]>LastHighValue[i]){
                                 int lhb= iBarShift ( NULL , 0 ,LastHighTime[i], false );
                                 ZZ[lhb]= 0 ;
                                 PEACK[lhb]= 0 ;
                                 LastHighValue[i]= High [i];
                                 LastHighTime[i]= Time [i];
                                 LastDir[i]= 1 ;  
                                 ZZ[i]= High [i];                            
                                 PEACK[i]= High [i];
                              }                           
                           break ;
                           case - 1 :
                               if ( High [i]>=LastLowValue[i]+ Point *ZZReverse){
                                 LastHighValue[i]= High [i];
                                 LastHighTime[i]= Time [i];
                                 LastDir[i]= 1 ;  
                                 ZZ[i]= High [i]; 
                                 PEACK[i]= High [i];                            
                              }
                        }
 
bij :

안녕하세요. 도와주세요, 제발.


switch 문 표현식 은 정수 유형 이어야 합니다.

 
Alekseu Fedotov :

switch 문 표현식 은 정수 유형 이어야 합니다.

그러나 " LastDir " 은 버퍼이며 int가 될 수 없습니다.

상황에서 벗어나는 방법?

 
bij :

그러나 " LastDir " 은 버퍼이며 int가 될 수 없습니다.

상황에서 벗어나는 방법?

switch 문을 피하십시오

if() 문으로 작업

 

이것이 첫 번째 경우와 동일하다는 확실성은 없습니다.

                       if (LastDir[i]== 0 )
 
@Alekseu Fedotov , 감사합니다, 작동합니다) 2009년에는 스위치가 두 배가 될 수 있습니다)
 
bij :
@Alekseu Fedotov , 감사합니다, 작동합니다) 2009년에는 스위치가 두 배가 될 수 있습니다)

그는 항상 가득 차 있었다

 
bij :

안녕하세요. 도와주세요, 제발.


버퍼에 double 0.0, 1.0 및 -1.0으로 표시되는 정수 값만 포함될 수 있는 경우 이 옵션을 선택합니다.

 double LastDir[];
//............... 
switch ( ( int ) LastDir[i]){
                           case 0 :
                               if ( High [i]>LastHighValue[i]){
                                 LastHighValue[i]= High [i];
                                 LastHighTime[i]= Time [i];
                                 LastDir[i]= 1 ;  
                                 ZZ[i]= High [i];                            
                                 PEACK[i]= High [i];
                              }   
                           break ;                            
                           case 1 :
                               if ( High [i]>LastHighValue[i]){
                                 int lhb= iBarShift ( NULL , 0 ,LastHighTime[i], false );
                                 ZZ[lhb]= 0 ;
                                 PEACK[lhb]= 0 ;
                                 LastHighValue[i]= High [i];
                                 LastHighTime[i]= Time [i];
                                 LastDir[i]= 1 ;  
                                 ZZ[i]= High [i];                            
                                 PEACK[i]= High [i];
                              }                           
                           break ;
                           case - 1 :
                               if ( High [i]>=LastLowValue[i]+ Point *ZZReverse){
                                 LastHighValue[i]= High [i];
                                 LastHighTime[i]= Time [i];
                                 LastDir[i]= 1 ;  
                                 ZZ[i]= High [i]; 
                                 PEACK[i]= High [i];                            
                              }
                        }
그러나 나는 케이스 0보다 케이스 -1을 먼저 넣을 것입니다.
 
Alexey Viktorov :

버퍼에 double 0.0, 1.0 및 -1.0으로 표시되는 정수 값만 포함될 수 있는 경우 이 옵션을 선택합니다.

그러나 나는 케이스 0보다 케이스 -1을 먼저 넣을 것입니다.

여기에서는 아마도 -1이 기본값으로 필요합니다. 설정, 특히 기본 케이스가 없기 때문에

... 여기에서 기본값으로 설정하는 것이 더 나은 값을 정확히 알기 위해서는 작성자가 되어야 합니다.

사유: