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

 
Upper[i] bazı çubuklarda boş olabilir (0'a eşittir).
 
Sergey Savinkin :
Upper[i] bazı çubuklarda boş olabilir (0'a eşittir).

Sanırım çözüm için bir ipucu buldum: koşul, kodu çalıştırmadan önce fiyatın mevcut durumuna karşı yazıldığında, günlük aşağıdaki çıktıyı verir:

Önemli bir nokta - bu parametreler önceden oluşturulmuş fiyatla çakışıyor

Açıklık için:

Bu, günlüğün son satırının, fiyatın Üst satırın ötesine geçtiğini gösterdiği yerdir. Tek soru - bunu neden yapıyor? Göstergenin baştan şimdiki ana kadar yeniden hesaplanması sırasında, bu koşul altındaki kodun bu olayları kaydettiği ve en son olanda durduğu bir versiyon var - bu, fiyat günlüğü verileri ile mevcut olan arasındaki tutarsızlığı açıklıyor, ancak başka hiçbir şeyi açıklamıyor - "fiyat üst seviyenin ötesine geçti - bir uyarı gönderin, dışarı çıkmadı - hiçbir şey yapmayın" mantığındaki karşılaştırmayı geçmek için koda ihtiyacım var.

Ayrıca, fiyat üst satırın altında olduğunda kodun durumunu da kontrol ettim - günlüklerde yukarıdaki ekranda olan olayı kaydetmedi - sonunda, çalışıp çalışmadığını anlamayı bıraktım.

 

arkadaşlar, MQL5'te yeniyim, bu yüzden burada yazdığım problemler benim püf noktalarımsa, lütfen çok fazla tekme atmayın.

Çok para birimli bir baykuş yapmak istedim, ancak strateji test cihazında yalnızca çoklu para birimini test ederken ortaya çıkan bazı tuhaflıklarla karşılaştım. Ana haritanın sembolü dışındaki sembollerin zaman serilerinde anlaşılmaz bir kayma var. Her çubuğun başında sıfır ve ilk çubuğun açılış süresini iki sembolle alan en basit baykuşu yaptım. Nedense 1 çubuktan sonra ikinci sembolün zaman serisi değişmeye başlar. Herhangi bir sembolde ve herhangi bir zaman diliminde görünür. EURUSD üzerinde test ettim, ikinci sembol GBPUSD idi. Ben de tersini denedim, diğer çiftlerde denedim - hata her zaman görünüyor. M15'te test ettikten sonra dergiden resim:

H1'de test ettikten sonra dergiden resim:

Strateji test cihazı ayarları:

Aslında, kontrol edilecek kod:

 #property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
input string SecondSymbol= "GBPUSD" ;

int OnInit ()
  {
   SymbolSelect (SecondSymbol, true ); //выбираем второй символ в MarketWatch(для тестера)
//---
   return ( INIT_SUCCEEDED );
  }

void OnDeinit ( const int reason)
  {
//---

  }

void OnTick ()
  {
   static datetime BarTime; //время начала бара
   int per= PeriodSeconds ( PERIOD_CURRENT );

   datetime time_curr= TimeCurrent ()/per*per;
   if (time_curr!=BarTime)
     {
      BarTime=time_curr;

       datetime Time_One[],Time_Two[];
       bool yes= ArraySetAsSeries (Time_One, true );
      yes= ArraySetAsSeries (Time_Two, true );

       int i= CopyTime ( NULL , PERIOD_CURRENT , 0 , 2 ,Time_One);     //текущий символ
      i= CopyTime (SecondSymbol, PERIOD_CURRENT , 0 , 2 ,Time_Two); //второй символ
      
       Print ( "ВремяНачалаБара по " , Symbol (), ":" ,Time_One[ 0 ], " ВремяНачалаБара по " ,SecondSymbol, ":" ,Time_Two[ 0 ]);
     }
  }

Herhangi bir yardım için minnettar olurum.

 
stroganow :

arkadaşlar, MQL5'te yeniyim, bu yüzden burada yazdığım problemler benim püf noktalarımsa, lütfen çok fazla tekme atmayın.

Çok para birimli bir baykuş yapmak istedim, ancak strateji test cihazında yalnızca çoklu para birimini test ederken ortaya çıkan bazı tuhaflıklarla karşılaştım. Ana haritanın sembolü dışındaki sembollerin zaman serilerinde anlaşılmaz bir kayma var. Her çubuğun başında sıfır ve ilk çubuğun açılış süresini iki sembolle alan en basit baykuşu yaptım. Nedense 1 çubuktan sonra ikinci sembolün zaman serisi değişmeye başlar. Herhangi bir sembolde ve herhangi bir zaman diliminde görünür. EURUSD üzerinde test ettim, ikinci sembol GBPUSD idi. Ben de tersini denedim, diğer çiftlerde denedim - hata her zaman görünüyor. M15'te test ettikten sonra dergiden resim:

H1'de test ettikten sonra dergiden resim:

Strateji test cihazı ayarları:

Aslında, kontrol edilecek kod:

Herhangi bir yardım için minnettar olurum.

Test cihazı doğru çalışıyor. Programın mantığında bir hata: iki karakter farklı insanların iki hayatı gibidir (burada "kişi", "sembol"ün bir analogudur). Ve ikinci kişi, birincisi ile aynı anda uyanmak zorunda değildir (“uyanma”, “ yeni bir çubuğun görünümünün” bir analogudur).

Yani, yeni bir çubuğun VE ilk sembolünde VE ikincisinde görünmesini beklemeniz gerekir.


Eklendi: makale Yeni çubuk olay işleyicisi

 

Söyleyin bana, işte bir yükseliş pin çubuğunun resmi, tanınması için koşulun ana kodu nasıl olmalı?

 if (low[i] <= open[i] && high[i] > close[i] && open[i] >= close[i] && close[i] <= Base[i]) // верно ли это утверждение?
 
clickaider :

Söyleyin bana, işte bir yükseliş pin çubuğunun resmi, tanınması için koşulun ana kodu nasıl olmalı?

Bu düşüş eğilimi gösteren bir çubuktur. Mumun yönü önemli değildir. Uzun gölgenin yeri önemlidir: yukarı - düşüş, aşağı - yükseliş. Ve seviye göstergelerinden onay gereklidir.
 
Artyom Trishkin :
Bu düşüş eğilimi gösteren bir çubuktur. Mumun yönü önemli değildir. Uzun gölgenin yeri önemlidir: yukarı - düşüş, aşağı - yükseliş. Ve seviye göstergelerinden onay gereklidir.
Bu kodda gösterilebilir mi? Kodun nasıl doğru görünmesi gerektiği açık değil
 
clickaider :
Bu kodda gösterilebilir mi? Kodun nasıl doğru görünmesi gerektiği açık değil
Cep telefonumdan size kod gönderemiyorum. hazırlıksız:
Hi-lo-Lo'dan mumun boyutuna, mumun gövdesinin boyutuna, vücudun tüm mumun boyutuna olan yüzdesine ihtiyacınız var, kısa gölgenin boyutu belirli bir eşiği geçmemelidir (yani olmaması veya vücuda göre nispeten küçük olması) ve gövdenin üst/alt kısmının konumu nispeten mumun tam boyutundadır.
Bunun gibi bir şey...
 
Artyom Trishkin :
Cep telefonumdan size kod gönderemiyorum. hazırlıksız:
Hi-lo-Lo'dan mumun boyutuna, mumun gövdesinin boyutuna, vücudun tüm mumun boyutuna olan yüzdesine ihtiyacınız var, kısa gölgenin boyutu belirli bir eşiği geçmemelidir (yani olmaması veya vücuda göre nispeten küçük olması) ve gövdenin üst/alt kısmının konumu nispeten mumun tam boyutundadır.
Bunun gibi bir şey...

Grafiksel olarak şöyle görünür:

 
clickaider :

Grafiksel olarak şöyle görünür:

Şimdi grafiksel olarak tanımladığınız şeyi kelimelerle tanımlayın. Yüksek, düşük, açık, kapalı kullanın.
Kelimelerle tarif ettiğiniz anda, TK'yi zaten kendiniz için yazdığınızı düşünün :)
Sözel yapıları kodla değiştirmeye devam ediyor.