![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
Burada bir şey eksik. Örneğin USDJPY H1 için iki grafik açarsam ve her birine EA'nın bir örneğini eklersem, her ikisi de sihirli sayı 9999033'ü kullanır.
Evet, bu seçenek yerleşik değildi çünkü onu hiç kullanmadım. İki girintili çizelgeyi (görebildiğim) ayırt etmenin tek yolu, pencere tutamağında hash yapmak olacaktır ...
ancak daha sonra yeniden başlatma ve grafik kapatma üzerindeki kalıcılığı kaybedersiniz ve bu nedenle sonuç olarak yetim siparişler oluşturulabilir veya oluşturulacaktır.
Öyleyse MT terminal uygulaması bir 'kapsayıcı' mı - <her şey> için tek bir hWnd ile mi?
Evet. Oldukça tipik bir MDI uygulamasıdır. Araç çubukları, bölmeler ve MDI istemci alanı gibi şeyleri içeren üst düzey bir pencere vardır. İkincisi, daha sonra her grafiği içerir ve her grafik aslında iki pencereden oluşur: içinde çizim alanı olan bir kap. Bunların her birinin kendi hWnd tutamacı vardır. WindowHandle() işlevi çizim alanının tanıtıcısını döndürür ve bu nedenle GetParent() API çağrısını üç kez kullanmak size en üst düzey MT4 penceresinin hWnd'sini verir.
fwiw, aşağıda kullanıyorum ve hiçbir zaman kopyalarım olmadı. 10 adede kadar [her tür] çizelgede aynı EA.
Hash işlevine verilen aşırı derecede gereksiz önemsiz gerçeklere bir cevabım yok. Mutfak lavabosu dahil her şeyi ittim. yani, ben matematik insanı değilim ..., sadece tekrarlanmayana kadar çekiç ve yontuldu - 10 grafik profili ile terminal başlangıcında bile hepsi aynı EA ...
Açıkçası, daha iyi ve daha açıklanabilir/mantıksal bir yönteme sahip olmak isterdim... o yüzden onu parçalara ayırmaya başlayın :O)
fwiw, aşağıda kullanıyorum ve hiçbir zaman kopyalarım olmadı. 10 adede kadar [her tür] çizelgede aynı EA.
Karma işlevine verilen aşırı derecede gereksiz önemsiz gerçeklere bir cevabım yok. Mutfak lavabosu dahil her şeyi ittim. yani, ben matematik insanı değilim ..., sadece tekrarlanmayana kadar çekiç ve yontuldu - 10 grafik profili ile terminal başlangıcında bile hepsi aynı EA ...
Açıkçası, daha iyi ve daha açıklanabilir/mantıksal bir yönteme sahip olmak isterdim... o yüzden onu parçalara ayırmaya başlayın :O)
Beğendim. Özellikle iyi ol' djb2 hash.
Çok etkileyici şeyler arkadaşlar :)
MDI kapsayıcıları beni geri alıyor <iç çekiş>
Hala söylüyorum, IMHO, Magic Numbers rastgele uygulanamayacak kadar önemli !
Eminim CB, yeniden başlatmada öngörülebilir kurtarmanın sağlam bir sistemde son derece önemli bir unsur olduğunu onaylayacaktır.
FWIW
-BB-
Bu kodla, bir EA, platform kapanırsa kendi siparişlerini tanıyabilir. Global Değişkenleri kullanır, bu nedenle EA'yı PC'ye "bağışık" hale getirmek istiyorsanız, Global Değişkenler yerine dosyaları kullanmak üzere yeniden yazılabilir. Ben de tam zamanında bir pozisyon açan ve bir sonraki çubukta kapatan bir örnek ekledim, uzmanı 1M zaman diliminde yükleyebilir, metatrader'ı kapatıp tekrar açabilirsiniz, bir sonraki çubuğun nasıl olduğunu görmek için bekleyin. EA siparişini kapatır. Çoklu grafiklerle kanıtlanmadı, ne de çoklu siparişlerle kandırıldı, ama bunun hakkında ne düşünüyorsunuz?
Beğendim. Özellikle iyi ol' djb2 hash.
teşekkürler - ama makeexpertid'de bu kadar bilgisiz bir kodlama parçası hakkında gerçekten utangaç hissediyorum ...
Henüz erken ama belki biri kusuru/kusurları fark edebilir...
Çok etkileyici şeyler arkadaşlar :)
MDI kapsayıcıları beni geri alıyor <iç çekiş>
Hala söylüyorum, IMHO, Magic Numbers rastgele uygulanamayacak kadar önemli!
Eminim CB, yeniden başlatmada öngörülebilir kurtarmanın sağlam bir sistemde son derece önemli bir unsur olduğunu onaylayacaktır.
FWIW
-BB-
Hala söylüyorum, IMHO, Magic Numbers rastgele uygulanamayacak kadar önemli!
kesinlikle BB, vip verileri. Bir EA'nın birden çok örneğinin kullanabileceği benzersiz bir veriyi keşfetmeye çalışmak için çok fazla zaman harcadım. Bu veri, açılan tüm dosyaların kurtarma/yeniden başlatma sırasında eşlenebilecek şekilde tekrarlanabilir olması gerekiyordu. Benzersiz bir dosya adını 'bir şekilde' açmak ve yeniden başlatma sırasında sihirli bir şekilde yeniden açmak için grafik EA örnekleri başına herhangi bir sayıda aynı ccy+ olasılığına izin vermek istedim...
Pencere tanıtıcı verileri bu 'faktör X' olabilir mi?
kesinlikle BB, vip verileri. Bir EA'nın birden çok örneğinin kullanabileceği benzersiz bir veriyi keşfetmeye çalışmak için çok fazla zaman harcadım. Bu veri, açılan tüm dosyaların kurtarma/yeniden başlatma sırasında eşlenebilecek şekilde tekrarlanabilir olması gerekiyordu. Benzersiz bir dosya adını 'bir şekilde' açmak ve yeniden başlatma sırasında sihirli bir şekilde yeniden açmak için grafik EA örnekleri başına herhangi bir sayıda aynı ccy+ olasılığına izin vermek istedim...
MT4 veya kullanıcı her EA'ya bir kimlik atamadan bunun nasıl mümkün olduğunu anlayamıyorum. Veya daha doğrusu, benzersiz bir kimlik oluşturmak ve ardından EA'nın .chr dosyasını kimliği EA'nın harici parametrelerinin bir parçası olarak depolamak için değiştirmek gibi çok kötü bir şey içermeyen bir şey göremiyorum.
Ve genel eğlence için, aşağıdaki tartışmayı hiçbir şekilde ilerletmez, ancak djb2 karma girdisini benzersiz olması garanti edilen bir değerle değiştirir (DLL çağrıları gerektirme pahasına). GUID'ler gibi şeylerde djb2'nin ne kadar iyi olduğunu bilmiyorum, ancak herhangi bir çarpışma olmadan 1.000.000 kimlik oluşturmayı denedim. Ama yine de yeniden başlatma sorununu çözmüyor.
Pencere tanıtıcı verileri bu 'faktör X' olabilir mi?
Herhangi bir siparişi kısmen kapatmıyorsanız, kaynak çifti/zaman aralığı bilgisini saklamak için sipariş yorumunu kullanabilirsiniz..?
Böylece EA, yeniden başlatıldığında, önceden herhangi bir emri olup olmadığını ve bu nedenle hangi sihirli numarayı kullanması gerektiğini çözebilirdi?
not
Yorumları < 25'te tutun ve SOL(OrderComments(), 24) kontrol edin, aksi halde [sl] veya [tp] öğeleri işleri etkileyebilir
<tüm geçmiş> öğesinin Hesap Geçmişi sekmesinde kullanılabilir durumda bırakıldığını varsayar!
FWIW
-BB-