Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 16
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
"Backtest" sekmesindeki " Grafik aç " komutu ile test edildikten sonra Expert Advisor'da kullanılan tüm göstergelerin uygun parametrelerle açılan grafiğe otomatik olarak eklenmesi mümkün müdür?
Henüz değil.
Şimdilik görsel test şablonunu kaydedebilir ve istemci terminalinde uygulayabilirsiniz.
Henüz değil.
Şimdilik görsel test şablonunu kaydedebilir ve istemci terminalinde uygulayabilirsiniz.
ve OnDeinit'teki Expert Advisor'da ise
ChartSaveTemplate()
tester.tpl ismiyle, " Grafik Aç " komutuyla grafiği açtıktan sonra ihtiyacınız olanı elde edecek misiniz?
ve OnDeinit'teki Expert Advisor'da ise
ChartSaveTemplate()
tester.tpl ismiyle, " Grafik Aç " komutuyla grafiği açtıktan sonra ihtiyacınız olanı elde edecek misiniz?
Numara. ChartSaveTemplate, şablonu test aracısının yerel Dosyalar klasörüne kaydeder
Bu, şablonun görselleştiriciden ana menü aracılığıyla manuel olarak kaydedilmesi anlamına geliyordu.
Tester.tpl yalnızca tek yönde çalışır - istemci terminalinden görselleştiriciye
Numara. ChartSaveTemplate, şablonu test aracısının yerel Dosyalar klasörüne kaydeder
Bu, şablonun görselleştiriciden ana menü aracılığıyla manuel olarak kaydedilmesi anlamına geliyordu.
Tester.tpl yalnızca tek yönde çalışır - istemci terminalinden görselleştiriciye
hayır, çok hantal, çok fazla vücut hareketi gerektirecek ve her seferinde sadece şablonu kaydetmek için görsel testler yapmak genellikle çok pahalı, özellikle de sık sık yapmanız gerektiğinde...
bu, göstergelerle hemen test ettikten sonra bir grafiği açmak için düzenli bir yeteneğe ihtiyacınız olduğu anlamına gelir.
not. Test cihazında çalışmıyor. Bunu seviyorum:
void OnDeinit ( const int reason)
{
if ( ChartSaveTemplate ( 0 , "testersdfsdfsdfsdf" ))
Print ( __FUNCTION__ + ": Шаблон сохранён" );
else
Print ( __FUNCTION__ + ": Шаблон НЕ сохранён" );
EventKillTimer ();
}
//——————————————————————————————————————————————————————————————————————————————
//——————————————————————————————————————————————————————————————————————————————
double OnTester ()
{
if ( ChartSaveTemplate ( 0 , "testersdfsdfsdfsdf" ))
Print ( __FUNCTION__ + ": Шаблон сохранён" );
else
Print ( __FUNCTION__ + ": Шаблон НЕ сохранён" );
return (- DBL_MAX );
}
//——————————————————————————————————————————————————————————————————————————————
sonuç:
2017.03.07 12:22:15.422 Çekirdek 1 2017.03.06 23:58:59 OnTester: Şablon KAYDEDİLMEDİ
2017.03.07 12:22:15.422 Core 1 final bakiyesi 1129.18 USD
2017.03.07 12:22:15.422 Core 1 OnTester sonucu -1.797693134862316e+308
2017.03.07 12:22:15.422 Core 1 2017.03.06 23:58:59 OnDeinit: Şablon KAYDEDİLMEDİ
{
int indic = iCustom ( Symbol (), Period (), "Examples\\ATR" , 7 , PRICE_CLOSE , clrGreen );
ChartIndicatorAdd ( 0 , 1 , indic);
Sleep ( 10000 );
}
Göstergenin rengi bu şekilde ayarlanamaz.
Peki neden bazı insanlar "bu bir bug değil, bir özellik" diyor?
Ancak, resmi cevap beni tamamen tatmin etti:
Bir MQL5 programından bir göstergenin rengini ve stilini nasıl değiştireceğimizi düşüneceğiz.
Bu arada, göstergenin rengini ayarlamak için color türündeki giriş değişkenlerini kullanın.
{
int indic = iCustom ( Symbol (), Period (), "Examples\\ATR" , 7 , PRICE_CLOSE , clrGreen );
ChartIndicatorAdd ( 0 , 1 , indic);
Sleep ( 10000 );
}
Göstergenin rengi bu şekilde ayarlanamaz.
Peki neden bazı insanlar "bu bir bug değil, bir özellik" diyor?
Ancak, resmi cevap beni tamamen tatmin etti:
Çünkü gösterge tutamacı aracılığıyla (hesaplama bölümü aracılığıyla) görüntü özelliklerini (çizim kısmı) ayarlamak mümkün değildir. Hata, bir şeyin bir şekilde yazılması, ancak tamamen farklı bir şekilde çalışmasıdır.
Burada farklı bir yaklaşıma ihtiyaç var. ChartIndicatorXXX işlev grubunda olduğu gibi göstergeye kısa adıyla erişin. ChartIndicatorSetInteger (chart_id,sub_window,indicator_name,PROP_COLOR,mod,value) gibi bir şey
Bunu zaten düşündük ama şimdiye kadar eller ulaşmadı
Bir tutamaç aracılığıyla bir şey ayarlamak için ne var? Renk, PLOT_LINE_COLOR özelliği aracılığıyla göstergenin kendisinde ayarlanır.
gösterge_renkN yalnızca PLOT_LINE_COLOR ile değiştirilen ilk rengi belirtir.
gösterge_renkN, PLOT_LINE_COLOR aracılığıyla sonraki ayar ile göstergeyi çağırırken girişten farklı değildir.
Bu tür özelliklerin tutamaç yoluyla değiştirilmesine izin vermek genellikle imkansızdır.
Ve gösterge_tamponlarının dinamik olarak ayarlanmasına izin vermenin zamanı geldi.
Bir tutamaç aracılığıyla bir şey ayarlamak için ne var? Renk, PLOT_LINE_COLOR özelliği aracılığıyla göstergenin kendisinde ayarlanır.
gösterge_renkN yalnızca PLOT_LINE_COLOR ile değiştirilen ilk rengi belirtir.
gösterge_renkN, PLOT_LINE_COLOR aracılığıyla sonraki ayar ile göstergeyi çağırırken girişten farklı değildir.
Bu tür özellikleri tutamaç yoluyla değiştirmenize kesinlikle izin verilmemelidir.
Ve gösterge_tamponlarının dinamik olarak ayarlanmasına izin vermenin zamanı geldi.
Koldan bahsetmemek mümkün değil. Ben de çizim özelliklerini tutamaçtan ayarlamanın imkansız olduğunu söyledim. Ve nedenini açıkladı
Özel göstergelere ek olarak, çizelgeye programlı olarak eklendikten sonra rengini değiştirmesi gereken yerleşik göstergelerin de olduğunu unutmayın.
Yalnızca gösterge çağrı işlevlerini genişletmenizi öneririm:
Daha fazla bir şey eklenmesine gerek yok.
Yalnızca gösterge çağrı işlevlerini genişletmenizi öneririm: