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
"Son anlaşma" terimini açıklığa kavuşturmak istiyorum.
Geçerli gün içindeki son ticareti aramanız mı gerekiyor? Yoksa son N-günler için mi?
geçen 24 saat içinde anlaşma - geçmişi gözden geçirmeye gerek yok.
geçen 24 saat içinde anlaşma - geçmişi gözden geçirmeye gerek yok.
Bunun anlamı şudur:
Gösterge, OBJ_VLINE yardımından dikey bir çizgi oluşturmak, taşımak ve silmek için kodu kullanır. (şimdiye kadar göstergede yalnızca satır oluşturma çalışır). Hat adı, " Dikey hat adı " giriş parametresinde verilir.
Dikey çizgi OnOnit () içinde oluşturulur :
Yükü en aza indirmek için hikayeleri dakikada bir yoklıyoruz. Bu amaçlar için, programımızın global değişkenleri alanında (bu durumda gösterge), ExtLastMove değişkenini bildireceğiz.
- bu değişken, ticaret geçmişine son erişim zamanını saklayacaktır.
OnCalculate() içinde ayrıca geçerli zamandan ( TimeCurrent herhangi bir sembol için son alıntının zamanı) kaydedilen ExtLastMove zamanını çıkarın ve fark 60 saniyeden azsa - çıkın
fark daha büyükse, yeni zamanı ExtLastMove'a yazarız .
Ticaret geçmişine LastProfitForPeriod() içinde erişilebilir.
Burada iki tarih kullanılır: from ve to. "Kime" geleceğe ayarlanır (şimdiki saat artı bir gün) ve " kimden", geçerli saatten bir gün çıkarılarak elde edilir
Şimdilik bu kadar, bir sürü serseri...
Neden to_date'e geleceği vurmaya eşit ihtiyacımız olduğunu anlamadım? Belki şimdiye kadar? Gelecekte , işlemin sonucu belli değil gibi görünüyor :) Yoksa gelecek zamanda bir çizgi çekmek için bu günlere mi ihtiyacımız var?
Serideki bir başka soru.
Anladığım kadarıyla, diziyi fırsatlarla ilgili verilerle yüklüyoruz ve sıfır anlaşmadan sonuncuya kadar diziyi yineliyoruz, zamanı kaydedilen son ile karşılaştırıyoruz ve anlaşma_zamanı daha sonraysa son_zaman değişkeninin üzerine yazıyoruz. Ya da belki dizinin sonundan itibaren yineleyebilirsiniz? Aslında, dizinin en son elemanı, veriye ihtiyacımız olan son kapalı anlaşma mı olacak?
Belki bazı mantıksal hatalar yapıyorum - lütfen kesinlikle yargılamayın :)
Bu yüzden gerekli. Şu anki zamandan ve öncesinden "gelecek" garantili olmak.
Ya da belki dizinin sonundan itibaren yineleyebilirsiniz?
Görev son anlaşmayı bulmaksa, o zaman Dizinin tam olarak sıralanması ve aranması gerekir - bir şeyin nasıl olacağını asla bilemezsiniz veya çekirdeğin iç mantığı değişecek ve anlaşmalar bozulacaktır.
Bu yüzden gerekli. Şu anki saatten önce ve sonra "başlangıç" alma garantisi olmak.
Görev son anlaşmayı bulmaksa, o zaman Dizinin tam olarak sıralanması ve aranması gerekir - bir şeyin nasıl olacağını asla bilemezsiniz veya çekirdeğin iç mantığı değişecek ve anlaşmalar bozulacaktır.
Tamam anladım. Prensip olarak, 24 saatlik geçmiş sınırlaması dikkate alındığında, veriler arasında sıralama yapılırken açıkçası önemli bir yük olmayacaktır :)
Tamam anladım. Prensip olarak, 24 saatlik geçmiş sınırlaması dikkate alındığında, veriler arasında sıralama yapılırken açıkçası önemli bir yük olmayacaktır :)
Böylece, son dokunuş kalır - alınan kâra bağlı olarak çizgiyi hareket ettirin.
Bana hareketin kurallarının ne olduğunu hatırlat.
Bu doğru mu yoksa bir şeyi mi karıştırıyorum?
Burada "önce" parametresinin neden gelecekte yapılması gerektiğine dair bir açıklama buldum:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
Renat Fatkhullin , 2016.11.04 12:43
Bitiş tarihi olarak asla TimeCurrent()'i kullanmayın, tüm son işlemlerin yakalanmasını sağlamak için TimeCurrent()+86400'ü kullanın.
TimeCurrent tam olarak en son zaman değil, %100 doğru bir zaman olmayan "güncellemeler sırasında bilinen son sunucu zamanı"dır. Özellikle başlangıçta.