[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 244

 

Sırada ne var hakkında konuşun

lot = NormalizeDouble(...,   1 );

normalizasyon en fazla iki işaret (0,1,2) olabilir.

 
Martingeil писал(а) >>

Adımı doğru anladıysam yapılabilir - lota ne kadar bakiye eklenecek?

ya da lotu artırmak için sabit bir eğri olması gerektiğini mi kastediyorsunuz, ancak böyle bir ilerlemedeki noktayı görmüyorum.

 extern double Maximum_Risk = 5.0 ;
extern double lot =1 .0 ;

//+------------------------------------------------------------------+
//|    РАССЧЕТ РАЗМЕРА ЛОТА                               
//+------------------------------------------------------------------+
double LotsOptimized ( ) {
   double lots_min = MarketInfo ( Symbol ( ) , MODE_MINLOT ) ;
   double lots_step = MarketInfo ( Symbol ( ) , MODE_LOTSTEP ) ;
   double lots_max = MarketInfo ( Symbol ( ) , MODE_MAXLOT ) ;

   double lot = Lot ;    

   if ( Maximum_Risk > 0 ) {
      lot = MathCeil ( AccountBalance ( ) / Maximum_Risk / 100000 / MODE_LOTSTEP ) * MODE_LOTSTEP ;

      lot = MathMax ( lots_min , MathMin ( lots_max , lot ) ) ;
   }
   return ( lot ) ;
}
Bunun gibi bir şey
 
OneDepo >> :

Sırada ne var hakkında konuşun

normalizasyon en fazla iki işaret (0,1,2) olabilir.

düzeltildi.

sadece bence bu, partiyi arttırmanın sürekli bir ilerlemesi anlamına geliyordu ............

 
Martingeil >> :

ama bunun yerine, bu lot optimizasyon işlevini kullanın, MM burada çalışır, eğer ticaret kaybı varsa, lot ilkine düşecektir.


MM gerçekten harika ;)

Sadece kodum hakkında şüphelerim vardı: bir demo hesabında her şey doğru, ancak gerçek bir hesapta (FXstart'ta bir mikro hesap) 2 kat daha az görünüyor.

Bu nedenle, AccountBalance () yüzdesinin nasıl doğru şekilde hesaplandığını bilmek istiyorum.


PS Komut dosyalarıyla manuel olarak ticaret yapıyorum, bu yüzden MM benim için işe yaramaz.

 

Merhaba!

Lütfen hata kodunu çözmeme yardım edin.

Hatanın kendisi:

......\MetaTrader - Alpari\experts\indicators\signalTable_v1.mq4;114:1;'\end_of_program' - unbalanced left parenthesis

Anladığım kadarıyla, 114 bir dizge ve 1 bir karakter-yerdir (daha kesin olmak gerekirse, hatanın kendisi bu karakter-yerinden öncedir)

Peki ve böylece, derlemeden sonra bu hata var. İşte bir kod parçası....

       // сигнал на покупку
       if ( MathAbs ( iWPR ( Symbol ( ) , period [ x ] , 13 , 0 ) ) < 20.0 )
         ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeBuy ) , fontSize , "Wingdings" , signalBuyColor ) ;
       // сигнал на продажу   
       else if ( MathAbs ( iWPR ( Symbol ( ) , period [ x ] , 13 , 0 ) ) > 80.0 )
             ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeSell ) , fontSize , "Wingdings" , signalSellColor ) ;
       // нет сигнала
       else      // как раз перед else и есть это злополучное ПЕРВОЕ знако-место
           ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeNoSignal ) , fontSize , "Wingdings" , noSignalColor ) ;
Biri bana söyleyebilir mi ......... Şimdiden teşekkürler
 
Martingeil >> :

Hayır, algoritma böyle çalışmıyor.

cci_0 < cci_1 & & Bid - OrderOpenPrice ( ) = = Point * profit

Stratejinize göre buradaki mantık doğru.



strateji yanlış.



en azından şöyle:







cci_0 < cci_1 & & Bid - OrderOpenPrice ( ) > = Point * 5 & & Bid - OrderOpenPrice ( ) < = Point * 10



 

söylemek

OrderSelect için parantez içinde yazılanlar açıktır

ancak, örneğin, OrderCloseTime() veya OrderLots() için - neden parantezler ve bunlara ne yazılabilir?

 
gramp >> :

söylemek

OrderSelect için parantez içinde yazılanlar açıktır

ancak, örneğin, OrderCloseTime() veya OrderLots() için - neden parantezler ve bunlara ne yazılabilir?

Basitçe söylemek gerekirse, işlevleri değişkenlerden ayıran şey parantezlerdir.

ama tamamen kendin içinse her şeyi yazabilirsin :))))

 
igrok2008 >> :

Merhaba!

Lütfen hata kodunu anlamama yardım edin.

Hatanın kendisi:

Anladığım kadarıyla, 114 bir dizge ve 1 bir karakter-yerdir (daha kesin olmak gerekirse, hatanın kendisi bu karakter-yerinden öncedir)

Peki ve böylece, derlemeden sonra bu hata var. İşte bir kod parçası....

Biri bana söyleyebilir mi ......... Şimdiden teşekkürler

Yeniden. dengesiz sol parantez hatası, koddaki parantezlerin dengesiz olduğu anlamına gelir, bu durumda açma parantezlerinden daha az kapatma parantezleri vardır. Derleyicinin 114. satıra atıfta bulunması hiçbir şey ifade etmez, çünkü mql4 derleyicisi metinde bu hatayı doğru bir şekilde bulamadığından, genellikle dosyanın sonuna atıfta bulunur, ancak prensipte, görünüşe göre, aynı zamanda olabilir. kendi seçtiği başka bir yerde. Bu nedenle, hatayı düzeltmenin tek yolu fazladan bir açma veya eksik kapatma braketi bulmaktır. Üç sayfa geriye gidin, kodunuzda parantezlerin nerede eksik olduğunu gösterdim.

 
Arkadaşlar lütfen söyleyin. Standart gösterge Parabolik . Parabolik yönün değiştirilmesinden koddaki hangi yer sorumludur. Teşekkür ederim!
Dosyalar:
parabolic.mq4  6 kb