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

 

Merhaba !

Hemen basit bir örnekle başlayalım, yoksa açıklamak zor olacak.

çift sonuç()

{

çift x = teklif;

dönüş(x);

}

çift sonuç_y ( )

{

çift y = Teklif;

dönüş(y);

}

Bire birleştirilmesi gerekiyor.

sonuç (), bir işlevde X olarak ve diğerinde Y olarak gereklidir . Mümkün mü? Nasıl yapılır?

çift sonuç() // ????

{

çift x = teklif;

çift y = Sor ; // bunu da döndürmemiz gerekiyor

dönüş(x);

dönüş(y); // ???

}

 

Hayır, sadece bir sonuç olabilir. değerleri referans olarak iletin:

 double _bid = 0 , _ask = 0 ;

Print (_bid, ":" ,_ask);

ResFunction(_bid,_ask);

Print (_bid, ":" ,_ask);


void ResFunction( double &x, double &y){
   x = Bid;
   y = Ask;
   return ;
}
 
abeiks :

Merhaba !

Hemen basit bir örnekle başlayalım, yoksa açıklamak zor olacak.

Her iki durumda da rutinlerinizden aynı değerin döndürülmesi nedeniyle - Teklif fiyatı, o zaman bu iki işlevden biri koddan atılabilir. Döndürülen değerler farklıysa, örneğin onlardan bir dize toplayabilirsiniz - bu iki değeri alt programdan bir tür ayırıcı, örneğin noktalı virgülle ayırarak döndürün. Ve bir dize olarak geri dönün. Ardından, ana kodda, dizeden 2 değeri çıkarın ve ikiye dönüştürün.
 

Neyin gerekli olduğunu anlayabilmesi için alt programa bir şey iletin.

 
abeiks :

Merhaba !

...

Merhaba! İnsanlar sorunuzu zaten önerdiğinden, benim açımdan ilgileneceğim: 2008 şampiyonları , siz misiniz?

Cevabınız evet ise, o zaman "Madrid mahkemesinin tüm sırlarını" ifşa etmeden ve "Viyana Ormanlarının tüm hikayelerini" anlatmadan GRAIL'i size göre yakmayın. Peçeyi biraz kaldırsan yeter... Yapabilirsin - bu dalda eminim insanlara faydalı olacaktır!

Aktif olarak şampiyonaya hazırlanıyorum...

Teşekkür ederim!

 
drknn :

Bir fonksiyon bildirirken değişkeni neden sıfıra ayarladığınızı söyler misiniz? Burada:


Yani bu şekilde, çağrılırken açıkça ayarlanmazsa varsayılan değere ayarlanır, yoksa yanılıyor muyum?
 
Skydiver :

Yani bu şekilde, çağrılırken açıkça ayarlanmazsa varsayılan bir değere ayarlanır, yoksa yanılıyor muyum?


bilmiyorum. Ama ilgileniyorum. kontrol edeceğim.

not

İşler!

 //+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
   Alert ( "func1(100) вернула значение = " ,func1( 100 ), "  func1() вернула значение = " ,func1());
   return ( 0 );
}
//+------------------------------------------------------------------+
int func1( int i= 25 ){
         return (i);
}

 
Skydiver :
Döngünün her yinelemesinde her değeri yazdırmaya çalışın. Dizi boyutunuz küçüktür, bu nedenle veri karmaşası olmaz.
 

Aynı işaretin açılan emirleri arasındaki fark 1 bar olacak şekilde nasıl yapılır?

 
GarKain :

Aynı işaretin açılan emirleri arasındaki fark 1 bar olacak şekilde nasıl yapılır?


Pozisyon açılış zamanını, mevcut Bar Time[0]'ın açılış zamanı ile karşılaştırmak gerekir. Pozisyon açılış zamanı, bar açılış zamanından büyük veya ona eşitse, EA yeni pozisyon açmaz. Yeni bir çubuk göründüğünde, Zaman[0] değeri daha sonraki bir zamana değiştirecek ve böyle bir karşılaştırma, mevcut (yeni) çubukta pozisyonun henüz açılmadığını ve ticaret yapmanın mümkün olduğunu gösterecektir.

Bu arada, sorunuz 2 alt soruya ayrılabilir:
1. Mevcut barda bir pozisyon açıldı ve kapanmayı başardı, ancak hala yeni bir bar bekliyoruz.
2. Mevcut çubukta bir pozisyon açıldı ve kapanmayı başardı, ardından aynı çubukta tekrar pozisyon açabilirsiniz (yani 1 çubukta aynı anda 1 pozisyon açabilirsiniz).

Neden: