Güzel. Teşekkürler. Ancak https://forum.mql4.com/270509 bulamıyorum - bir hata gösteriyor. Ayrıca, lütfen kodunuzu gönderir misiniz? Java ve mt4, kullanmak istediğim ancak kodu görmem gereken bir şey.
Bağlantıyı düzelttim: https://www.mql5.com/en/forum/121466
MQL ve Java kodunu ZIP dosyasında bulabilirsiniz.
bu mükemmel bir araçtır
nedense çalıştıramıyorum. Bana yardımcı olabilir misiniz.
EA'yı çalıştırdığımda mt4 çöküyor
Windows 7 64bit, Java 7.0.1, MT4 ver4.00 build 409 25 ekim 2011 kullanıyorum
Java buraya yüklenir C:\jre\bin\client\jvm.dll
mt4 buraya kurulur C:\MT4\
windows aşağıdaki hata mesajını veriyor
Sorun imzası:
Sorun Olay Adı: BEX
Uygulama Adı: terminal.exe
Uygulama sürümü: 4.0.0.409
Uygulama Zaman Damgası: 0028f000
Arıza Modülü Adı: MSVCR100.dll
Arıza Modülü Sürümü: 10.0.30319.1
Arıza Modülü Zaman Damgası: 4ba1dbbe
İstisna Ofseti: 0008ae6e
İstisna Kodu: c0000417
İstisna Verileri: 00000000
OS sürümü: 6.1.7601.2.1.0.256.1
Yerel Kimlik: 2057
Ek Bilgi 1: a0db
Ek Bilgi 2: a0db43c64a51ee21486e76f538ab825d
Ek Bilgi 3: 5a50
Ek Bilgi 4: 5a50e927a493324cabb3491f7239cdd1
Gizlilik bildirimimizi çevrimiçi olarak okuyun:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
Çevrimiçi gizlilik bildirimi mevcut değilse, lütfen çevrimdışı olarak gizlilik bildirimimizi okuyun:
C:\Windows\system32\tr-TR\erofflps.txt
MT4 terminalinizin çökmesinin iki olası nedeni vardır.
1. 64 bit JVM kullanıyorsunuz
MT4 32 bitlik bir uygulama olduğu için bu çalışmayacaktır. Win7-64bit'inize MT4 ile birlikte kullanılabilen bir 32bit JVM kurmalısınız.
JVM Sürüm kontrolü "64 Bit" göstermemelidir
C:\jre\bin\java -sürüm
Java(TM) SE Çalışma Zamanı Ortamı (1.6.0_30-b12 derlemesi)
Java HotSpot(TM) 64-Bit Sunucu VM (derleme 20.5-b03, karma mod)
Şimdiye kadar programımı sadece Java6 ile test ettim. Belki Java7'de çökmeyi tetikleyen bazı değişiklikler vardır.
Merhaba cyberflohr,
MT'de acemiyim ama Java ile biraz deneyimim var, bu yüzden köprü benim için çok ilginç bir araç. Bahsettiğiniz tüm kurulum adımlarını gerçekleştirdim ancak örneği başlatamadım. Uzmanlar günlüğünde takip ettim:
20:53:13 mt4jÖrnek EURUSD,H4: başarıyla yüklendi
20:53:13 mt4jÖrnek EURUSD,H4 girişleri: IntProperty=99; BoolProperty=true; DoubleProperty=1.23; StringProperty="merhabaDünya";
20:53:17 mt4jSample EURUSD,H4: 'mt4j.dll' kitaplığı yüklenemiyor ( hata 126 )
20:53:17 mt4jÖrnek EURUSD,H4: uzman durduruldu
20:53:17 mt4jÖrnek EURUSD,H4: başlatıldı
20:54:27 mt4jSample EURUSD,H4: başarıyla yüklendi
20:54:27 mt4jSample EURUSD,H4: 'mt4j.dll' kitaplığı yüklenemiyor (hata 126)
20:54:27 mt4jÖrnek EURUSD,H4: uzman durduruldu
20:54:27 mt4jÖrnek EURUSD,H4: başlatılmamış
20:54:27 mt4jÖrnek EURUSD,H4: uninit neden 1
20:54:27 mt4jÖrnek EURUSD,H4: kaldırıldı
Sorunun nedeni ne olabilir?
Merhaba cyberflohr,
20:53:17 mt4jSample EURUSD,H4: 'mt4j.dll' kitaplığı yüklenemiyor (hata 126)
Sorunun nedeni ne olabilir?
Merhaba
Anladığım kadarıyla 126 hatası , MT4'ün dll dosyasını bulamadığı anlamına geliyor. Onu doğru adıyla çağırdığınızı varsayarsak, öncelikle /experts/libraries/ klasöründe olması gerekir. Başka bir yere gidebilir ama bu senin en iyi yerin.
Bu yardımcı olur umarım.
Şerefe
Brooky
Merhaba Cyberflohr,
mt4jv0.2'yi yükleme talimatınızı takip ettim ve MT4 platformunda herhangi bir hata bildirilmedi. Ancak SampleEA.java'dan, MT4BasicClient.java'daki açıklamaya göre EA başlatıldığında çalıştırılıyor gibi görünen bir yöntem olduğunu buldum.
SampleEA.java'daki kod:
@Geçersiz kıl
public void init() {
System.out.println("init()");
}
MT4BasicClient.java'daki açıklama:
/**
* Başlatma aşamasında MT4 istemcisi tarafından çağrılır.
*/
Bu kodlardan, başlatma sırasında yazdırılacak bir şey olacağını düşünüyorum. ancak U, "init()" mesajının MT4 platformunda yazdırıldığını görmedi. Kodu doğru anlamış mıyım?
Ayrıca, sipariş vermek için başka bir demo verebilir misiniz?
çok teşekkür ederim, kodunuzu gerçekten takdir ediyorum. :D
Merhaba
Anladığım kadarıyla 126 hatası, MT4'ün dll dosyasını bulamadığı anlamına geliyor. Onu doğru adıyla çağırdığınızı varsayarsak, öncelikle /experts/libraries/ klasöründe olması gerekir. Başka bir yere gidebilir ama bu senin en iyi yerin.
Bu yardımcı olur umarım.
Şerefe
Brooky
doğru - mt4j.dll kütüphaneler klasöründe değil.
yani: metatrader kurulum klasörünüz c:\program files\metatrader ise, mt4j köprüsü için dosyalar aşağıdaki konumlarda olmalıdır.
c:\program dosyaları\metatrader\experts\mt4jSample.ex4
c:\program dosyaları\metatrader\experts\mt4jSample.mq4
c:\program files\metatrader\experts\libraries\mt4j.dll
c:\program files\metatrader\experts\libraries\mt4j. özellikleri
c:\program files\metatrader\experts\libraries\mt4jSample.jar
Not: hata hakkında daha fazla bilgi için köprü günlük dosyasını kontrol edin
c:\program dosyaları\metatrader\experts\files\mt4j.log
Merhaba Cyberflohr,
mt4jv0.2'yi yükleme talimatınızı takip ettim ve MT4 platformunda herhangi bir hata bildirilmedi. Ancak SampleEA.java'dan, MT4BasicClient.java'daki açıklamaya göre EA başlatıldığında çalıştırılıyor gibi görünen bir yöntem olduğunu buldum.
SampleEA.java'daki kod:
@Geçersiz kıl
public void init() {
System.out.println("init()");
}
MT4BasicClient.java'daki açıklama:
/**
* Başlatma aşamasında MT4 istemcisi tarafından çağrılır.
*/
Bu kodlardan, başlatma sırasında yazdırılacak bir şey olacağını düşünüyorum. ancak U, "init()" mesajının MT4 platformunda yazdırıldığını görmedi. Kodu doğru anlamış mıyım?
Ayrıca, sipariş vermek için başka bir demo verebilir misiniz?
çok teşekkür ederim, kodunuzu gerçekten takdir ediyorum. :D
Önümüzdeki birkaç gün içinde bazı işlemler yapan daha karmaşık bir örnek hazırlayacağım.
Saygılarımızla,
Siberflohr
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Ben bir JAVA programcısıyım ve bir yıldan beri MT4 kullanıyorum. MQL çok basit ve öğrenmesi kolay olsa da, bazı şeyleri bu dilde kodlamak gerçekten acı verici. Birkaç hafta önce Java ile yazılmış mantık kodundan metatrader EA'ma basit bir entegrasyon hakkında bir düşünce. Bir çözüm için internette ve bu forumda arama yaptım ve bazı ilginç Araçlar buldum (MT4-Java API https://forum.mql4.com/27050, Java Class to DLL dönüştürücü, ...) AMA hepsinin artıları ve eksileri var ve böylece kendi MT4-Java entegrasyonumu yazmaya karar verdim.
Çözümüm için aşağıdaki dört ZORUNLU gereksinim vardı:
1. Basit Kurulum2. JAVA kodu için hata ayıklama yetenekleri
3. Hız
4. MT-Terminal ile başka bir süreç arasında ağ iletişimi yok
Benim için önemli olmayan bir şey, Java kodumdan MT4 işlevlerini (gösterge, ticaret işlevleri) çağırma ihtiyacıydı. Teknik analiz için www.ta-lib.org adresindeki açık kaynak kitaplığı kullanıyorum ve sipariş işleme hala MQL kodunda yapılıyor. Javacode, SATIN ALMA veya SATMA zamanı geldiğinde MQL kodunu bilgilendirir.
Tek ihtiyacınız olan MetaTrader, kurulu bir JVM (1.6) ve MQL kodunu ve JVM kapsayıcı için DLL dosyasını içeren ekteki ZIP dosyasıdır.Dosyaları ZIP'den MT kurulum dizininize kopyalayın (dizin yapısını koruyun) ve mt4j.properties dosyasını düzenleyin ve jvm.dll dosyanızın yolunu ayarlayın. Bunların hepsi mt4Sample EA'yı çalıştırmak içindir.
Örnek uygulama hiçbir şey yapmaz. Size neyin mümkün olduğunu göstermek için sadece bir iskelet. MT4BasicClient.java ve SampleEA.java dosyalarının içindeki yorumları okuyun. mt4jSample.jar içinde bulabileceğiniz JAVA kaynakları. Kendi sınıfınız MT4BasicClient arabirimini uygulamalı veya AbstractBasicClient sınıfını genişletmelidir . Kendi sınıflarınızla birlikte dizini veya JAR dosyasını sınıf yoluna eklemeyi unutmayın (bkz. mt4j.properties).
Java Sınıflarınız, Terminal Süreci içinde çalışan bir JVM tarafından yüklenir ve yürütülür. Bu size en uygun performansı verecektir. Bazı performans testleri yaptım ve bir MT arka testi sırasında processTick()'in ne sıklıkta yürütüldüğünü saydım. Saniyedeki ortalama arama sayısı 400.000 arama/saniye idi, bu da ihtiyaçlarım için yeterince hızlı olduğunu düşünüyorum.
JVM, favori IDE'nizi kullanabilmeniz ve bileşenlerinizde hata ayıklayabilmeniz için 8001'de bir hata ayıklama bağlantı noktası oluşturacak şekilde yapılandırıldı.Küçük MT4-Java köprümü denemek için tüm kaynaklar bu gönderiye eklenmiştir.
İyi eğlenceler :-)Siberflohr