Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 850
![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
Eğri göstergesini düzenleyin. Yalnızca bağlam menüsünün komutunda gerçekleşen tam bir yeniden hesaplama ile sizin için bir çizgi çizebilir.
mql4'te de var.
Teşekkür ederim.
Koltuk değneği ile çıktım). Zaman aldığı dikey çizgiyi manuel olarak sürükledikten sonra güncellemek için göstergeye ihtiyacım vardı. Nesne sürükleme olayı işlevini kullandım ve TF'yi değiştirme işlevini, orijinaline dönüşle koydum. Yalnızca bazı nedenlerden dolayı güncelleme birkaç saniye gecikmeli olarak tetiklenir. TF veya başka bir şeyi değiştirme işlevi çok yavaş çalışıyor, anlamadım.
Bu işlev eşzamansızdır. Yalnızca komutu olay kuyruğuna koymanın sonucunu döndürür.
Anında güncelleme için, grafik değiştirme komutundan sonra ChartRedraw() komutunu çalıştırın.
Genel olarak, elbette, yanlış yaklaşım. Grafiği yalnızca satır taşındıktan sonra güncellemeniz gerekiyorsa, gösterge yeniden hesaplama döngüsü OnCalculate() öğesinden değil, ChartEvent() öğesinden çağrılmalıdır - satır ofsetini yakaladı - gösterge yeniden hesaplama işlevi olarak adlandırılır ve tam bir performans gösterecektir. yeni verilerle satır yeniden hesaplama döngüsü (bazı veriler için satır gerekli mi?)
Yoksa gösterge doğru şekilde yapılmadı mı ve mevcut verilerdeki sıfır çubuğunu güncellemiyor ve onu yendiniz mi?
Birisi MT5'teki danışman kodunu düzeltmeme yardım edebilir mi?
Kılavuzları okudum ama derleme yaparken 2 uyarıyı geçemiyorum.
'xxx' beyanı küresel beyanı gizler
ve
tür dönüştürme nedeniyle olası veri kaybı
Global değişkenlerin adlarını aptalca düzelttim ve türleri sıraya koydum.
Tembelliğinizin üstesinden gelmek için 10.000.000 ruble ödeyebilirsiniz.
Global değişkenlerin adlarını aptalca düzelttim ve türleri sıraya koydum.
Tembelliğinizin üstesinden gelmek için 10.000.000 ruble ödeyebilirsiniz.
Çok teşekkürler.
Nasıl düzelttiğimi göstermekten utanıyorum)
int CountTrades(uzun PositionID1)
Bu işlev eşzamansızdır. Yalnızca komutu olay kuyruğuna koymanın sonucunu döndürür.
Anında güncelleme için, grafik değiştirme komutundan sonra ChartRedraw() komutunu çalıştırın.
Genel olarak, elbette, yanlış yaklaşım. Grafiği yalnızca satır taşındıktan sonra güncellemeniz gerekiyorsa, gösterge yeniden hesaplama döngüsü OnCalculate() öğesinden değil, ChartEvent() öğesinden çağrılmalıdır - satır ofsetini yakaladı - gösterge yeniden hesaplama işlevi olarak adlandırılır ve tam bir performans gösterecektir. yeni verilerle satır yeniden hesaplama döngüsü (bazı veriler için satır gerekli mi?)
Yoksa gösterge doğru şekilde yapılmadı mı ve mevcut verilerdeki sıfır çubuğunu güncellemiyor ve onu yendiniz mi?
Gösterge, son sayılmayan çubukları sayar. Ve dikey sürüklendikten sonra, dikeyin yeni zamanını okuduktan sonra tamamen yeniden hesaplanmalıdır. Burada bunun hakkında yazdım ve nasıl çalıştığına dair ekran görüntüleri yayınladım.
Teşekkürler, fikrinizi deneyeceğim. Genel olarak, göstergelerde zayıfım, her zaman esas olarak danışmanlarla uğraştım.
Bu işlev eşzamansızdır. Yalnızca komutu olay kuyruğuna koymanın sonucunu döndürür.
Anında güncelleme için, grafik değiştirme komutundan sonra ChartRedraw() komutunu çalıştırın.
Genel olarak, elbette, yanlış yaklaşım. Grafiği yalnızca satır taşındıktan sonra güncellemeniz gerekiyorsa, gösterge yeniden hesaplama döngüsü OnCalculate() öğesinden değil, ChartEvent() öğesinden çağrılmalıdır - satır ofsetini yakaladı - gösterge yeniden hesaplama işlevi olarak adlandırılır ve tam bir performans gösterecektir. yeni verilerle satır yeniden hesaplama döngüsü (bazı veriler için satır gerekli mi?)
Yoksa gösterge doğru şekilde yapılmadı mı ve mevcut verilerdeki sıfır çubuğunu güncellemiyor ve onu yendiniz mi?
tavsiye ettiğin gibi yaptı. Her şey harika çıktı. Şimdi, sürükledikten hemen sonra gösterge tamamen yeniden çizilir. Tekrar teşekkürler.
tavsiye ettiğin gibi yaptı Her şey harika çıktı. Şimdi, sürükledikten hemen sonra gösterge tamamen yeniden çizilir. Tekrar teşekkürler.
Benim için zevkti. Ama OnCalculate() içinde çizim yapmalı mı, yapmamalı mı?
Sonuçta, tabloya atarken, hala herhangi bir çizgi hareketini bilmiyor, ancak çizgiyi çizmesi gerekiyor.
Benim için zevkti. Ama OnCalculate()'de çizim yapmalı mı, yapmamalı mı?
Sonuçta, tabloya atarken, hala herhangi bir çizgi hareketini bilmiyor, ancak çizgiyi çizmesi gerekiyor.
Gösterge grafiğe yerleştirildiğinde, init() içinde bir dikey oluşturulur ve başlangıçta buna bir süre ayarlanır, örneğin, Zaman[10]. Kodu OnChartEvent() ve OnCalculate() içinde çoğalttım. Tüm çubuklar için yeniden hesaplama yalnızca OnChartEvent'te yapıldı.
Gösterge grafiğe yerleştirildiğinde, init() içinde bir dikey oluşturulur ve başlangıçta buna bir süre ayarlanır, örneğin, Zaman[10]. Kodu OnChartEvent() ve OnCalculate() içinde çoğalttım. Tüm çubuklar için yeniden hesaplama yalnızca OnChartEvent'te yapıldı.
Örneğin, Refresh() işlevini gerekli biçimsel parametrelerle yapmak ve gerektiğinde onu çağırmak daha iyi değil mi?
Ve bu arada, bir tarih aralığıyla Bars() kullanarak OnCalculate() işlevinin dışındaki göstergede oranları_toplamını alırken, göstergenin donmasıyla karşılaşabilirsiniz:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
iBarShift'e benzer
Nikolai Semko , 2018.04.05 23:47
Şimdilik bu seçenek , ancak şimdi hizmet masasına aboneliğimi iptal ettiğim Barlar işlevinin askıya alınmasıyla ilgili bu hatayı atlaması için onu tamamlamak istiyorum.
Bu hatanın özü, Bars işlevindeki start_time ve stop_time'ın her ikisinin de aynı çubuğun içinde veya gelecekte (sıfır çubuğunun sağında) olması durumunda, bu işlevin 10 saniyeden fazla donmasıdır.
Belki biraz sonra, yine de doğru sürümü daha hızlı yapacağım, ancak daha hantal.