[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 147
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Teşekkür ederim canım, tavsiyen için her şey çalışıyor, ancak göstergeyi taktığınızda garip bir şekilde çiziliyor (tabloya bakın) Grafik penceresinin sol kenarından dikey sarı çizgiye kadar olan girinti (çubuklarda) her zaman SABİT penceredeki HERHANGİ sayıda görünür çubuk için ve sekiz çubuğa eşittir.Bu sekiz çubuk pencerenin sol kenarını geçer geçmez, TÜM grafik çizgileri hemen belirir ve sonra her şey yolunda gider.Bu düzeltilebilir mi ve nasıl?
#property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 Aqua #property indicator_color4 DarkOrange #property indicator_width1 2 #property indicator_width3 2 //--- buffers double Macd1Buffer[]; double Signal1Buffer[]; double Macd2Buffer[]; double Signal2Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Macd1Buffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Signal1Buffer); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,Macd2Buffer); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,Signal2Buffer); IndicatorDigits(Digits); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- Comment(""); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double max1=-0.01,min1=0.01, max2=-0.01,min2=0.01, max_M1=-0.01,min_M1=0.01, max_M2=-0.01,min_M2=0.01, max_S1=-0.01,min_S1=0.01, max_S2=-0.01,min_S2=0.01; int bars_counted=WindowBarsPerChart()-1, limit; limit=bars_counted; //---- macd counted in the 1-st buffer for(int i=0; i<limit; i++) { Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i); Macd2Buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i); max_M1=MathMax(Macd1Buffer[i],max_M1); min_M1=MathMin(Macd1Buffer[i],min_M1); max_M2=MathMax(Macd2Buffer[i],max_M2); min_M2=MathMin(Macd2Buffer[i],min_M2); } for( i=0; i<limit; i++) { Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i); Signal2Buffer[i]=iMAOnArray(Macd2Buffer,Bars,9,0,MODE_SMA,i); max_S1=MathMax(Signal1Buffer[i],max_S1); min_S1=MathMin(Signal1Buffer[i],min_S1); max_S2=MathMax(Signal2Buffer[i],max_S2); min_S2=MathMin(Signal2Buffer[i],min_S2); } max1=MathMax(max_M1,max_S1); min1=MathMin(min_M1,min_S1); //---- done Comment( "\n"," Баров = ",WindowBarsPerChart()-1, "\n"," max_M1 = ",max_M1, "\n"," min_M1 = ",min_M1, "\n"," max_S1 = ",max_S1, "\n"," min_S1 = ",min_S1, "\n"," max_M2 = ",max_M2, "\n"," min_M2 = ",min_M2, "\n"," max_S2 = ",max_S2, "\n"," min_S2 = ",min_S2, "\n"," max1 = ",max1, "\n"," min1 = ",min1, "\n"," max2 = ",max2, "\n"," min2 = ",min2); //---- return(0); } //+------------------------------------------------------------------+Teşekkür ederim canım, tavsiyen için her şey çalışıyor, ancak göstergeyi taktığınızda garip bir şekilde çiziliyor (tabloya bakın) Grafik penceresinin sol kenarından dikey sarı çizgiye kadar olan girinti (çubuklarda) her zaman SABİT penceredeki HERHANGİ sayıda görünür çubuk için ve sekiz çubuğa eşittir.Bu sekiz çubuk pencerenin sol kenarını geçer geçmez, TÜM grafik çizgileri hemen belirir ve sonra her şey yolunda gider.Bu düzeltilebilir mi ve nasıl?
böyle dene
// обработка видимых баров. int bars_count=WindowBarsPerChart(); int bar=WindowFirstVisibleBar(); for(int i=0; i<bars_count; i++,bar--) { // номера баров уменьшаются, так как нумерация идет в обратном порядке. // ... }Bu kod yapısı, her yeni onay işaretinin yalnızca sıfır ve ilk (doğrulama için) çubuklarındaki göstergeyi yeniden hesaplamasına ve önceden hesaplanmış göstergeyi yeniden hesaplamamasına izin verir. Bu bölüm! Önceki mesajımda belirtilen sorunu çözmeme yardımcı olun. örnek.Ama içindeki her şeyi anlamıyorum.Bu üç satırı satır satır açıklayabilecek olan var mı?
Neye ihtiyacınız olduğu tam olarak belli değil, göstergenin MAX ve MIN görünür çubuklarını bulmanız gerekiyorsa, önce göstergeyi çizin ve ardından arayın.
Belki WindowPriceMax(), WindowPriceMin() kullanmak daha iyidir.
Stepan2
İşler
sonuçta, dizilerde bir aksaklık var, ancak bununla birlikte
c sorunsuz işler için
))
Tünaydın.
Millet, bana danışmanları nasıl test edeceğimi söyleyin. Çünkü yerleşik MT, modelleme kalitesinin ortalama %50'sini verir ve insanlar ekran görüntülerine %90'dan fazlasını gönderir.
Tünaydın.
Millet, bana danışmanları nasıl test edeceğimi söyleyin. Çünkü yerleşik MT, modelleme kalitesinin ortalama %50'sini verir ve insanlar ekran görüntülerine %90'dan fazlasını gönderir.
tüm dakika geçmişine sahipseniz, %90 olacaktır. %99, kendi başınıza fxt tick geçmişi oluşturarak elde edilir. Bu genellikle dukascopy tırnak kullanılarak yapılır. %99 test kalitesiyle ilgili komut dosyalarını Google'da arayın
İyi günler, aynı türden siparişlerin son siparişten 50 puan sonra verilmesi için danışman kodundaki koşulun nasıl uygulanacağı