Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1456

 

İyi günler!

Lütfen yardım edin: amaç, fiyat MA'yı geçtiğinde pozisyon kapanışını uygulamaktır.

Bu kod bölümünde

if(Bid<iMA(Symbol(),0,Fast_Ma_Period,Fast_Ma_Shift,Fast_Ma_Method,Fast_Ma_Price,0) && CountBuy()>0)
          
           
     {
     for(int i=OrdersTotal ()-1; i>=0; i--)
     {
     if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
     {
       if (OrderMagicNumber ()== MagicNumber && OrderType() == OP_BUY)
       if(!OrderClose(OrderTicket(), OrderLots(),Bid, Slippage, Black))
       Print("Ошибка");

Test cihazında şu resmi alıyorum: fiyat MA'yı geçiyor ve mumun kapanışında / bir sonraki mumun açılışında pozisyonu kapatıyor, zaten istenen kapanış seviyesinden (MA sınırı) uzakta ....

Dosyalar:
 
rex1818 pozisyon kapanışını uygulamaktır.

Bu kod bölümünde

Test cihazında şu resmi görüyorum: fiyat MA'yı geçiyor ve mumun kapanışında / bir sonraki mumun açılışında pozisyonu kapatıyor, zaten istenen kapanış seviyesinden (MA sınırı) uzakta ....

Keneler, kene klozundaki ortalama MA'dan çok daha değişkendir, bu nedenle MA değerinin ortaya çıktığı keneler arasındaki yayılma yaygın bir şeydir. Fiyat ayrıktır ve umarım alış ve satış fiyatlarını karıştırmazsınız. yani ma by bid ve kapanış açık fiyatları da bid'dir ve ma by ask ve fiyatlar da ask'dır).

Zy, ma'yı teklife veya satışa göre yeniden hesaplayamazsınız, ancak spread ekleyin ve çıkarın, hata minimum olacaktır.
 
Valeriy Yastremskiy #:

Keneler, kene klozundaki ortalama MA'dan çok daha fazla değişkendir, bu nedenle MA değerinin ortaya çıktığı keneler arasındaki yayılma yaygın bir şeydir. Fiyat ayrıktır ve umarım alış ve satış fiyatlarını karıştırmazsınız. yani ma by bid ve kapanış açık fiyatları da bid'dir ve ma by ask ve fiyatlar da ask'dır).

Zy, bu arada ma'yı teklife veya satışa göre yeniden hesaplayamazsınız, ancak çıkarmak için spread ekleyin, hata minimum olacaktır.

Cevap için teşekkürler!

Bugün tavsiyelerinizi dikkate alarak çözmeye çalışacağım.

 
rex1818 pozisyon kapatmayı uygulamaktır.

Bu kod bölümünde

Test cihazında şu resmi alıyorum: fiyat MA'yı geçiyor ve mumun kapanışında / bir sonraki mumun açılışında pozisyonu kapatıyor, zaten istenen kapanış seviyesinden (MA sınırı) uzakta ....

Kapanış çubuklarına göre test seçili değil mi?

 
Alexey Viktorov #:

Bar kapatma testleri seçilmiyor mu?

İyi günler!

Test modeli: Tüm keneler (.....). Anladığım kadarıyla en doğru...

 
rex1818 #:

İyi günler!

Test modeli: Tüm keneler (.....). Anladığım kadarıyla en doğru...

Ve Uzman Danışman yeni bir çubuğun açılmasına göre yazılmamış mı?

Kodun gösterdiğiniz kısmı, bu tür davranışların nedenini daha doğru bir şekilde varsaymak için yeterli değildir.

 

Yanıt veren herkese teşekkürler!

Hataları buldum.

Şimdi her şey olması gerektiği gibi çalışıyor.

 

Grafiğin 3000 çubukluk bir sınırı varsa ve 2000000 çubuğun geçmişini almamız gerekiyorsa, parametreyi değiştirmeden geçmiş verileri çıkarmak için olası seçenekler - penceredeki maks. çubuklar ????.


Dizi 2 milyon indekse ulaştığında sistemim aşırı yükleniyor. Grafiği atlayarak geçmişi boşaltmak için bir çözüm aramak zorundayım.

   void SMA(const int aRatesTotal,const int aPrevCalc,const double  &aData[], double  &aMA[])
     {
      int Start=0;
      if(aPrevCalc==0)
        {
         for(int i=0;i<aRatesTotal;i++)
           {
            if(aData[i]!=0 && aData[i]!=EMPTY_VALUE)
              {
               Start=i+m_MAPeriod-1;
               break;
              }
           }
         aMA[Start]=0;
         for(int i=Start;i>Start-m_MAPeriod;i--)
           {
            aMA[Start]+=aData[i];
           }


Ama ondan önce, bu diziyi besliyorum.


   rt=aRatesTotal;
   prv=aPrevCalc;
   for(int i=0; i<m_max_period; i++)
     {
      ArrayResize(d[i].m,rt);
      ArrayResize(d[i].f,rt);
     }

   chsma.Solve(rt,prv,aData,d[m_max_period-1].m);
Görünüşe göre sistem bir dizi yüzünden değil, bu boyutta diziler oluşturmaya başladığı için çöküyor.
 

Herkese iyi günler!

Mql4'ten Mql5'e geçmek istiyorum. Mql5 Referans Kılavuzunu okumaya başladım. Ne yazık ki anlıyorum ama her şeyi değil. Kovalev'in Mql4 ders kitabı gibi temelden başlayıp Mql5'in özelliklerini ayrıntılı olarak anlatan ve en önemlisi en basit ve en yaygın işlemlerin kodlanmasına özel örnekler veren bilgileri nereden bulabilirim. Yani, ileri düzey kullanıcılar için değil, temelleri öğrenmesi ve onlardan ilerlemesi gereken yeni başlayanlar için eğitim bilgilerine ihtiyacımız var.

Yardımlarınız için teşekkürler

 
ANDREY #:

Herkese iyi günler!

Mql4'ten Mql5'e geçmek istiyorum. Mql5 Referans Kılavuzunu okumaya başladım. Ne yazık ki anlıyorum ama her şeyi değil. Kovalev'in Mql4 ders kitabı gibi temelden başlayıp Mql5'in özelliklerini ayrıntılı olarak anlatan ve en önemlisi en basit ve en yaygın işlemlerin kodlanmasına özel örnekler veren bilgileri nereden bulabilirim. Yani, ileri düzey kullanıcılar için değil, temelleri öğrenmesi ve onlardan ilerlemesi gereken yeni başlayanlar için eğitim bilgilerine ihtiyacımız var.

Yardımlarınız için teşekkürler

Kod tabanında, orijinal olarak MT4'te yazılmış ve daha sonra MT5'te yeniden yazılmış Uzman Danışmanlar ve göstergeler vardır - bunları eğitim için kullanabilirsiniz.

Birçok yönden diller benzerdir, kendinize MT5'te anladığınız kodu yeniden yazma görevini verin - ve talimatlar ve portaldaki aramayı aktif olarak kullanın - makaleler de dahil olmak üzere her zaman cevabı bulacaksınız.

Neden: