![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
Evet benzer bir durum bende de var. Öğrenmek zor değil, yeniden öğrenmek, eski alışkanlıkları kırmak daha zor. Prosedürel programlamanın birçok kötü alışkanlığını hala öğrenemiyorum.
prosedürel tarzdan yeniden öğrenmek? hmm, prosedürel tarzda iyi yazılmış kod bir sınıfa sarılabilir , projeyi ölçeklendirmeye ihtiyaç varsa, genellikle sorun olmaz
Şimdilik sabitleri ve statiği unutabilirsiniz. Arayüzler için de.
Ancak her şey hazır olduğunda, bakın ve bir şeyi statik, bir şeyi de sabit olarak işaretleyin. Ve arayüzlerde genel olarak çekiçlemek mümkündür.
çok ve hızlı bir şekilde yapabilirim
Bunu teoriyi incelemeye, daha doğrusu MQL'yi son yıllarda ortaya çıkana getirmeye karar verdim, burada bile çoğu kişi terminallerin yeteneklerinin farkında değil
ve materyali incelerseniz, o zaman doğru bir şekilde çalışmanız gerekir, IMHO, peki ve MQL'ye C ++ veya hala C #'ye neyin daha yakın olduğunu anlamanız gerekir, C ++ gibi görünse de, genel olarak C # 'da Değiştiricilerle uğraşmayın, daha doğrusu stüdyonun şüpheli olarak işaretlemesi, maksimum doğru)))
Şimdilik sabitleri ve statiği unutabilirsiniz. Arayüzler için de.
Ancak her şey hazır olduğunda, bakın ve bir şeyi statik, bir şeyi de sabit olarak işaretleyin. Ve arayüzlerde genel olarak çekiçlemek mümkündür.
Ana şey, sabitlerin ve statiklerin tutulması gerektiğidir. Arayüzler konusunda katılıyorum.
prosedürel tarzdan yeniden öğrenmek? hmm, prosedürel tarzda iyi yazılmış kod bir sınıfa sarılabilir, projeyi ölçeklendirmeye ihtiyaç varsa, genellikle sorun olmaz
çok ve hızlı bir şekilde yapabilirim
Bunu teoriyi incelemeye, daha doğrusu MQL'yi son yıllarda ortaya çıkana getirmeye karar verdim, burada bile çoğu kişi terminallerin yeteneklerinin farkında değil
ve materyali incelerseniz, o zaman doğru bir şekilde çalışmanız gerekir, IMHO, peki ve MQL'ye C ++ veya hala C #'ye neyin daha yakın olduğunu anlamanız gerekir, C ++ gibi görünse de, genel olarak C # 'da Değiştiricilerle uğraşmayın, daha doğrusu stüdyonun şüpheli olarak işaretlemesi, maksimum doğru)))
const - bir değişkene atamayı yasaklamak gerekirse (başlatma sırasında bir kez hariç). Değişken conts olarak bildirilmişse, o zaman onu bir fonksiyona referans yoluyla iletirken, fonksiyon argümanı da const olmalıdır, ancak derleyici onu zorlayacaktır, bunun hakkında düşünmeniz gerekmez. Değişken atanmamışsa, const olarak da işaretlenebilir - daha hızlı çalışır, bu işlev argümanları için geçerlidir. Ancak, herhangi bir zamanda revizyon gerektirebilir ...
statik - bu bir sınıftaki bir değişkense, bu nadir bir durumdur, hatta en nadirdir. Bu bir sınıf yöntemiyse, yalnızca bu yöntemin argümanları ve statik sınıf değişkenleri yöntemde işlenirse, bu da nadir bir durumdur (ancak, işlevlerin yalnızca kolaylık sağlamak için toplanması çok nadir değildir). sınıf).
bir örnek, genel olarak değiştiricilerle ilgili sorun yaşıyorum
Not: İnternette, genel olarak, programlama tartışmasında olanların dehşeti - geçen ay Habre'de const hakkında bir makale vardı, mesele şu ki - evet, bu const gerekli değil, bakın montajcı kodu const olmadan farklı değildir - derleyici her şeyi kaldıracaktır (((
İşte bir örnek:
Neden bir arayüze ihtiyacınız olduğu kodunuzdan net değil, ben de onu attım.
Tabii ki, görevinizi tam olarak bilmiyorum, ancak% 99,99 olasılıkla buna gerek yok.
prosedürel tarzdan yeniden öğrenmek? hmm, prosedürel tarzda iyi yazılmış kod bir sınıfa sarılabilir, projeyi ölçeklendirmeye ihtiyaç varsa, genellikle sorun olmaz
çok ve hızlı bir şekilde yapabilirim
Bunu teoriyi incelemeye, daha doğrusu MQL'yi son yıllarda ortaya çıkana getirmeye karar verdim, burada bile çoğu kişi terminallerin yeteneklerinin farkında değil
ve materyali incelerseniz, o zaman doğru bir şekilde çalışmanız gerekir, IMHO, peki ve MQL'ye C ++ veya hala C #'ye neyin daha yakın olduğunu anlamanız gerekir, C ++ gibi görünse de, genel olarak C # 'da Değiştiricilerle uğraşmayın, daha doğrusu stüdyonun şüpheli olarak işaretlemesi, maksimum doğru)))
İşte bir örnek:
Neden bir arayüze ihtiyacınız olduğu kodunuzdan net değil, ben de onu attım.
Tabii ki, görevinizi tam olarak bilmiyorum, ancak% 99,99 olasılıkla buna gerek yok.
Bence bu 5. kez duyuyorum, diyorlar ki, arayüzleri atın ve zahmet etmeyin)))
"Strateji" OOP tasarım modelini temel aldım
belirtildiği gibi, arayüzleri temel sınıf CStrategy'yi devraldığım bir soyutlama olarak uygulamak - CStrategy'min genel yöntemleri olmayacağı ortaya çıktı, tüm halklar arayüzler tarafından tanımlanır (3 adet = stratejinin kendisi, stratejinin tamamlanması ve şimdi stratejinin durumunun bir kaydını ekledim). arayüzlerin rolü... peki, const değiştiricilerinkiyle hemen hemen aynıdır - bir yöntem tanımlamadıysanız veya bunları miraslarla kapatmaya çalışırsanız, ilk aşamada uyarı alırsınız - şimdiye kadar daha fazla kolaylık yaşıyorum sorunlardan daha.
Genel olarak, %100 olasılıkla buna gerek olmadığını onaylıyorum ... ancak CStrategy sınıfının genel bir bölüm içermemesi uygun
Kodunuz iyi görünüyor, öğle yemeğinden sonra evde çoğaltacağım, benimkiyle karşılaştırmaya çalışacağım
Teşekkür ederim!
mql'nin kendisi c ++ tabanlıdır, ancak yaratıcıların çabalarıyla, Sharpe'dan iyi bir şey eklemeden birçok kötü şeyi ona getirdiler. Sharpe benzeri standart kitaplık gösterge niteliğindedir. std gibi görünse daha mantıklı görünürdü. BENİM NACİZANE FİKRİME GÖRE.
belki de MQL forumunda "bu C++ değil, bu MQL ..." ifadesini başlatan bendim, şimdi bu bağlamda sizinki gibi bir çok soruyu yanıtlıyor))))
genel olarak, dil oldukça demokratik, MQL'de yazmak uygun değil - "2 tıklama" ile .dll C++'a ve yılın başından itibaren .dll C#'a gidebilirsiniz, eğer bellek çalışıyorsa, o zaman ilklerden birine Developer Renat'tan dll ile ilgili makaleler - t .e. Bu olasılık, başlangıçta, ürün konsepti önerildiği için IMHO'dur.
Not: yukarıda, nedense şu cümleyi hatırladım - Ben bir sanatçıyım - öyle görüyorum! )))
Not: yukarıda, nedense şu cümleyi hatırladım - Ben bir sanatçıyım - öyle görüyorum! )))
bu geliştiricilerin cevaplarında çok sık hatırlanıyor iyi mi kötü mü bilinmiyor
sadece geliştiriciler bilgi verdiyse ve bir kez ve tüm sorular için kapattıysa - neden bir işlev ekleyemiyorsunuz veya değiştiremiyorsunuz?
bu geliştiricilerin cevaplarında çok sık hatırlanıyor iyi mi kötü mü bilinmiyor
sadece geliştiriciler bilgi verdiyse ve bir kez ve tüm sorular için kapattıysa - neden bir işlev ekleyemiyorsunuz veya değiştiremiyorsunuz?
Eh, bu, BT tekellerinin desteğiyle yerleşik kurumsal kullanıcı iletişim tarzıdır, İnternet, kullanıcıların bariz Microsoft hataları bulduğu ve Microsoft ile iletişim kurduktan sonra yanıt olarak aldıkları durumlarla doludur ... genellikle sessizlik)))
Not: son bir okumadan, Habr " Windows menüyü açmak için neden bir dosyayı yüz bin kez okur? "