Dengesiz sol parantez bulmaya yardım edin

 

Birisi bana bu Dengesiz sol parantez hatasını bulmamda yardımcı olabilir mi .... tüm kombinasyonları kendim denedim ama asla çözmüyor ....

ve ayrıca tüm vakaların düzgün bir şekilde yazılıp yazılmadığı konusunda bir tavsiye ....

4 ma haçları ve cci'yi 100 veya -100'ün üzerine alıp alıp satmaya çalıştım... Şimdiden teşekkürler!

 //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);    
 
Çizgi, üç açılış, ancak yalnızca iki kapanış parantezini gösteriyor
 
   //  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 );
    }

yukarıdaki mish mash'ı kontrol edin, sorun burada.

bu grup if else if else saçmalığının tamamen yeniden yazılması gerekiyor.

burada yaptığımız şeyin bir ticaret uygulaması yazmak olduğunu unutmayın.

Kesintisiz bir şekilde çalışması gereken ve kritik bir görev türünde çalışması gereken bir ticaret uygulaması.

sevimli olmaya çalışmıyoruz.

süslü olmaya çalışmıyoruz.

bir java uygulamasını veya flash uygulamasını otuz dakika veya daha kısa sürede ortaya çıkarmaya çalışmıyoruz.

fantezi istemiyoruz, kar istiyoruz.

kolayca okunabilmesi için bu kodu parçalayın.

sıfır/.

 

Bu kadar hızlı cevap verdiğiniz için teşekkürler. If else ve || arasındaki farkı anlamakta sorun yaşıyorum.

birkaç koşul yazarken fark nedir... else if kullanmam gerekir mi yoksa sadece kullanmak uygun mu || .... if else ve || arasındaki farkı hiç anlamıyorum. ...(-..-)

 

bunu yapmak yerine:

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

belki şöyle bir şey yapın:

bayrak=1;

if(x<=y) flag=0;

if(y>=r) flag=0;

if(p>t)flag=0;

if(bayrak==1) run();

neyi kastettiğimi anla?

takip etmesi çok daha kolay, yukarıdaki örneğim hızlı yazılmış.

mutlak bir aptalın onun mantığını takip edebilmesi için her zaman ticaret kodunuzu yazın.

aksi takdirde, kodunuzu tam olarak anlamamış olabilirsiniz ve o zaman yapmak istediğiniz şeyi yapmayacaktır.

neyi kastettiğimi anla?

ve hatta bahsettiğim şeyi yapmanın başka yolları da var.

Başka sorularınız varsa veya yukarıdaki kodunuzu basitleştirmenize gerçekten yardımcı olmamı istiyorsanız, sormanız yeterli.

sıfır/.

Video: 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 );
    }

kodunuzda gerçekten ciddi bazı hatalar var.

Bakalım onları çözebilecek miyiz VE bu süreçte size nasıl çalışması gerektiği konusunda eğitim vereceğiz..

birinci, ikinci ve üçüncü satırlardan sonra eklediğim kaşlı ayraçlara{} dikkat edin..

bunu yapıyordun:

Eğer(...)

başka eğer(...)

başka(..)

&& her neyse

{}

Bu sadece mantıklı değil.

if ve else if ve else şu şekilde çalışır:

if(karşılaştırma) {bunu yapın}

else if(karşılaştırma) {bunu yapın}

başka {bunu yap}

Eğer daha fazla yardıma ihtiyacınız varsa bana bildirin.

sıfır/.

 
smoknfx :

bunu yapmak yerine:

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

belki şöyle bir şey yapın:

bayrak=1;

if(x<=y) flag=0;

if(y>=r) flag=0;

if(p>t)flag=0;

if(bayrak==1) run();

neyi kastettiğimi anla?

takip etmesi çok daha kolay, yukarıdaki örneğim hızlı yazılmış.

mutlak bir aptalın onun mantığını takip edebilmesi için her zaman ticaret kodunuzu yazın.

aksi takdirde, kodunuzu tam olarak anlamamış olabilirsiniz ve o zaman yapmak istediğiniz şeyi yapmayacaktır.

neyi kastettiğimi anla?

ve hatta bahsettiğim şeyi yapmanın başka yolları da var.

Başka sorularınız varsa veya yukarıdaki kodunuzu basitleştirmenize gerçekten yardımcı olmamı istiyorsanız, sormanız yeterli.

sıfır/.

Video: Kid Rock - American Badass


Yardım için teşekkürler .,. aslında kodlama konusunda tamamen yeniyim ve yukarıda yazdıklarınızı anlamıyorum... Aynı kodlamayı yazmanın birçok yolu olduğunu biliyorum ///

Ben kullananlar 3 satırda yazmak istediklerimi yazabilirler ben 30 yazarken.... Biliyorum yazabilmek emek ister... Evet evet yardımcı olursanız sevinirim ama bildiğiniz yerden başlayın (-..-;)

Ben hala büyük okyanusta yüzen küçük bir balığım ve okyanusun boyutunu bilmiyorum ........ Kayboldum demek ki...... 10 milyonu nasıl önleyeceğimi bana açıklarmısın gerekli değilse satır sayısı... Sizin gibi çıkmak için 4 ma crosses CCI ve Bolinger bantları kullanmak istiyorum

yukarıdaki kaynak ile görebilirsiniz.... Her şekilde teşekkürler. Saygılarımla.

 

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

 

tamam tamam, yeni başlayan biri olduğunu bilmiyordum.

o zaman yavaştan alalım

yapabileceğiniz en temel şey şudur:

 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 );
    }

çok basit...

&&'nin VE anlamına geldiğinin farkındasın, değil mi?

bunu kodda söylerseniz: if(x==1 && y==1) {dothis();}

gerçekten bunu söylüyorsunuz: if(x eşittir 1 ve y eşittir 1) {dothis();}

Şimdiye kadar benimle olduğunda bana haber ver, ya da kafan karıştığında bana haber ver, ben de seni tekrar yoluna sokayım.

BAŞLADIYSANIZ, ŞEYLERİ ÇOK TEMEL BİR ŞEKİLDE YAPIN... ŞEYLERİ AŞIRI KARMAŞIKLAMAYIN... BASİT TUTUN...

 
smoknfx :

tamam tamam, yeni başlayan biri olduğunu bilmiyordum.

o zaman yavaştan alalım

yapabileceğiniz en temel şey şudur:

çok basit...

&&'nin VE anlamına geldiğinin farkındasın, değil mi?

bunu kodda söylerseniz: if(x==1 && y==1) {dothis();}

gerçekten bunu söylüyorsunuz: if(x eşittir 1 ve y eşittir 1) {dothis();}

Şimdiye kadar benimle olduğunda bana haber ver, ya da kafan karıştığında bana haber ver, ben de seni tekrar yoluna sokayım.


Bana öğrettiğin için teşekkürler. Evet, şimdiye kadar ne demek istediğini anlıyorum. Girmeden önce tamamlanması gereken 4 MA geçişi ve CCİ koşulu vardır. Ancak bu göstergelerin şartlarını farklı zamanlamalarda tamamladığı durumlar vardır.

Örneğin, önce Hızlı MA'lar, ardından Yavaş MA'ları ve ardından CCI... veya CCI'yi ve ardından Hızlı MA'ları ve Yavaş MA'ları geçer. Veya önce Yavaş MA'lar, sonra önce Hızlı MA'lar, sonra CCI en son .... EA'mın her durumda girmesini istiyorsam tüm durumları kodlamam gerekiyor...

Tüm durumları ilk yorumda kopyaladığım ilk kaynağa bakarak mı kodladım yoksa mantıksız mı... İşte || ile yazdım. If else yerine.... Bu mantıklı mı... yine de Dengesiz sol parantez diyor,,.....

//マジックナンバーの定義
#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 );
  }












Neden: