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

 
Konstantin Nikitin :

Teşekkür ederim. Kelimelerle, karı para biriminde neye böleriz?

.../( OrderSymbol ()==Sy_1 ? tickValue_1 : tickValue_2));
   
Maksim Kuznetsov :
iki farklı enstrümanın puanları eklenemez.

Puanların maliyetinin farklı olduğunu anlıyorum, ancak bu durumda önemli değil.

 
PolarSeaman :

Teşekkür ederim. Kelimelerle, karı para biriminde neye böleriz?

Mevduat para birimindeki puan değeri.
Bana göre bu fonksiyonu 1 karakter için yazmak daha doğru olur.

 int Punkts_B( const string symbol= "" , const int _Mag=- 1 )
  {
   double profit = 0 ;
   for ( int t= 0 ;t< OrdersTotal ();t++)
     {
       if ( ! OrderSelect (t, SELECT_BY_POS , MODE_TRADES ) )   continue ;
       if ( OrderSymbol ()!=symbol )                       continue ;
       if ( OrderMagicNumber ()!=_Mag )                   continue ;
       if ( OrderType ()!= OP_BUY && OrderType ()!= OP_SELL ) continue ;

      profit+= OrderProfit ()+ OrderSwap ()+ OrderCommission ();
     }
   return ( ( int ) MathFloor (profit/ SymbolInfoDouble (symbol, SYMBOL_TRADE_TICK_VALUE )) );
  }

int xxx = Punkts_B( "EURUSD" , 12345 ) + Punkts_B( "GBPUSD" , 12345 );
Ve arama yaparken gerekirse puan ekleyin.
 
Konstantin Nikitin :

Mevduat para birimindeki puan değeri.

Sözcük ifadesinde olduğu gibi ( OrderSymbol ()==Sy_1 ? tickValue_1 : tickValue_2)); nasıl denir?

Sıfır yazdırır Print(Punkts_B("GBPUSD", "AUDUSD",11151));

 
PolarSeaman :

Sözcük ifadesinde olduğu gibi ( OrderSymbol ()==Sy_1 ? tickValue_1 : tickValue_2));

Sıfır yazdırır Print(Punkts_B("GBPUSD", "AUDUSD",11151));

Koşullu operatör ?:

 
Konstantin Nikitin :

Koşullu operatör ?:

Teşekkür ederim.

 

Meslektaşlarım, anlamaya yardımcı olun.

Kayıt defteri ile çalışmaya hakim olmaya çalışıyorum, test için basit bir danışman attım. Sistem kayıt defterinden veri okumak sorunsuz gidiyor, ancak yazma ile ilgili sorunlar var, MT ve bellek çökmesi var ... (((

Belki gözlerim bulanıktır ve bariz olanı göremiyorum...

Dosyalar:
TestReg.mq5  25 kb
 

İsimlerini, eğrilerin uçlarına yakın bir yerde, onlara eklenmesi gereken ayrı bir pencereye yerleştirmek gerekir.

Lütfen nasıl yapılacağını açıklayın.

 
khorosh :

İsimlerini, eğrilerin uçlarına yakın bir yerde, onlara eklenmesi gereken ayrı bir pencereye yerleştirmek gerekir.

Lütfen nasıl yapılacağını açıklayın.

Nesneler - herhangi bir terminal penceresinde ve alt pencerelerinde görüntülenebilirler.

 

Artyom Trishkin :

Nesneler - herhangi bir terminal penceresinde ve alt pencerelerinde görüntülenebilirler.

-------------------------------------------------- -------------------------------------------------- ----------------------------------

Bu şekilde denedim ama bir şey çalışmıyor.

  if ( ObjectFind ( "Spread" )< 0 ) 
    {
     ObjectCreate ( 1 , "Spread" , OBJ_TEXT , 0 , Time [ 0 ],LevLabelSpread );
     ObjectSetText ( "Spread" , "                    Spread" , 10 , "Arial" , clrYellow );
    }
   else
    {
     ObjectMove ( 1 , "Spread" , 0 , Time [ 0 ], LevLabelSpread);
    } 
Belki pencerelerin numaralandırılmasıyla ilgili bir şey. Grafikte ayrı bir pencere varsa, sayısı ==1?
 
Kirill Belousov :

ifadelerinizde - && yerine "VE AYNI ZAMANDA" ve || "VEYA" kelimesiyle değiştirin

ortaya çıkanı okurken, neyin ve nasıl çalıştığını anlamanız gerekir.


ilk satır YA magic=7777 ile (hand_orders=false ile) VEYA magic=0 ile (hand_orders=true ile) çalışır

ikinci satır HER ZAMAN magic=7777 ile çalışır ve hand_orders=true ile EK OLARAK magic=0 ile çalışır

Teşekkür ederim!