Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 104
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Piyasa İzleme'de kaç enstrüman var?
61.
1907 sürümünde böcekler mucizevi bir şekilde ortadan kayboldu. Onları bulmak için geri dönüp dönmeyeceğimi bile bilmiyorum, yoksa bu yerde bir şeyler düzeltildi ...
Bina göstergeleri hakkında soru
#property indicator_chart_window
#property indicator_buffers 12
#property indicator_plots 6
#property indicator_type1 DRAW_COLOR_LINE
#property indicator_type2 DRAW_COLOR_LINE
#property indicator_type3 DRAW_COLOR_LINE
#property indicator_type4 DRAW_COLOR_LINE
#property indicator_type5 DRAW_COLOR_LINE
#property indicator_type6 DRAW_COLOR_LINE
SetIndexBuffer(0,upper_line,INDICATOR_DATA);
SetIndexBuffer(1,upper_line_color,INDICATOR_COLOR_INDEX);
PlotIndexSetString(0,PLOT_LABEL,"Upper Line");
PlotIndexSetInteger(0,PLOT_LINE_STYLE,UpperStyle);
PlotIndexSetInteger(0,PLOT_LINE_WIDTH,UpperWidth);
PlotIndexSetInteger(0,PLOT_COLOR_INDEXES,2);
PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,UpperTrendUp);
PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,UpperTrendDw);
// ==========
SetIndexBuffer(2,awera_line,INDICATOR_DATA);
SetIndexBuffer(3,awera_line_color,INDICATOR_COLOR_INDEX);
PlotIndexSetString(1,PLOT_LABEL,"Average Line");
PlotIndexSetInteger(1,PLOT_LINE_STYLE,AverageStyle);
PlotIndexSetInteger(1,PLOT_LINE_WIDTH,AverageWidth);
PlotIndexSetInteger(1,PLOT_COLOR_INDEXES,2);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,AverageTrendUp);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,AverageTrendDw);
// ==========
SetIndexBuffer(4,lower_line,INDICATOR_DATA);
SetIndexBuffer(5,lower_line_color,INDICATOR_COLOR_INDEX);
PlotIndexSetString(2,PLOT_LABEL,"Lower Line");
PlotIndexSetInteger(2,PLOT_LINE_STYLE,LowerStyle);
PlotIndexSetInteger(2,PLOT_LINE_WIDTH,LowerWidth);
PlotIndexSetInteger(2,PLOT_COLOR_INDEXES,2);
PlotIndexSetInteger(2,PLOT_LINE_COLOR,0,LowerTrendUp);
PlotIndexSetInteger(2,PLOT_LINE_COLOR,1,LowerTrendDw);
Kaç renk tamponu kullanılabilir?
Tamponlar birbirine nasıl bağlanır?
#property gösterge_buffers 12 // Yalnızca 12 arabellek bildirildi
#property Indicator_plots 6 // Grafik grafikler
1'den 6'ya kadar gösterge_tipi belirterek, göstergenin 6 grafik çizim için renkli bir çizgi çizilmesi gerektiğini anlayacağını doğru anlıyor muyum?
#özellik göstergesi_type1 DRAW_COLOR_LINE
#özellik göstergesi_type2 DRAW_COLOR_LINE
#özellik göstergesi_type3 DRAW_COLOR_LINE
#özellik göstergesi_type4 DRAW_COLOR_LINE
#özellik göstergesi_type5 DRAW_COLOR_LINE
#özellik göstergesi_type6 DRAW_COLOR_LINE
// =====
SetIndexBuffer(0,upper_line,INDICATOR_DATA); // İlk veri arabelleği
SetIndexBuffer(1,upper_line_color,INDICATOR_COLOR_INDEX); // Renk verileri için ikinci arabellek
PlotIndexSetString(0,PLOT_LABEL,"Üst Satır"); // İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_LINE_STYLE,UpperStyle);// İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_LINE_WIDTH,UpperWidth);// İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_COLOR_INDEXES,2);// İlk tamponun özelliklerini değiştir
PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,UpperTrendUp);// İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,UpperTrendDw);// İlk tamponun özelliklerini değiştirin
SetIndexBuffer(2,awera_line,INDICATOR_DATA); // Üçüncü tampon
SetIndexBuffer(3,awera_line_color,INDICATOR_COLOR_INDEX); // Dördüncü renk arabelleği
PlotIndexSetString(1,PLOT_LABEL,"Ortalama Doğru"); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_STYLE,AverageStyle); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_WIDTH,AverageWidth); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_COLOR_INDEXES,2); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,AverageTrendUp); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,AverageTrendDw); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
Bina göstergeleri hakkında soru
#property indicator_chart_window
#property indicator_buffers 12
#property indicator_plots 6
#property indicator_type1 DRAW_COLOR_LINE
#property indicator_type2 DRAW_COLOR_LINE
#property indicator_type3 DRAW_COLOR_LINE
#property indicator_type4 DRAW_COLOR_LINE
#property indicator_type5 DRAW_COLOR_LINE
#property indicator_type6 DRAW_COLOR_LINE
SetIndexBuffer(0,upper_line,INDICATOR_DATA);
SetIndexBuffer(1,upper_line_color,INDICATOR_COLOR_INDEX);
PlotIndexSetString(0,PLOT_LABEL,"Upper Line");
PlotIndexSetInteger(0,PLOT_LINE_STYLE,UpperStyle);
PlotIndexSetInteger(0,PLOT_LINE_WIDTH,UpperWidth);
PlotIndexSetInteger(0,PLOT_COLOR_INDEXES,2);
PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,UpperTrendUp);
PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,UpperTrendDw);
// ==========
SetIndexBuffer(2,awera_line,INDICATOR_DATA);
SetIndexBuffer(3,awera_line_color,INDICATOR_COLOR_INDEX);
PlotIndexSetString(1,PLOT_LABEL,"Average Line");
PlotIndexSetInteger(1,PLOT_LINE_STYLE,AverageStyle);
PlotIndexSetInteger(1,PLOT_LINE_WIDTH,AverageWidth);
PlotIndexSetInteger(1,PLOT_COLOR_INDEXES,2);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,AverageTrendUp);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,AverageTrendDw);
// ==========
SetIndexBuffer(4,lower_line,INDICATOR_DATA);
SetIndexBuffer(5,lower_line_color,INDICATOR_COLOR_INDEX);
PlotIndexSetString(2,PLOT_LABEL,"Lower Line");
PlotIndexSetInteger(2,PLOT_LINE_STYLE,LowerStyle);
PlotIndexSetInteger(2,PLOT_LINE_WIDTH,LowerWidth);
PlotIndexSetInteger(2,PLOT_COLOR_INDEXES,2);
PlotIndexSetInteger(2,PLOT_LINE_COLOR,0,LowerTrendUp);
PlotIndexSetInteger(2,PLOT_LINE_COLOR,1,LowerTrendDw);
Kaç renk tamponu kullanılabilir?
Tamponlar birbirine nasıl bağlanır?
#property gösterge_buffers 12 // Yalnızca 12 arabellek bildirildi
#property Indicator_plots 6 // Grafik grafikler
1'den 6'ya kadar gösterge_tipi belirterek, göstergenin 6 grafik çizim için renkli bir çizgi çizilmesi gerektiğini anlayacağını doğru anlıyor muyum?
#özellik göstergesi_type1 DRAW_COLOR_LINE
#özellik göstergesi_type2 DRAW_COLOR_LINE
#özellik göstergesi_type3 DRAW_COLOR_LINE
#özellik göstergesi_type4 DRAW_COLOR_LINE
#özellik göstergesi_type5 DRAW_COLOR_LINE
#özellik göstergesi_type6 DRAW_COLOR_LINE
// =====
SetIndexBuffer(0,upper_line,INDICATOR_DATA); // İlk veri arabelleği
SetIndexBuffer(1,upper_line_color,INDICATOR_COLOR_INDEX); // Renk verileri için ikinci arabellek
PlotIndexSetString(0,PLOT_LABEL,"Üst Satır"); // İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_LINE_STYLE,UpperStyle);// İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_LINE_WIDTH,UpperWidth);// İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_COLOR_INDEXES,2);// İlk tamponun özelliklerini değiştir
PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,UpperTrendUp);// İlk tamponun özelliklerini değiştirin
PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,UpperTrendDw);// İlk tamponun özelliklerini değiştirin
SetIndexBuffer(2,awera_line,INDICATOR_DATA); // Üçüncü tampon
SetIndexBuffer(3,awera_line_color,INDICATOR_COLOR_INDEX); // Dördüncü renk arabelleği
PlotIndexSetString(1,PLOT_LABEL,"Ortalama Doğru"); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_STYLE,AverageStyle); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_WIDTH,AverageWidth); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_COLOR_INDEXES,2); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,AverageTrendUp); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,AverageTrendDw); // SetIndexBuffer(2,awera_line,INDICATOR_DATA) için arabellek özelliklerini değiştirin;
Sorunuz için ayrı bir konu açsanız iyi olur. Bu konu özelliklerle ilgili, burada tartışma olmamalı.
Yapı ilkesini daha iyi anlamak için işlevselliği aşamalı olarak uygulayın. Bir satır oluşturduk - performansı kontrol ettik, bir sonrakini ekledik.
Her grafik serisi (bu durumda bir renk çizgisi) yalnızca bir renk arabelleğine sahip olabilir. Her arabellek birden fazla renk içerebilir.
1907 sürümünde böcekler mucizevi bir şekilde ortadan kayboldu. Onları bulmak için geri dönüp dönmeyeceğimi bile bilmiyorum, yoksa bu yerde bir şeyler düzeltildi ...
Hatalar ortadan kalktı, ancak olay kuyruğundaki sorunlar ortadan kalkmadı. Birkaç saatlik çalışmadan sonra terminal, CPU'yu %95'te yüklemeye başlar. Ve bir şey bana kenelerin atlandığını söylüyor.
@Slava , 19x yapılarında ChartEvents'te bir şey değişti mi? Sorunu yeniden üretiyor musunuz?
Hatalar ortadan kalktı, ancak olay kuyruğundaki sorunlar ortadan kalkmadı. Birkaç saatlik çalışmadan sonra terminal, CPU'yu %95'te yüklemeye başlar. Ve bir şey bana kenelerin atlandığını söylüyor.
@Slava , 19x yapılarında ChartEvents'te bir şey değişti mi? Sorunu yeniden üretiyor musunuz?
15 saatlik terminal çalışmasından sonra kaynak izleme şu şekilde görünür (bir casus tarafından minimum olay gönderme sıklığı 500 ms'dir):
Lansmandan birkaç saat sonra olmasına rağmen CPU kullanımı 0'a yakın.
15 saatlik terminal çalışmasından sonra kaynak izleme şu şekilde görünür (bir casus tarafından minimum olay gönderme sıklığı 500 ms'dir):
Lansmandan birkaç saat sonra olmasına rağmen CPU kullanımı 0'a yakın.
1908'i oluşturun - değişiklik yok.
Temel tip yapı operatörlerini değiştirme yeteneği, bazı durumlarda esneklik sağlar.
Örnek olarak, aşağıda bir dizi yapıyı özel olarak sıralamanın püf noktalarından biri verilmiştir.
Sonuç
Muhtemelen eski bir bisiklet.
Temel tip yapı operatörlerini değiştirme yeteneği, bazı durumlarda esneklik sağlar.
birkaç nokta var. mql'de < operatörü bir sınıf\yapı yöntemi olmalıdır.
bu, yerleşik yapılar için ayarlanamayacağı anlamına gelir. iyi, ya da değişmez için.
bu yöntem, varsayılan olarak < operatörünü çağıracak bir karşılaştırma şablonu işlevi eklenerek biraz geliştirilebilir.
UPD: < operatörünü her yere yazarım çünkü genellikle aşırı yüklerler ve > değil, bu katı değildir, ancak genel olarak kabul edilirbirkaç nokta var. mql'de < operatörü bir sınıf\yapı yöntemi olmalıdır.
bu , yerleşik yapılar için ayarlanamayacağı anlamına gelir. iyi, ya da değişmez için.
Sonuç
bu yöntem, varsayılan olarak < operatörünü çağıracak bir karşılaştırma şablonu işlevi eklenerek biraz geliştirilebilir.
Bir typedef kullanıyorsanız, yalnızca yapılar için değil, aynı zamanda standart sayısal türler için de bir sıralama işlevi tanımlamanız gerekir. Ya da belki neden bahsettiğini anlamıyorum.