MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1610

 
Vitaly Muzichenko # :

Bana tasarımı nasıl kısaltacağımı söyle?

Mesele şu ki, zaten bir sembolü olan çiftleri kesmeniz gerekiyor.

USDCHF çiftinde bir pozisyona sahip olun

===

EURGBP'de bir pozisyon var, sinyal AUDUSD'den geldi - AUD veya USD'de pozisyon olmadığını nasıl tespit edebilirim?

Valery doğru düşünceye sahip. Ancak, aradığımız para birimini, döngünün her yinelemesinde sıralı para birimlerinde neden tanımladığımızı anlamıyorum? Ve bana satırda arama yapmak değil, marj para birimini ve kâr para birimini almak daha kolay görünüyor. Para birimlerinin özelliklerine bakın ... Bunu yapardım

 bool Search( string _sy)
 {
   int OT = OrdersTotal ();
   string curencyProfit = SymbolInfoString (_sy, SYMBOL_CURRENCY_PROFIT ),
         currencyMargin = SymbolInfoString (_sy, SYMBOL_CURRENCY_MARGIN );
   for ( int i = 0 ; i < OT; i++)
   {
     if ( OrderSelect (i, SELECT_BY_POS))
     {
       bool res = StringFind (OrderSymbol(), curencyProfit) >= 0 ||
                 StringFind (OrderSymbol(), currencyMargin) >= 0 ;
       if (res)
         return ( true );
     }
   }
   return ( false );
 } /******************************************************************/
 
Valeriy Yastremskiy # :

DizeBul

2 satır gibi çıkmalı, arama ve 0 ve 3 pozisyonları olmalı. Ortadan rastgele bir tesadüfü kesmek için.

not

Tupanul, 4 şart var. onları kesmeyin.

A B'ye eşit değil ve C D'ye eşit değil

koşul A==C veya A==D veya B==C veya B==D

Kısacası, pek kimse yazamaz)))

Tupanul ikinci denemede. Akşam vakti geldi gibi.

 
Vitaly Muzichenko # :

Bana tasarımı nasıl kısaltacağımı söyle?

Mesele şu ki, zaten bir sembolü olan çiftleri kesmeniz gerekiyor.

USDCHF çiftinde bir pozisyona sahip olun

===

EURGBP'de bir pozisyon var, sinyal AUDUSD'den geldi - AUD veya USD'de pozisyon olmadığını nasıl tespit edebilirim?

Bir dizideki tüm açık sipariş para birimlerini toplardım ve bir sinyal geldiğinde bu diziyi yinelerdim.

 
Alexey Viktorov # :

Valery doğru düşünceye sahip. Ancak, aradığımız para birimini, döngünün her yinelemesinde sıralı para birimlerinde neden tanımladığımızı anlamıyorum? Ve bana satırda arama yapmak değil, marj para birimini ve kâr para birimini almak daha kolay görünüyor. Para birimlerinin özelliklerine bakın ... Bunu yapardım

yarın kontrol edeceğim


Taras Slobodyanik # :

Bir dizideki tüm açık sipariş para birimlerini toplardım ve bir sinyal geldiğinde bu diziyi yinelerdim.

Anlam aynı, sadece bir diziye de ihtiyaç var

 

ayrıca 1 = AUD, 2 = EUR.... ve sihirleri karşılaştırın, her para birimi için kendi sihrinize sahip olabilirsiniz,

diziler hakkında, IMHO, bu rasyonel, şimdi 3 döviz çifti 4 koşul, yarın 33 döviz çifti 34 koşul?

 
Vitaly Muzichenko # :

yarın kontrol edeceğim


Anlam aynı, sadece bir diziye de ihtiyaç var

Neden yarına kadar bekleyelim? Spesifikasyonlara bakmakta tembelseniz, ilgilendiğiniz tüm semboller için komut dosyasını çalıştırın ve marj para birimi ile kâr para birimi arasında bir eşleşme bulun.
 /********************Script program start function*******************/
void OnStart ()
 {

   Comment ( SymbolInfoString ( _Symbol , SYMBOL_CURRENCY_PROFIT ), "\n" ,
           SymbolInfoString ( _Symbol , SYMBOL_CURRENCY_MARGIN )
         );
 } /******************************************************************/
Yazmadan önce her şeyi kontrol etmedim ama eşleşme bulamadım ...
 
Vitaly Muzichenko # :

Anlam aynı, sadece bir diziye de ihtiyaç var

Eh, anlamı hızda - Para birimi kodunu aldım, bir anlaşma açıldığında güncellenen hazır dizide bir arama yaptım.

[Silindi]  

Kod konusunda yardım. Trend çizgisi boyunca yeni bir çubuğun açılmasıyla hareket etmek için bekleyen bir siparişe ihtiyacım var.

Onlar. böylece düzen ve çizginin sürekli bir kesişimi vardır.

Bir kayma yapmak için trend çizgisi ile zamanın kesiştiği noktayı bilmeniz gerekir... nasıl hesaplanır?

 
Zalevsky1234 bekleyen bir siparişe ihtiyacım var.

Onlar. böylece düzen ve çizginin sürekli bir kesişimi vardır.

Bir kayma yapmak için trend çizgisi ile zamanın kesiştiği noktayı bilmeniz gerekir... nasıl hesaplanır?

İşte kesişme noktasını hesaplama işlevi
 

X::doJob() yönteminin statik değişkeni var hakkında soru. X türünde bir nesne yaratan, biraz iş yapan ve sonra onu yok eden bir U sınıfı vardır. Ve böylece periyodik olarak. Soru: var değişkeni ne zaman kaldırılır?


 class X {
public :
   void doJob() {
       static int var = 0 ;
   }
};

class U {
private :
   X *x;
public :
   U(){

   }
   ~U() {
       delete x;
   }
   void U::dojob(){
      x = new X();
      x.doJob();
       delete x;
   }
};