불균형 왼쪽 괄호를 찾는 데 도움이 됩니다.

 

이 불균형 왼쪽 괄호의 오류를 찾는 데 도움이 될 수 있습니까 .... 모든 조합을 시도했지만 결코 해결되지 않았습니다 ....

또한 모든 경우가 올바르게 작성되었는지 조언하십시오 ....

나는 4 ma 십자가와 cci를 100 또는 -100 이상으로 작성하여 사고 팔려고했습니다 ... 미리 감사합니다!

 //magic numberの定義
#define MAGIC   4649         

//parameter //
extern double Lots = 1.0 ;     
extern int Slip = 10 ;         
extern string Comments =   "" ; 

extern int FastMA1_p = 34 ;
extern int SlowMA1_p = 34 ;
extern int modeMA1 = MODE_SMA ;
extern int modeMA2 = MODE_EMA ;
extern int MA1Cross_Timeframe = PERIOD_M15 ;
extern int FastMA2_p = 68 ;
extern int SlowMA2_p = 68 ;
extern int CCI_p = 20 ;
extern int CCI_Buy_Point = 100 ;
extern int CCI_Sell_Point = - 100 ;
extern int CCI_Timeframe = PERIOD_M30 ;
extern int Band_p = 6 ;
extern int Band_Timeframe = PERIOD_M15 ;



//変数の設定//
int Ticket_L = 0 ; 
int Ticket_S = 0 ; 
int Exit_L = 0 ;  
int Exit_S = 0 ;   


int start()
  {
  
  
  
     double MAFast1 = iMA ( NULL , MA1Cross_Timeframe, FastMA1_p, 0 , modeMA2, PRICE_CLOSE , 0 );
     double MAFast2 = iMA ( NULL , MA1Cross_Timeframe, FastMA1_p, 0 , modeMA2, PRICE_CLOSE , 1 );
     double MASlow1 = iMA ( NULL , MA1Cross_Timeframe, SlowMA1_p, 0 , modeMA1, PRICE_CLOSE , 0 );
     double MASlow2 = iMA ( NULL , MA1Cross_Timeframe, SlowMA1_p, 0 , modeMA1, PRICE_CLOSE , 1 );
    
     double MAFast3 = iMA ( NULL , MA1Cross_Timeframe, FastMA2_p, 0 , modeMA2, PRICE_CLOSE , 0 );
     double MAFast4 = iMA ( NULL , MA1Cross_Timeframe, FastMA2_p, 0 , modeMA2, PRICE_CLOSE , 1 );
     double MASlow3 = iMA ( NULL , MA1Cross_Timeframe, SlowMA2_p, 0 , modeMA1, PRICE_CLOSE , 0 );
     double MASlow4 = iMA ( NULL , MA1Cross_Timeframe, SlowMA2_p, 0 , modeMA1, PRICE_CLOSE , 1 );
     
     
     double cci1 = iCCI ( NULL , CCI_Timeframe, CCI_p, PRICE_CLOSE , 0 );
     double cci2 = iCCI ( NULL , CCI_Timeframe, CCI_p, PRICE_CLOSE , 1 );
     double cci3 = iCCI ( NULL , CCI_Timeframe, CCI_p, PRICE_CLOSE , 2 );
    
   double bands_upper1 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_UPPER, 1 );
   double bands_upper2 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_UPPER, 2 );
   double bands_lower1 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_LOWER, 1 );
   double bands_lower2 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_LOWER, 2 );
    
     
   //Buy exit
   if (   Close[ 2 ]>= bands_upper2 && Close[ 0 ] <bands_upper1
       && ( Ticket_L != 0 && Ticket_L != - 1 ))
    {     
      Exit_L = OrderClose (Ticket_L,Lots,Bid,Slip, Red );
       if ( Exit_L == 1 ) {Ticket_L = 0 ;}
    }    
    
   //Sell exit 
   if (    Close[ 2 ] <= bands_lower2 && Close[ 0 ] > bands_lower1
       && ( Ticket_S != 0 && Ticket_S != - 1 ))
    {     
      Exit_S = OrderClose (Ticket_S,Lots,Ask,Slip, Blue );
       if ( Exit_S == 1 ) {Ticket_S = 0 ;} 
    }   
    
   //  Buy entry
   if (    ( MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point )
    
     else if   (MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
   
     else if   (  MAFast2 <= MASlow2 && MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
   
     else   (MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point )
   
       && ( Ticket_L == 0 || Ticket_L == - 1 ) 
       && ( Ticket_S == 0 || Ticket_S == - 1 ))
    {  
      Ticket_L = ( OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slip, 0 , 0 ,Comments,MAGIC, 0 , Red );
    }
    
   // Sell entry 
   if (  (MAFast1 < MASlow1 && MAFast4 >= MASlow4 && MAFast3 < MASlow3 cci3 > CCI_Sell_Point && cci2 >= CCI_Sell_Point && cci1 < CCI_Sell_Point)
   
   else if   (  MAFast1 < MASlow1 && MAFast4 >= MASlow4 && MAFast3 < MASlow3 && cci1 < CCI_Sell_Point )
   
   else if (MAFast2 >= MASlow2 && MAFast1 < MASlow1  &&  MAFast3 < MASlow3 && cci1 < CCI_Sell_Point)
   
   else   ( MAFast1 < MASlow1 &&  MAFast3 < MASlow3 && cci3 > CCI_Sell_Point && cci2 >= CCI_Sell_Point && cci1 < CCI_Sell_Point )
       && ( Ticket_S == 0 || Ticket_S == - 1 )
      
       && ( Ticket_L == 0 || Ticket_L == - 1 ))
    {   
      Ticket_S = ( OrderSend ( Symbol (),OP_SELL,Lots,Bid,Slip, 0 , 0 ,Comments,MAGIC, 0 , Blue );     
    } 
    
     
   return ( 0 );
  }












 
      Ticket_S = (OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Blue);    
 
줄에는 3개의 여는 괄호가 있지만 2개의 닫는 괄호만 표시됩니다.
 
   //  Buy entry
if (( MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point )
else if   (MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
else if   (  MAFast2 <= MASlow2 && MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
else   (MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point )
&& ( Ticket_L == 0 || Ticket_L == - 1 ) 
&& ( Ticket_S == 0 || Ticket_S == - 1 ))
    {  
      Ticket_L = ( OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slip, 0 , 0 ,Comments,MAGIC, 0 , Red );
    }

위의 mish mash를 확인하십시오. 문제가 있는 곳입니다.

if else if else 넌센스는 완전히 다시 작성해야 합니다.

여기서 우리가 하고 있는 것은 거래 애플리케이션 을 작성하고 있다는 것입니다.

논스톱 방식으로 실행되어야 하고 미션 크리티컬한 방식으로 실행되어야 하는 거래 애플리케이션.

우리는 귀엽다고 하지 않습니다.

우리는 화려하려고 하지 않습니다.

우리는 30분 이내에 자바 앱이나 플래시 앱을 만들려고 하지 않습니다.

우리는 화려함을 원하지 않고 이익을 원합니다.

쉽게 읽을 수 있도록 해당 코드를 나눕니다.

영/.

 

빨리 답변해주셔서 감사합니다. If else와 ||의 차이점을 이해하는 데 문제가 있어요

여러 조건을 작성할 때의 차이점은 무엇인가요... if else를 사용해야 합니까 아니면 그냥 사용하는 것이 좋습니다 || .... if else와 ||의 차이점을 전혀 이해하지 못해요 ...(-..-)

 

이렇게 하는 대신:

if(x>y && y<r && p<=t) 실행();

아마도 다음과 같이 할 수 있습니다.

플래그=1;

if(x<=y) 플래그=0;

if(y>=r) 플래그=0;

if(p>t)플래그=0;

if(플래그==1) 실행();

내가 무슨 뜻인지 봐?

위의 예가 빠르게 작성되었으므로 따라하기가 훨씬 쉽습니다.

절대 바보가 그 논리를 따를 수 있도록 항상 거래 코드를 작성하십시오.

그렇지 않으면 코드를 완전히 이해하지 못하고 원하는 작업을 수행하지 않을 수 있습니다.

내가 무슨 뜻인지 봐?

그리고, 내가 말하는 것을 수행하는 다른 방법이 있습니다.

다른 질문이 있거나 위의 코드를 단순화하는 데 정말 도움이 되었으면 합니다.

영/.

비디오: Kid Rock - American Badass

 
if ( MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point )
{}
else if   (MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
{}
else if   (  MAFast2 <= MASlow2 && MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
{}
else
//  (MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point )
/*
&& ( Ticket_L == 0 || Ticket_L == -1 ) 
&& ( Ticket_S == 0 || Ticket_S == -1 ))
*/
    {  
      Ticket_L = OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slip, 0 , 0 ,Comments,MAGIC, 0 , Red );
    }

코드에 정말 심각한 오류가 있습니다.

우리가 그것들을 분류할 수 있는지 그리고 그 과정에서 그것이 어떻게 작동해야 하는지 가르쳐줄 것입니다.

첫 번째, 두 번째, 세 번째 줄 뒤에 삽입한 중괄호 {}에 주목하세요.

당신은 이것을하고 있었다:

만약(...)

그렇지 않으면(...)

또 다른(..)

&& 무엇이든

{}

그것은 의미가 없습니다.

if 및 else if 및 else는 다음과 같이 작동합니다.

if(비교) {이렇게 하세요}

else if(비교) {이렇게 하세요}

그렇지 않으면 {이렇게 하세요}

도움이 더 필요하면 알려주세요.

영/.

 
smoknfx :

이렇게 하는 대신:

if(x>y && y<r && p<=t) 실행();

아마도 다음과 같이 할 수 있습니다.

플래그=1;

if(x<=y) 플래그=0;

if(y>=r) 플래그=0;

if(p>t)플래그=0;

if(플래그==1) 실행();

내가 무슨 뜻인지 봐?

위의 예가 빠르게 작성되었으므로 따라하기가 훨씬 쉽습니다.

절대 바보가 그 논리를 따를 수 있도록 항상 거래 코드를 작성하십시오.

그렇지 않으면 코드를 완전히 이해하지 못하고 원하는 작업을 수행하지 않을 수 있습니다.

내가 무슨 뜻인지 봐?

그리고, 내가 말하는 것을 수행하는 다른 방법이 있습니다.

다른 질문이 있거나 위의 코드를 단순화하는 데 정말 도움이 되었으면 합니다.

영/.

비디오: Kid Rock - American Badass


도와 줘서 고맙다 .,. 사실 저는 코딩을 처음 접했고 위에 쓴 내용을 이해하지 못합니다... 동일한 코딩을 작성하는 데 여러 가지 방법이 있다는 것을 알고 있습니다 ///

사용하시는 분들은 제가 쓰고 싶은 것을 3줄로 쓰실 수 있고 저는 30개를 쓰고 있습니다.... 글을 쓸 수 있으려면 노력이 필요하다는 것을 압니다. .... 예, 도움이 될 수 있으면 감사하겠습니다. 하지만 아시는 곳에서 시작하세요. (-..-;)

나는 여전히 큰 바다에서 헤엄치는 작은 물고기이고 바다의 차원을 모릅니다 ........... 내 말은 길을 잃는다는 것입니다. 천만을 피하는 방법을 간단하게 설명해 주시겠습니까? 필요하지 않은 경우 라인 수 ... 4 ma 교차 CCI 및 Bolinger 밴드를 사용하여 종료하고 싶습니다.

위의 소스로 볼 수 있습니다 .... 어쨌든 감사합니다. 감사합니다.

 

Thanks i will try to understand....... SEE what i m doing coz it seems that i do not know what i m doing myself

 

알았어, 알았어, 네가 초보자인 줄은 몰랐어.

그럼 천천히 가자.

할 수 있는 가장 기본적인 것은 다음과 같습니다.

 if (
MAFast1 > MASlow1 && 
MAFast4 <= MASlow4 && 
MAFast3 > MASlow3 && 
cci3 < CCI_Buy_Point && 
cci2 <= CCI_Buy_Point && 
cci1 > CCI_Buy_Point )
    {  
      Ticket_L = OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slip, 0 , 0 ,Comments,MAGIC, 0 , Red );
    }

아주 기본적인...

&&가 AND를 의미한다는 것을 알고 있습니까?

코드에서 다음과 같이 말하면: if(x==1 && y==1) {dothis();}

당신은 정말로 이것을 말하고 있습니다: if(x는 1이고 y는 1입니다) {dothis();}

지금까지 나와 함께 있을 때 알려주거나 혼란스러울 때 알려주시면 정상 궤도로 돌아오도록 하겠습니다.

당신이 초보자라면 매우 기본적인 방법으로 일을 하십시오... 일을 지나치게 복잡하게 만들지 마십시오... 단순하게 유지하십시오...

 
smoknfx :

알았어, 알았어, 네가 초보자인 줄은 몰랐어.

그럼 천천히 가자.

할 수 있는 가장 기본적인 것은 다음과 같습니다.

아주 기본적인...

&&가 AND를 의미한다는 것을 알고 있습니까?

코드에서 다음과 같이 말하면: if(x==1 && y==1) {dothis();}

당신은 정말로 이것을 말하고 있습니다: if(x는 1이고 y는 1입니다) {dothis();}

지금까지 나와 함께 있을 때 알려주거나 혼란스러울 때 알려주시면 정상 궤도로 돌아오도록 하겠습니다.


가르쳐 주셔서 감사합니다. 예, 지금까지는 당신이 의미하는 바를 알았습니다. 들어가기 전에 완료해야 하는 4개의 MA 십자가와 CCI 조건이 있습니다. 그러나 이러한 지표가 서로 다른 타이밍에 조건을 완료하는 경우가 있습니다..

예를 들어 빠른 MA가 먼저 교차한 다음 느린 MA와 CCI... 또는 CCI가 먼저 교차하고 Fast MA와 느린 MA가 교차합니다. 또는 느린 MA를 먼저 적용한 다음 빠른 MA를 먼저 적용한 다음 CCI를 마지막으로 .... 모든 경우에 EA를 입력하려면 모든 경우를 코딩해야 합니다...

내가 첫 번째 주석에 복사한 첫 번째 소스를 보고 모든 경우를 코딩했습니까 아니면 그냥 말이 안 되는 것입니까... 여기에 || If else....대신에.... 그게 말이 되나요... 여전히 Unbalance left parenthesis라고 표시되지만,.....

//マジックナンバーの定義
#define MAGIC   4649         

// parameter
extern double Lots = 1.0 ;     //取引ロット数
extern int Slip = 10 ;         //許容スリッページ数
extern string Comments =   "" ; //コメント

extern int FastMA1_p = 34 ;
extern int SlowMA1_p = 34 ;
extern int modeMA1 = MODE_SMA ;
extern int modeMA2 = MODE_EMA ;
extern int MA1Cross_Timeframe = PERIOD_M15 ;
extern int FastMA2_p = 68 ;
extern int SlowMA2_p = 68 ;
extern int CCI_p = 20 ;
extern int CCI_Buy_Point = 100 ;
extern int CCI_Sell_Point = - 100 ;
extern int CCI_Timeframe = PERIOD_M30 ;
extern int Band_p = 6 ;
extern int Band_Timeframe = PERIOD_M15 ;



//variables//
int Ticket_L = 0 ; 
int Ticket_S = 0 ; 
int Exit_L = 0 ;   
int Exit_S = 0 ;   


int start()
  {
  
  
  
     double MAFast1 = iMA ( NULL , MA1Cross_Timeframe, FastMA1_p, 0 , modeMA2, PRICE_CLOSE , 0 );
     double MAFast2 = iMA ( NULL , MA1Cross_Timeframe, FastMA1_p, 0 , modeMA2, PRICE_CLOSE , 1 );
     double MASlow1 = iMA ( NULL , MA1Cross_Timeframe, SlowMA1_p, 0 , modeMA1, PRICE_CLOSE , 0 );
     double MASlow2 = iMA ( NULL , MA1Cross_Timeframe, SlowMA1_p, 0 , modeMA1, PRICE_CLOSE , 1 );
    
     double MAFast3 = iMA ( NULL , MA1Cross_Timeframe, FastMA2_p, 0 , modeMA2, PRICE_CLOSE , 0 );
     double MAFast4 = iMA ( NULL , MA1Cross_Timeframe, FastMA2_p, 0 , modeMA2, PRICE_CLOSE , 1 );
     double MASlow3 = iMA ( NULL , MA1Cross_Timeframe, SlowMA2_p, 0 , modeMA1, PRICE_CLOSE , 0 );
     double MASlow4 = iMA ( NULL , MA1Cross_Timeframe, SlowMA2_p, 0 , modeMA1, PRICE_CLOSE , 1 );
     
     
     double cci1 = iCCI ( NULL , CCI_Timeframe, CCI_p, PRICE_CLOSE , 0 );
     double cci2 = iCCI ( NULL , CCI_Timeframe, CCI_p, PRICE_CLOSE , 1 );
     double cci3 = iCCI ( NULL , CCI_Timeframe, CCI_p, PRICE_CLOSE , 2 );
    
   double bands_upper1 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_UPPER, 1 );
   double bands_upper2 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_UPPER, 2 );
   double bands_lower1 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_LOWER, 1 );
   double bands_lower2 = iBands ( NULL , Band_Timeframe, Band_p, 1 , 0 , PRICE_CLOSE , MODE_LOWER, 2 );
    
     
   //韮uy exit
   if (   Close[ 2 ]>= bands_upper2 && Close[ 0 ] <bands_upper1
       && ( Ticket_L != 0 && Ticket_L != - 1 ))
    {     
      Exit_L = OrderClose (Ticket_L,Lots,Bid,Slip, Red );
       if ( Exit_L == 1 ) {Ticket_L = 0 ;}
    }    
    
   //Sell exit
   if (    Close[ 2 ] <= bands_lower2 && Close[ 0 ] > bands_lower1
       && ( Ticket_S != 0 && Ticket_S != - 1 ))
    {     
      Exit_S = OrderClose (Ticket_S,Lots,Ask,Slip, Blue );
       if ( Exit_S == 1 ) {Ticket_S = 0 ;} 
    }   
    
   // buy entrt
   if (    ( MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point ) //fast MA first, slow MA and cci later.
    || (MAFast1 > MASlow1 && MAFast4 <= MASlow4 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
    || ( ( MAFast2 <= MASlow2 && MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci1 > CCI_Buy_Point )
    || (MAFast1 > MASlow1 && MAFast3 > MASlow3 && cci3 < CCI_Buy_Point && cci2 <= CCI_Buy_Point && cci1 > CCI_Buy_Point )
   
       && ( Ticket_L == 0 || Ticket_L == - 1 ) 
       && ( Ticket_S == 0 || Ticket_S == - 1 ))
    {  
      Ticket_L = OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slip, 0 , 0 ,Comments,MAGIC, 0 , Red );
    }
    
   //sell entry
   if (  (MAFast1 < MASlow1 && MAFast4 >= MASlow4 && MAFast3 < MASlow3 cci3 > CCI_Sell_Point && cci2 >= CCI_Sell_Point && cci1 < CCI_Sell_Point)
   || (  MAFast1 < MASlow1 && MAFast4 >= MASlow4 && MAFast3 < MASlow3 && cci1 < CCI_Sell_Point )
      
       ||( MAFast2 >= MASlow2 && MAFast1 < MASlow1  &&  MAFast3 < MASlow3 && cci1 < CCI_Sell_Point)
       ||( MAFast1 < MASlow1 &&  MAFast3 < MASlow3 && cci3 > CCI_Sell_Point && cci2 >= CCI_Sell_Point && cci1 < CCI_Sell_Point )
       && ( Ticket_S == 0 || Ticket_S == - 1 )
      
       && ( Ticket_L == 0 || Ticket_L == - 1 ))
    {   
      Ticket_S = OrderSend ( Symbol (),OP_SELL,Lots,Bid,Slip, 0 , 0 ,Comments,MAGIC, 0 , Blue );     
    } 
    
     
   return ( 0 );
  }