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
Dosya değiştirme
Strateji Test Cihazında harici sinyalleri kullanan bir EA'yı test etmek istiyorum ve iş parçacığı, yerel dosya işlemenin strateji test cihazında çalışmadığını belirtiyor. Bu yüzden bu başlıkta verilen dll'yi kullanmaya çalıştım. İşlemek istediğim girdi şuna benzeyen bir dosyada:
2007-01-02;EURUSD;2.InstPipDown;;Evet
2007-01-02;USDJPY;1.InstPipUp;;Evet
2007-01-02;USDCHF;1.InstPipUp;;Evet
2007-01-03;EURUSD;2.InstPipDown;;Evet
2007-01-03;EURUSD;4.PipMax1Down;;Evet
2007-01-03;GBPUSD;4.PipMax1Down;;Evet
2007-01-04;USDJPY;8.PipRevBear;;Evet
2007-01-05;EURUSD;5.PipMax2Up;;Evet
2007-01-05;USDJPY;1.InstPipUp;;Evet
Diğer sınırlayıcı türlerini kullanabilmek için dosyayı kendim oluşturuyorum.
O sırada bir "kayıt" almak için dll'yi nasıl kullanırım? Ayrı ayrı alanlar için ayrıştırma yapabilirim.
EOF'a ulaştığımı nasıl anlarım?
Birkaç varyasyon denedim ama tutarsız sonuçlar ve bazen çöp alıyorum. Örnekteki gibi veri yazmak işe yarıyor ama ben veri okumak istiyorum.
Peki, sebat kuralları!
Birkaç saat sonra şunu öğrendim:
Dosya işleyici, başka bir programla oluşturduğum bir dosyayı açmayı reddediyor. Açık dönüşler -1. Demo tarafından oluşturulan dosyayı (mt4.log) kullanır ve içeriğimi içine kopyalarsam açık çalışır. Neden olduğunu anlayamıyorum. Yabancı
"Kayıtlarımı" sabit uzunlukta yaptım ve her kaydın sonunda "CRLF"ye uyum sağlamak için "kayıt" artı 2'nin uzunluğunu okudum. Dosyanın uzunluğunu kayıt uzunluğuna böldüm ve tüm kayıtlarımı bir diziye almak için döngü yaptım:
İşte kod:
int init()
{
dizi inArr[500];
int dosyası;
int dosya boyutu;
int kayıtları;
int i;
dosya = gFileOpen("c:\mt4.log",READ);
// Yazdır(dosya);
dosya boyutu = gFileSize(dosya);
// Yazdır(dosya boyutu);
kayıtlar = dosya boyutu/25;
// Yazdır(kayıtlar);
for(i=1;i<=kayıtlar;i++)
{
inArr = gFileRead(dosya,25);
}
gFileClose(dosya);
Print(inArr[filesize-1]); //sonuncuyu kontrol et
dönüş(0);
}
dosya çıktılı gösterge
merhaba tüccarlar ve programcılar.
yeni bir gösterge için bir codeegemnt ile ilgili yardıma ihtiyacım var.
gösterge ilgili bilgileri içeren bir dosya yazabilmelidir, ancak yalnızca yeni bir mum açtıktan sonra yazmalıdır. her tik değil.
Bu nasıl yapılabilir? Yapmaya çalıştığım şey, bir PNN eğitmek için her yeni muma son 1000 çubuğun OHCL'sini yazmak. bu, RAPID-I ile dışarıda yapılmalıdır.
ve diğer bazı bilgilerle birlikte bir mumun kapanma olasılığının ne olabileceğini öğrenmek.
lütfen yardım et. harika bir proje olurdu, ama çok basit şeyler yapmak için aptalım (veya tembelim) :-)
PriNova
tarihsaat zamanöncesi=0; init()'ten önce
ve
if(timeprev==Zaman[0])
dönüş(0);
timeprev=Zaman[0]; startın hemen altında ()
ve bu kadar.
güzel bu çok hızlı cevap oldu.
teşekkür ederim elitcamper
Taşıma işlevi neden kitaplıktan kaldırıldı?
kodlayıcılarGuru,
Benim için ne kadar değerli olduğunu sana anlatamam, Müşterilerimden aldığım övgülerin çoğunu hak ediyorsun, çünkü sen olmasaydın onlara destek olmak için işimi yapamazdım.
Eğitiminizde belirtildiği gibi Taşı işlevinin uygulanmamasının bir nedeni var mı?
Çok Teşekkürler Tekrar dört hizmetiniz
John McGlaughlin
gDosyaOkuma
Merhaba,
mtguru1.dll'nin kaynak koduna baktığımda gFileRead() işlevinin çalışmaması gerektiğini buldum. Yanlış mıyım ?
gFileRead(), dosyadan okunan dizeyi saklamak için yerel bir değişken kullanır. İşlev döndüğünde, o değişkene bir işaretçi döndürür, ancak yerel değişken pbuffer kapsam dışına çıktığı için bu işaretçi geçerli olabilir.
Bu nedenle, bir MQL4 EA'dan şuna benzer bir talimat çökmelidir:
string arabelleği = gFileRead( tanıtıcı, 50 );
ve işe yarıyorsa bu garip...
Not: Bunu daha önce yanlış başlığa yazdım. https://www.mql5.com/en/forum/172885 .
Hata Düzeltmesi:
.... ancak bu işaretçi geçerli bir işaretçi olabilir ....
ancak bu işaretçi geçerli bir işaretçi OLAMAZ
Bir exe dosyası yürütün
Merhaba,
Basit bir şey yapmak istiyorum (böyle düşündüm). Bir EA'dan harici bir program açmak (başlatmak) istiyorum. (EA'da değil)
Yani sadece örnek amaçlı. EA'da belirli bir şey olduğunda Microsoft word'ü açmak istedim diyelim.
Bunu daha önce yaptım ama betiği bulamıyorum, internette arama yapmak için 2 saat harcadım. Bir dahaki sefere kodu güvenli bir yere kaydedeceğim!
bazı sorular?
"2008.10.21 01:54:34 Temel Trader DailyFX_MQL4 v0.02: tutamaç 2, FileClose'da mevcut değil" hatasını aldım.
Nasıl yapabilirim ?