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

 
Askr :
MT 5'e yüklenen alıntıların arşivi nasıl? MT 4'te, örneğin, F2 ve sonra orada bir güncelleme dürttünüz, ama burada?

MetaTrader 5'te herhangi bir şey indirmenize gerek yoktur. Hangi ticaret sunucusuna bağlandınız - bu teklifleri kullanırsınız. CopyRates üzerinden almak istiyorsunuz, CopyTicks üzerinden almak istiyorsunuz.

 
Askr :
MT 5'e yüklenen alıntıların arşivi nasıl? mt 4'te, örneğin, F2 ve sonra orada bir güncelleme dürttünüz, ama burada?

Doğrudan - hiçbir şekilde. Geçmişi içe aktarabileceğiniz özel bir sembol oluşturmadığınız sürece. Yalnızca geçmişle çalışmak için özel bir sembol kullanabilirsiniz. Üzerinde ticaret yapamazsınız.

 
Ihor Herasko :

Ve danışman o sırada aktif değilse? Sonuçta, hesabın geçmişinden verileri almak istiyorum. Ancak bu, ne yazık ki, açık bir şekilde yapılamaz. Sadece bir sürü rezervasyonla.

Genel olarak, geliştiricilerin MT5'te OrderCloseTime() yapmamış olması garip. Görünüşe göre iyi sebepler vardı

 
lil_lil :

Genel olarak, geliştiricilerin MT5'te OrderCloseTime() yapmamış olması garip. Görünüşe göre iyi sebepler vardı

Çünkü MT5 ve Mql5 terminolojisindeki sıralama farklı bir anlam taşımaktadır. Bir pozisyonun kapanış saatini öğrenmek için, bu pozisyonla ilgili emirleri ve anlaşmaları seçmelisiniz, aralarında DEAL_ENTRY_OUT değiştiricisi ile bir anlaşma bulun ve bu anlaşmanın zamanı pozisyonun kapanmasına eşit olacaktır.

 

İyi günler, söyle bana, şu koşul için bir tasarım yapamam: indikatör devreye girdi, mumda uygun fiyat parametreleri belirdi, grafiksel bir gösterge çizildi, ama diyelim ki mum hala kapanmaktan uzaksa , o zaman gösterge bu yerde başka bir mum kombinasyonu gösterebilir. Soru şudur - bu mumdaki koşulun sona ermesinden sonra önceki sonucu silecek şekilde her saniye izleme sürecinde bir kod nasıl yazılır?

İşte doğru bir çizim örneği, ancak buradaki test cihazından geçersem, mumun yanlış bir okumasını verir. Nasıl düzeltilir?

Ve başka bir soru - aşağıdaki tasarım konseptine göre nasıl uyarı yapılır:

Görev - verilen: TF 1 saat.

Koşul, göstergenin arama bölümünü yalnızca, örneğin mevcut mumun 55 dakikasından ve 60 dakikasından önce başlatmak ve ardından döngüyü yeniden başlatmaktır.

Bu tasarım nasıl uygulanır?

 
clickaider :

İyi günler, söyle bana, şu koşul için bir tasarım yapamam: indikatör devreye girdi, mumda uygun fiyat parametreleri belirdi, grafiksel bir gösterge çizildi, ama diyelim ki mum hala kapanmaktan uzaksa , o zaman gösterge bu yerde başka bir mum kombinasyonu gösterebilir. Soru şudur - bu mumdaki koşulun sona ermesinden sonra önceki sonucu silecek şekilde her saniye izleme sürecinde bir kod nasıl yazılır?

İşte doğru bir çizim örneği, ancak buradaki test cihazından geçersem, mumun yanlış bir okumasını verir. Nasıl düzeltilir?

1. Test cihazı düzgün çalıştı ve çalışıyor, hata yok.

2. Test sürecini anlamanızda bir hata: gösterge ilk başlatıldığında veya geçmiş yüklendiğinde (bunun prev_calculated==0 ile gösterildiğini unutmayın), bir döngüdeki tüm çubukları atlarsınız. Yani, bu döngüde diziler-zaman serisini kullanıyorsunuz

 int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])

döngünün her i-inci üyesi için yalnızca BİR AÇIK, Yüksek, Düşük ve Kapatma değerine sahiptir.

Ancak tüm çubuklar atlandığında, test cihazı kene modunda her çubuk üzerinde çalışmaya başlar - bu nedenle Yüksek'in nasıl büyüdüğünü ve Düşük'ün nasıl azaldığını görebilirsiniz.

 
Vladimir Karputov :

1. Test cihazı düzgün çalıştı ve çalışıyor, hata yok.

2. Test sürecini anlamanızda bir hata: gösterge ilk başlatıldığında veya geçmiş yüklendiğinde (bunun prev_calculated==0 ile gösterildiğini unutmayın), bir döngüdeki tüm çubukları atlarsınız. Yani, bu döngüde diziler-zaman serisini kullanıyorsunuz

döngünün her i-inci üyesi için yalnızca BİR AÇIK, Yüksek, Düşük ve Kapatma değerine sahiptir.

Ancak tüm çubuklar atlandığında, test cihazı kene modunda her çubuk üzerinde çalışmaya başlar - bu nedenle Yüksek'in nasıl büyüdüğünü ve Düşük'ün nasıl azaldığını görebilirsiniz.

Evet, test cihazı başlatıldığında, fiyat değerlerinin doldurulması nedeniyle sonucun farklı olduğuna katılıyorum, ancak soru, örneğin, ilk önce bir mumda bir kalıp oluştuğunda, yapıya nasıl bir koşul girileceğidir. , ancak sonunda başka bir giriş görünür, ancak başka bir girişle değiştirilir, ilgili koşul belirtilmediği için bir gösterge kullanamaz. Nasıl reçete edilir?

if(Cmp(shadow_upper_1,shadow_lower_0) < 0 && body_size_0 < body_size_1 && shadow_lower_0 > = 0.7*shadow_upper_0 && 8*body_size_0 >= shadow_lower_0 && 7*body_size_0 < = shadow_upper_0 && close_0 > = Upper1_0 && close_0 < = body_Upper_Upper1_mediane75_0 && Upper1_1 > = Upper1_2)
         if(InpEnablePAT_DOJIUP_UPPER1) DrawPattern(index,PATTERN_TYPE_DOJIUP_UPPER1,high,low,time);

Mum için bir gösterge oluşturmanın kodu burada, ancak onu yeniden çizilebilir hale nasıl getirebilirim?

 
clickaider :

Evet, test cihazı başlatıldığında, fiyat değerlerinin doldurulması nedeniyle sonucun farklı olduğuna katılıyorum, ancak soru, örneğin, ilk önce bir mumda bir kalıp oluştuğunda, yapıya nasıl bir koşul girileceğidir. , ancak sonunda bir başkası görünür, ancak başka bir kayıtla değiştirilir, ilgili koşul belirtilmediği için bir gösterge kullanamaz. Nasıl reçete edilir?

Mum için bir gösterge oluşturmanın kodu burada, ancak onu yeniden çizilebilir hale nasıl getirebilirim?

Çubuk numarasını dizinde saklayın. Çizimden önce kontrol edin. Çubuk üzerinde bir nesne varsa, silin. NesneSil .

 
clickaider :

Evet, test cihazı başlatıldığında, fiyat değerlerinin doldurulması nedeniyle sonucun farklı olduğuna katılıyorum, ancak soru, örneğin, ilk önce bir mumda bir kalıp oluştuğunda, yapıya nasıl bir koşul girileceğidir. , ancak sonunda bir başkası görünür, ancak başka bir kayıtla değiştirilir, ilgili koşul belirtilmediği için bir gösterge kullanamaz. Nasıl reçete edilir?

Mum için bir gösterge oluşturmanın kodu burada, ancak onu yeniden çizilebilir hale nasıl getirebilirim?

Sadece üç durum sağlayın:

  • desen 1 çiz
  • desen 2 çiz
  • hiçbir şey çizmeyin (örneğin, DRAW_ARROW için gösterge arabelleğine " 0 " iletirsiniz, tabii göstergenin başında belirtmediyseniz

 //--- установим пустое значение 
   PlotIndexSetDouble (индекс_построения_DRAW_ARROW, PLOT_EMPTY_VALUE , 0 );
 
Vladimir Karputov :

Sadece üç durum sağlayın:

  • desen 1 çiz
  • desen 2 çiz
  • hiçbir şey çizmeyin (örneğin, DRAW_ARROW için gösterge arabelleğine " 0 " iletirsiniz, tabii göstergenin başında belirtmediyseniz

Sana kaynağı attım, tam olarak nereye kaydetmen gerektiğini görebiliyor musun?
Dosyalar:
PatternsBB.ex5  81 kb