Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 258

 
OlgaKom # :

Merhaba!

Birisi bana kene fiyatı ve kene boyutunun değerini nasıl doğru bir şekilde alacağımı söyleyebilir mi?

Sembol için elde etmenin bu varyantı ile

elde edilen değerler bazen gerçek değerden farklıdır

Belki birisi bunun neyle bağlantılı olduğunu biliyordur?

4-ke'de, mevduat para birimi USD cinsinden değilse ve piyasaya genel bakışta gerekli dönüşümler yoksa yanlış olabilir. Depo para biriminde bir noktanın fiyatını ve teminat hacmini hesaplamak için hiçbir şey yok, veri yok.

İyi ve doğru yapmak için - örneğin depozito RUB ise, mevcut TÜM ruble çiftleri dahil edilmelidir. Ve mevduatı ana para birimi USD/EUR/JPY olarak tutmak daha iyidir. Küçükler sadece umutsuzluktan

Not/ Depo USD cinsinden değilse: Enstrüman SYMBOL_CURRENCY_PROFIT,BASE,MARGIN özelliklerine sahiptir - alım satım/analiz yapmadan önce, cevap ekleyin. ACCOUNT_CURRENCY ile SymbolSelect() aracılığıyla eşleştirin. Peşin !

PPS/ Ben sadece 4-ke'de böyle bir durumla karşılaştım.. Sadece 5-ke'de egzotik hesap çıkmadı şimdiye kadar :-) Size bundan bahsetmeyeceğim.

 

Merhaba! Bir sorunla karşılaştım, neden bazı enstrümanlarda alım satım seviyelerinin gösterilmediğini anlamıyorum ve alım satımı tek bir tıklamayla ayarlamanın bir yolu yok. her yerde keneler onaylanır, ancak işlevler eklenmez. altın üzerinde tek tıkla ticaret var ama eurodolar'da değil ve burada olmayan seviyeler de var???

 
Merhaba MT4 terminali hakkında soru. Grafiğe sağ tıklıyorum - bir pencere açılır, ancak ilk üç satır olmadan, örneğin, "satış durdurma", "ticaret" ve "tek tıklamayla alım satım" satırları yoktur. "Hizmet" sekmesinde olmasına rağmen "tek tıklamayla alım satım" da bir tik var.Birkaç yıldır MT4 ile çalışıyorum ama henüz böyle bir çöple karşılaşmadım. Üstelik bunların hepsi benim bilgisayarımda var ama uzak sunucudaki terminallerde bu satırlar yok bu konu hakkında yardımcı olabilecek var mı?
 

Günün iyi zamanı!!!!

Sipariş tablosunda yalnızca sipariş kaybetmeden kaynaklanan kaybı hesaplayan işlevi değiştirmeye yardımcı olun

 //+----------------------------------------------------------------------------+
//| Калькуляция убыточных ордеров                                              |
//+----------------------------------------------------------------------------+
double Loss()
  {
   double oLoss = 0 ;
   for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
     {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
        {
         if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic)
           {
             if (OrderType() == OP_BUY || OrderType() == OP_SELL)
              {
               if (OrderProfit()< 0 )
                 {
                  oLoss += OrderProfit();
                 }
              }
           }
        }
     }
   return (oLoss);
  }

Bunu fonksiyonda değiştirmeniz gerekir - böylece sipariş tablosunun her bir siparişinden partinin yalnızca minimum kısmı hesaplanır. MinLot=0.01

Teşekkürler!!!!

 

Güzel gün! Yakın zamanda MQL4 öğrenmeye başladım, renko bricks v2 göstergesine dayalı bir Expert Advisor yazmaya çalışıyorum. Sorun, görünüşte basit hesaplamalara sahip bir Uzman Danışmanın test cihazında çok yavaş çalışmasıdır. Çalışıyor ama çok yavaş çalışıyor. Tecrübesizliğimden dolayı chip yazabileceğimden şüpheleniyorum, bu yüzden gerçekten kıdemli yoldaşlarımdan yardım istiyorum.)

Konu kısa. Scalper danışmanı m1 üzerinde işlem yapar ve tuğla renginin değişmesini bekler ve yeni bir hareket yönünde bir anlaşma açar. Danışmanın kendisinin ve türkiye'nin kaynak kodlarını aşağıya ekliyorum. Şimdiden teşekkür ederim!

Dosyalar:
 
Dmitri73 # :
Merhaba MT4 terminali hakkında bir sorum var. Grafiğe sağ tıklıyorum - bir pencere açılır, ancak ilk üç satır olmadan, örneğin, "satış durdurma", "ticaret" ve "tek tıklamayla alım satım" satırları yoktur. "Hizmet" sekmesinde olmasına rağmen "tek tıklamayla alım satım" da bir tik var.Birkaç yıldır MT4 ile çalışıyorum ama henüz böyle bir çöple karşılaşmadım. Üstelik bunların hepsi benim bilgisayarımda var ama uzak sunucudaki terminallerde bu satırlar yok bu konu hakkında yardımcı olabilecek var mı?

Garip ama hangi yapı?

 

Merhaba. Kodlama uzmanlarına soru, çünkü sorumun cevabını hiçbir yerde bulamıyorum. for işlevini kullanarak mumları sıralarım, istenen mumu bulurum ve onlardan bazı veriler alırım, ancak bu tür mumların n'inde birkaç mum var, en yakınına nasıl ulaşabilirim? Umrumda değil.

 int SvechaVniz()
  {
   for ( a= 2 ; a< 55 ; a++)
     {
       if ( iClose ( Symbol (),TF_1,a)< iOpen ( Symbol (),TF_1,a))
        {
         dn=a;
         dn_o= iOpen ( Symbol (),TF_1,dn);
         dn_h= iHigh ( Symbol (),TF_1,dn);
         dn_l= iLow ( Symbol (),TF_1,dn);
         dn_c= iClose ( Symbol (),TF_1,dn);
         Print (dn);
         в переменную dn приходит несколько индексов свечей, как их перебрать и выбрать ближайший?
        }
     }
   return ( 0 );
  }
 
Александр Вараксин # :

Merhaba. Kodlama uzmanlarına soru, çünkü sorumun cevabını hiçbir yerde bulamıyorum. for işlevini kullanarak mumları sıralarım, istenen mumu bulurum ve onlardan bazı veriler alırım, ancak bu tür mumların n'inde birkaç mum var, en yakınına nasıl ulaşabilirim? Umrumda değil.

Döngüyü son mumdan başlatırsanız, son "gerekli mum" en yakın endekse sahip olacaktır.

 for ( a= 55 ; a> 2 ; a--)
 
Александр Вараксин # :

Merhaba. Kodlama uzmanlarına soru, çünkü sorumun cevabını hiçbir yerde bulamıyorum. for işlevini kullanarak mumları sıralarım, istenen mumu bulurum ve onlardan bazı veriler alırım, ancak bu tür mumların n'inde birkaç mum var, en yakınına nasıl ulaşabilirim? Umrumda değil.

Bu şekilde mümkündür:

 //+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   
Alert ( "индекс свечи = " ,SvechaVniz( 0 )); 
   
  }
//+------------------------------------------------------------------+

int SvechaVniz( int n= 0 )
  {  
   int   k= 0 ;
  
   for ( int a= 0 ; a< 55 ; a++)
     {
       if ( iClose ( Symbol (), 0 ,a)< iOpen ( Symbol (), 0 ,a))
        {
         k++;
         if (k>n) return (a);
        }
     }
   return ( 0 );
  }

İşlev, ihtiyacınız olan mumun indeksini döndürür,

geçirilen parametrelerde 0 en yakın, 1 sonraki.

 
Alekseu Fedotov # :

Bu şekilde mümkündür:

İşlev, ihtiyacınız olan mumun indeksini döndürür,

geçirilen parametrelerde 0 en yakın, 1 sonraki.

Teşekkürler, deneyeceğim.
Neden: