MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 618
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
Kendiniz hakkında hiçbir fikriniz yokken başkalarına öğretmemeniz gerektiğini hemen söyledim.
Yardım bir "fenerden" değil "nitelikli" olmalıdır!
Görevi tekrar tanımlayın, tam olarak neyin gerekli olduğunu.
Görevi yeniden tanımlayın, tam olarak neyin gerekli olduğunu.
Farklı modüller arasında MT4/MT5'te veri aktarımı olasılığıyla ilgileniyorum.
Örneğin:
Bir göstergeden diğerine veri nasıl aktarılır?
Bir göstergeden bir komut dosyasına veri nasıl aktarılır?
Bir göstergeden bir Uzman Danışmana nasıl veri aktarılır? … vb.
Aktarmanın oldukça açık ve yaygın bir yolu, aktarılan verileri ayrı bir dosyaya yazmak ve ardından bu verileri diğer modüllerdeki dosyadan okumaktır.
Ancak bu durumda, iletilen/okunan verilerin senkronizasyonunda bir sorun vardır.
Sezgisel olarak, MT4/MT5 terminalinin bazı ortak bellek arabellek bölgesine sahip olması gerektiğini ve bu bölge üzerinden veri alışverişini düzenleyen prosedürler olması gerektiğini varsayıyorum.
Ama açıklamada hiçbir şey bulamadım.
MT4/MT5'te farklı modüller arasında veri aktarımı olasılığıyla ilgileniyorum.
Örneğin:
Bir göstergeden diğerine veri nasıl aktarılır?
Bir göstergeden bir komut dosyasına veri nasıl aktarılır?
Bir göstergeden bir Uzman Danışmana nasıl veri aktarılır? … vb.
Aktarmanın oldukça açık ve yaygın bir yolu, aktarılan verileri ayrı bir dosyaya yazmak ve ardından bu verileri diğer modüllerdeki dosyadan okumaktır.
Ancak bu durumda, iletilen/okunan verilerin senkronizasyonunda bir sorun vardır.
Sezgisel olarak, MT4/MT5 terminalinin bazı ortak bellek arabellek bölgesine sahip olması gerektiğini ve bu bölge üzerinden veri alışverişini düzenleyen prosedürler olması gerektiğini varsayıyorum.
Ama açıklamada hiçbir şey bulamadım.
Pekala, veri aktarımı, daha önce de belirtildiği gibi, bir dosya veya bir uçbirim global değişkeni aracılığıyla olabilir.
Ana trans.therm ise:
Bu, tek bir terminaldeki tüm programlar arasında alışveriş yapmanın en kolay yoludur
Eh, daha önce yazıldığı gibi veri aktarımı, belki bir dosya veya bir terminal global değişkeni aracılığıyla
Ana trans.therm ise:
Bu, tek bir terminaldeki tüm programlar arasında alışveriş yapmanın en kolay yoludur
İyi. İfadeyi göstergeye yazıyoruz:
GlobalVariableSet ( "Ad" , 123.25 ); Bu olay, örneğin OnTick() olduğunda meydana gelir.
Ancak komut dosyaları veri dizileriyle çalışmaz ve bir OnTick() olayı yoktur. Komut dosyası, OnTick() olayının gerçekleştiğini ve yeni veri alma prosedürünün uygulanması gerektiğini nasıl biliyor?
GlobalVariableGet ( "Ad" );
OnTick() yerine OnTimer() olayını kullanabilirsiniz. Ancak betiğin kendi OnTimer()'ı vardır ve göstergenin de kendi vardır ve bunlar hiçbir şekilde birbirleriyle ilişkili değildir.
Bir sorun var:
GlobalVariableSet ( "Sname" , 123.25 ); ve GlobalVariableGet ( "Ad" );?
Yoksa "Sname" değerindeki değişikliği izleyen bir prosedür var mı? OnChange türü.
Yani script, göstergenin "Sname" değerini değiştirdiğini ve bu değerin 125.35 olduğunu nereden biliyor?
GlobalVariableSet ( "Sname" , 123.25 ); ve GlobalVariableGet ( "Ad" ); ?
Farklı programlardalar.
İyi. İfadeyi göstergeye yazıyoruz:
GlobalVariableSet ( "Ad" , 123.25 ); Bu olay, örneğin OnTick() olduğunda meydana gelir.
Ancak komut dosyaları veri dizileriyle çalışmaz ve bir OnTick() olayı yoktur. Komut dosyası, OnTick() olayının gerçekleştiğini ve yeni veri alma prosedürünün uygulanması gerektiğini nasıl biliyor?
GlobalVariableGet ( "Ad" );
OnTick() yerine OnTimer() olayını kullanabilirsiniz. Ancak betiğin kendi OnTimer()'ı vardır ve göstergenin de kendi vardır ve bunlar hiçbir şekilde birbirleriyle ilişkili değildir.
Bir sorun var:
GlobalVariableSet ( "Sname" , 123.25 ); ve GlobalVariableGet ( "Ad" );?
Yoksa "Sname" değerindeki değişikliği izleyen bir prosedür var mı? OnChange türü.
Yani script, göstergenin "Sname" değerini değiştirdiğini ve bu değerin 125.35 olduğunu nereden biliyor?
GlobalVariableSet ( "Sname" , 123.25 ); ve GlobalVariableGet ( "Ad" ); ?
Farklı programlardalar.
Bağlantı bağlantısı bilgisayarın sabit diskidir. Bunu yazmanız sorun olmaz diye düşünüyorum ama scriptte bile her olayda alabilirsiniz, bunun şu anki ASK ve BID değerlerini nasıl aldığınızdan bir farkı yok.
PS Örnek olarak bir gösterge ve bir komut dosyası ekliyorum, göstergeye kene hacimleri yazıyoruz
Gösterge
Senaryo
Bağlantı bağlantısı bilgisayarın sabit diskidir. Bunu yazmanız sorun olmaz diye düşünüyorum ama scriptte bile her olayda alabilirsiniz, bunun şu anki ASK ve BID değerlerini nasıl aldığınızdan bir farkı yok.
Güzel!
Ve nasıl yapılır?
Örnek vermek.
Örneğin, böyle bir durum nasıl modellenir.
Gösterge verileri alır, bu verilerin varyansını hesaplar ve komut dosyası için elips noktalarının koordinatlarını hazırlar (komut dosyasına geçirilecek 4 global değişken Q1,Q2,T1,T2).
Şimdi gösterge, komut dosyasına bu global değişkenlere dayalı bir elips oluşturacak bir komut vermelidir.
Bir gösterge bunu nasıl yapabilir?
Bağlantı bağlantısı bilgisayarın sabit diskidir. Bunu yazmanız sorun olmaz diye düşünüyorum ama scriptte bile her olayda alabilirsiniz, güncel ASK ve BID değerlerini nasıl aldığınızdan bir farkı yok.
PS Örnek olarak bir gösterge ve bir komut dosyası ekliyorum, göstergeye kene hacimleri yazıyoruz
Gösterge
Senaryo
Yani sizin için, örneğinizde, komut dosyası yalnızca bir kez çalışır - başlangıçta, yani OnStart () olayı gerçekleştiğinde.
Ve sonra nasıl?
Senkronizasyon nerede?
Komut dosyasının göstergeyle eşzamanlı çalışması nasıl yapılır?
Örneğin, hacimler belirli bir değeri aştığında komut dosyası nasıl etkinleştirilir?
Yani sizin için, örneğinizde, komut dosyası yalnızca bir kez çalışır - başlangıçta, yani OnStart () olayı gerçekleştiğinde.
Ve sonra nasıl?
Senkronizasyon nerede?
Komut dosyasının göstergeyle eşzamanlı çalışması nasıl yapılır?
Örneğin, hacimler belirli bir değeri aştığında komut dosyası nasıl etkinleştirilir?
Senaryoyla nasıl çalışacağınız size kalmış. Belki bir komut dosyası yerine bir Uzman Danışman oluşturmanız daha kolaydır?
Değer veren bir gösterge:
Döngülenmiş bir komut dosyasının basit bir örneği:
PS Kodu düzeltti.
Senaryoyla nasıl çalışacağınız size kalmış. Belki bir komut dosyası yerine bir Uzman Danışman oluşturmanız daha kolaydır?
Değer veren bir gösterge:
Döngülenmiş bir komut dosyasının basit bir örneği:
MQL'de farklı modüllerin senkronize edilmesinin mümkün olmadığını anlıyorum.
TAMAM. Sonra böyle bir soru. Ve düğmeyi sahaya koyarsanız ve komut dosyasını bu düğmeye eklerseniz.
MQL'de böyle bir olasılık var mı? Yoksa böyle bir olasılık yok mu?
Sonuçta bir şekilde senaryo başlatılmalı!!!
MQL'de farklı modüllerin senkronize edilmesinin mümkün olmadığını anlıyorum.
TAMAM. Sonra böyle bir soru. Ve düğmeyi sahaya koyarsanız ve komut dosyasını bu düğmeye eklerseniz.
MQL'de böyle bir olasılık var mı? Yoksa böyle bir olasılık yok mu?
Sonuçta bir şekilde senaryo başlatılmalı!!!
Konu eski , ancak yine de okuyun veya belki biri size yeni bir şey söyleyecektir. Senaryoları çalıştırmıyorum ve onlarla hiç çalışmıyorum)