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

 

Güzel gün! Nasıl yazacağımı bile bilmiyorum. Bu, unuttuğum kendi işlevim. Evet, beşinci versiyonda bile, biri açıklayabilir mi? Dörtte nasıl fark edilir?

 double GetLot(   double Riskk,   ENUM_ORDER_TYPE   action ,   string   symbol ,   double   price ,   double    Lott  ){ 

                     double   volume= 1 ,margin= 1 ; 

                       if (use_percent_of_deposit) return   (Lot) ; MqlTick last_tick; SymbolInfoTick ( Symbol (),last_tick);

                                                                                   switch (action)

     {

       case ORDER_TYPE_BUY : price=last_tick.ask ;

       case ORDER_TYPE_SELL : price=last_tick.bid ;

       case ORDER_TYPE_BUY_LIMIT : price=price;

       case ORDER_TYPE_SELL_LIMIT :  price=price;

       case ORDER_TYPE_BUY_STOP :  price=price;

       case ORDER_TYPE_SELL_STOP :  price=price;

       case ORDER_TYPE_BUY_STOP_LIMIT :  price=price;

       case ORDER_TYPE_SELL_STOP_LIMIT :  price=price;}

                     OrderCalcMargin(

         action,           // тип ордера

                  symbol,           // имя символа

                  volume,           // объем

                  price,             // цена открытия

                 margin             // переменная для получения значения маржи

                   ); 

         

         double   Koeffitsyenta= AccountInfoDouble ( ACCOUNT_BALANCE )/ margin ;

         Lott= (Koeffitsyenta*Riskk)/ 100 ;

         double Shag= 1 / SymbolInfoDouble (symbol, SYMBOL_VOLUME_STEP ); 

          Lott= Lott*Shag; Print ( "Lot*Shag  " ,  Lot   );

         Lott= NormalizeDouble (Lot, 0 ); 

          Lott= Lott/Shag;

         double MAX= SymbolInfoDouble (symbol, SYMBOL_VOLUME_MAX );

           double MIN= SymbolInfoDouble (symbol, SYMBOL_VOLUME_MIN );

           if (Lot>MAX) Lot=MAX; if (Lot<MIN) Lot=MIN;

           return (Lot);

                 

                   }
 

lütfen bana koddaki özel göstergenin değerini nasıl hesaplayacağımı söyleyin, bir şekilde çalışmıyor

double osma1=iCustom(NULL, 0,"OsMA",12,26,9,0,1);

neyin yanlış olduğunu anlayamıyorum

 
Kodda göster ne yapıyorsun?
 
kwadrad :

lütfen bana koddaki özel bir göstergenin değerini nasıl hesaplayacağımı söyleyin, bir şekilde çalışmıyor

double osma1=iCustom(NULL, 0,"OsMA",12,26,9,0,1);

neyin yanlış olduğunu anlayamıyorum


Soruda küçük bilgi. Tekrar oku. Ve her şeyi kontrol et.
 
Roman. :

Soruda küçük bilgi. Tekrar oku. Ve her şeyi kontrol et.


"OsMA" özel göstergesinin değerini hesaplamanız gerekir.

kodla yazıyorum

 double osma1= iCustom ( NULL , 0 , "OsMA" , 12 , 26 , 9 , 0 , 1 );

Teorik olarak, önceki mumun OsMA değerini döndürmelidir.

ancak gerçek hayatta bazı yanlış sonuçlar verir.

"0" gibi bir arabellek, gösterge koduna bakılırsa, gösterge kodunda olduğu gibi aynı sırada yazılan üç parametre vardır, ancak sonuç bırakılır.

Soru: hatanın nerede olduğunu söyle?

 
kolospav :
tüm bilgisayarlarda, META TRADER programı hesaba giriyor, ancak sadece benimkinde çalışmıyor :-( biri bana ne yapılabileceğini söyleyebilir mi? belki ek bir şey yükleyebilir. Sadece Windu'yu yeniden yüklemek istemiyorum ... Güvenlik duvarını bile sildim, içinde bir sorun olduğunu düşündüm, programı 20 kez yeniden kurdum... MarketTrayder programı sorunsuz çalışıyor, Metatrader üzerinde çalışmak istiyorum!

Ukrtelecom "OGO" (Ukrayna) sağlayıcım var.
 
kwadrad :


"OsMA" özel göstergesinin değerini hesaplamanız gerekir.

kodla yazıyorum

Teorik olarak, önceki mumun OsMA değerini döndürmelidir.

ancak gerçek hayatta bazı yanlış sonuçlar verir.

"0" gibi bir arabellek, gösterge koduna bakılırsa, gösterge kodunda olduğu gibi aynı sırada yazılan üç parametre vardır, ancak sonuç bırakılır.

Soru: Söyle bana, hata nerede?


"OsMA" adı, standart OsMA göstergesiyle aynıdır. Standart bir göstergeden değil de özel bir göstergeden bir değer bulmak istediğinizden emin misiniz? Özel birinden ise, adını değiştirin.
 
paladin80 :
"OsMA" adı, standart OsMA göstergesiyle aynıdır. Standart bir göstergeden değil de özel bir göstergeden bir değer bulmak istediğinizden emin misiniz? Özel birinden ise, adını değiştirin.


Teşekkür ederim, ben aptalım.

MT4'te özel bir gösterge olarak kaydedildi, bu yüzden berbattı.

 

ben usta değilim

En basit durumda, işleve altı parametre iletilir, değil mi? Başka hangi parametreler ateşleniyor? Aynı tampon mu?

Göstergenin adı da dahil olmak üzere tüm küçük şeyleri kontrol edin.

 
kwadrad :


Teşekkür ederim, ben aptalım.

MT4'te özel bir gösterge olarak kaydedildi, bu yüzden berbattı.

Hiçbir şey olmuyor. Bir EA'da normal bir OsMA değerine ihtiyacınız varsa, sadece iOsMA işlevini kullanın.