[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 361

 
özel bir işlevin içindeyse bir parametre nasıl optimize edilir?
 

optimize etmek ne demek? Test cihazındaki robotla birlikte optimize edin.

Söyle bana, '(' ne anlama geliyor - uyumsuz türler C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Constructor.mq4 (68, 39)
iade ile ilgili (hata yorumu);??

 
lottamer :
özel bir işlevin içindeyse bir parametre nasıl optimize edilir?

Dışarıya götür
 

SSS'nin bana nazikçe önerdiği kodu derlemeye çalışıyorum.

Ancak derleyici direnir ve atama operatöründen sonra noktalı virgül ister (sarı ile vurgulanmıştır).

'bool' - noktalı virgül bekleniyor C:\Program Files\Alpari NZ MT4\experts\GRAIL-1.mq4 (5, 3)

Ama orada benimle duruyorlar .... ama yine de soruyor, soruyor, soruyor ...... ve soruyor ....

Söyle bana, NE ANLAMA GELİYOR?

TEŞEKKÜR ETMEK.

   int start()
  
    bool have = true ;
        
   for ( int i= 0 ;i< 10 ;i++)
  {

   if (Low[i]<=Low[i+ 1 ])
   {have= false ; 
   break ;} 

} 

if (have == true )
{

OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 1 ,Ask+ 1500 * Point ,Ask- 1510 * Point , "jfh" , 123 ) ;// действия если условие соблюдено 

}
else
{

 return ( 0 );
}
 

Kodlardan birinde bu şeyle tanıştım:

 if ( StringSubstr (AccountCurrency(), 0 , 3 ) == "JPY" ) 
    {
      ld_24 = MarketInfo( "USDJPY" + StringSubstr (Symb, 6 ), MODE_BID);
       if (ld_24 > 0.1 ) ld_16 = ld_24;
       else ld_16 = 82 ;
    }

Ne için kullanıldığını önerebilir misiniz? - Bence burada hesap para biriminden bahsedildiği için teoride başka bir para birimine dönüştürme faktörü olmalı. Ama.. neden düzeltildi? Bu oran neye bağlıdır? - bu durumda, 82 sayısı.

Ve bu satır, anlamını hiç yakalamadığım çok ilginç görünüyor:

MarketInfo( "USDJPY" + StringSubstr (Symb, 6 ), MODE_BID)

çünkü örneğin "USDJPY" ye "EURUSD" eklerseniz, ancak 6. harf için sıfır alırsınız - o zaman neden eklediniz? hm...

Benim için bu, anlamada bir tür saçmalık, ancak deneyim için bir para biriminden diğerine aktarma ilkesini anlamak istiyorum. Ve bence insanlar bunu kullandığından (benim pratiğimde dolardan başka hesap yok), o zaman aptalca değil. Yani bir anlamı var.

Açıklama için teşekkürler! Sanırım sadece ben ilgilenmeyeceğim. :))

 

Merhaba. Basit bir Uzman Danışman yazdım (kendim öğrenmeye çalışıyorum). Robot sadece satış için fırsatlar açar, ancak satın almak istemez. Anladığım kadarıyla satın alma şartlarını doğru yazmamışım ya da doğru bölüşmemişim. Lütfen yardım et. İşte burada:

harici int tp=100;

dış int sl=100;

harici int H=14;

harici int M=00;

çift ma1, ma2;

int başlangıç()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (BOŞ,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",123,Red);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);

}

dönüş(0);

 
r772ra :

Dışarıya götür


Ama nasıl yapmalı?

işlev, duraklar ve alırlar yerleştirerek sırayı değiştirir. Burada optimize edilmeleri gerekiyor.

 
solnce600 :

SSS'nin bana nazikçe önerdiği kodu derlemeye çalışıyorum.

Ancak derleyici direnir ve atama operatöründen sonra noktalı virgül ister (sarı ile vurgulanmıştır).

'bool' - noktalı virgül bekleniyor C:\Program Files\Alpari NZ MT4\experts\GRAIL-1.mq4 (5, 3)

Ama orada benimle duruyorlar .... ama yine de soruyor, soruyor, soruyor ...... ve soruyor ....

Söyle bana, NE ANLAMA GELİYOR?

TEŞEKKÜR ETMEK.

Alternatif olarak, kodda biraz daha yüksek bir noktalı virgül henüz bir yere ayarlanmamıştır. Sadece derleyici bu noktaya kadar bir yerin eksik olduğunu söylüyor.

Ve bu kodda her şey noktalama işaretlerine göre normal bir şekilde yazılmış gibi görünüyor.

 
Chiripaha :

Alternatif olarak, kodda biraz daha yüksek bir noktalı virgül henüz bir yere ayarlanmamıştır. Sadece derleyici bu noktaya kadar bir yerin eksik olduğunu söylüyor.

Ve bu kodda her şey noktalama işaretlerine göre normal bir şekilde yazılmış gibi görünüyor.


Ve yukarıda sadece BAŞLANGIÇ ve daha fazlası HİÇBİR ŞEY
   int start()
  
    bool have = true ;
  {
   for ( int i= 0 ;i< 10 ;i++)
  {

   if (Low[i]<=Low[i+ 1 ])
   {
   have= false ; 
   break ;
   } 

} 

if (have )
{

OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 1 ,Ask+ 1500 * Point ,Ask- 1510 * Point , "jfh" , 123 ); // действия если условие соблюдено 

}
else
{

 return ( 0 );
}
 
lottamer :


Ama nasıl yapmalı?

işlev, duraklar ve alırlar yerleştirerek sırayı değiştirir. Burada optimize edilmeleri gerekiyor.


Burada, sadece Pr0t0tip kodunda (iyi ve takma ad - yeniden yazmaktan bıktım :)) bu değişkenler extern int sl=100; (vs.) görüntülenir. Bu nedenle, bir değişken tanımlamanız gerekir, ardından baykuş ayarlarında görünecek ve ardından değeri değiştirilip optimize edilebilecektir.
Neden: