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
Teşekkürler Roger09
Orijinal olarak ForExTyro tarafından gönderildi
Günde yaptığı işlem sayısını yalnızca iki (2) ile sınırlayacak bir EA'ya kod eklemeye çalışıyorum. Günde sadece BİR uzun ticaret ve BİR kısa ticaret. Şimdiye kadar sahip olduğum kod bu, ancak geriye dönük testte çalışmıyor.
Bana yardımcı olabilir misiniz!?
Yer değiştirmek
tarihsaat UzunTicaret=0;
tarihsaat ShortTrade=0;
ile
statik tarihsaat LongTrade=0;
statik tarihsaat ShortTrade=0;Bu kadar?
İşte bu!
Teşekkürler Roger09
Merhaba,
Bu, derlenmiş EA & Ind'in nasıl göründüğüne güzel bir örnek.
b.
Buyrun! Zevk almak!
Merhaba Kalenzo,
Tekrar yardımınıza ihtiyacım var, benim için bir kod daha yazar mısınız?
Daha önce yaptığınız gibi bilgi, LSMA Bar bilgisini koymak istiyorum.
LSMA Woodie Bar Yeşil olduğunda, Word LONG (yeşil renk) gösterilir,
ve Woodie Bar Red olduğunda, Word Short'u (kırmızı renk) gösterir.
ekteki resme bakın..
http://i98.photobucket.com/albums/l277/compobey/CCIinfo.jpg
Saygılarımızla,
rekabet etmek
Yardım talebi
Selam millet
Ayda yaklaşık +100 pip yapan çok basit bir sistem kullanıyorum.
EA'ya koymak isterdim ama kodlamada çok yeniyim ve kendimi çok kaybolmuş hissediyorum . Belki siz çocuklar/bayanlar bu EA'yı yaratmama yardım edebilir ve hepimiz kullanabilir miyiz?
Lütfen ilgileniyorsanız bana bildirin ve EA'nın yapması gerekenlerin ayrıntılarını yayınlayacağım.
Teşekkür ederim
kalenzo
Buyrun! Zevk almak!
Tekrar merhaba Kalenzo,
Benim için düzelttiğin indi'yi gözlemliyorum.
Genellikle iyi çalışır, ancak bazen hatta yanlış renk koyulur.
Resimde gördüğünüz gibi Domates veya Kırmızı olması gereken yerler var ama onun yerine DodgerBlue çıkıyor.
Kurallar şunlardı;
Değer (çubuk kapanışında) > çubuğun önceki kapanışından (yukarı doğru) =
Değer < 0 olduğunda DodgerBlue
Değer > 0 olduğunda mavi
Değer (barın kapanışında < barın önceki kapanışından (aşağı iniyor) =
Değer > 0 olduğunda domates
Değer < 0 olduğunda kırmızı
Hataların oluştuğu yerleri kırmızı oklarla işaretledim.
Lütfen koda bir bakabilir misiniz?
Elimden geldiğince açıklamaya çalıştım ama daha fazla bilgiye ihtiyacın olursa bana haber ver.
Teşekkürler.
Tekrar merhaba Kalenzo,
Benim için düzelttiğin indi'yi gözlemliyorum.
Genellikle iyi çalışır, ancak bazen hatta yanlış renk koyulur.
Resimde gördüğünüz gibi Domates veya Kırmızı olması gereken yerler var ama onun yerine DodgerBlue çıkıyor.
Kurallar şunlardı;
Değer (çubuk kapanışında) > çubuğun önceki kapanışından (yukarı doğru) =
Değer < 0 olduğunda DodgerBlue
Değer > 0 olduğunda mavi
Değer (barın kapanışında < barın önceki kapanışından (aşağı iniyor) =
Değer > 0 olduğunda domates
Değer < 0 olduğunda kırmızı
Hataların oluştuğu yerleri kırmızı oklarla işaretledim.
Lütfen koda bir bakabilir misiniz?
Elimden geldiğince açıklamaya çalıştım ama daha fazla bilgiye ihtiyacın olursa bana haber ver.
Teşekkürler.Üzgünüm, dosyayı unutmuşum.
satır etiketine nasıl gidilir?
Metatrader 4'te bir satır etiketine nasıl giderim
gibi bir şey
if(a > b) Fred'e gitti
if(c > d) jim'e git
:fred
burada biraz daha kod yap
: jim
burada biraz kod yap
Bir cevabım var ama biraz daha açıklamaya ihtiyacım var
Bunun yerine işlevlere bazı kodlar yazabilirsiniz. Bunun gibi bir şey:
if(a > b) ReturnValue = fred();
if(c > d) ReturnValue = jim();
int fred()
{
burada biraz daha kod yap
}
int jim()
{
burada biraz kod yap
}
ReturnValue nedir? bir işlev değil, aslında nasıl yazarım
Gönderdiğiniz örnekte 'ReturnValue' sadece bir değişkendir. Adı herhangi bir şey olabilirdi ama size bu kodu kim verdiyse 'ReturnValue' kullanmış.
Dürüst olmak gerekirse, iki işlevden döndürülen değerle gerçekten bir şeyler yapmak niyetinde değilseniz, bu biçimin pek bir anlamı yoktur. VB'de olduğu gibi goto kavramını kullanamazsınız (ya da Temel miydi - hatırlayamıyorum!).
Sadece bir şey gibi...
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
O zaman, program goto kullanarak atladığında ne yapmayı amaçladıysanız, bunun yerine iki ilgili işlevde yapardınız.
Umarım bu bir anlam ifade eder.
Saygılarımızla
Lüks
Gönderdiğiniz örnekte 'ReturnValue' sadece bir değişkendir. Adı herhangi bir şey olabilirdi ama size bu kodu kim verdiyse 'ReturnValue' kullanmış.
Dürüst olmak gerekirse, iki işlevden döndürülen değerle gerçekten bir şeyler yapmak niyetinde değilseniz, bu biçim pek bir anlam ifade etmez. VB'de olduğu gibi goto kavramını kullanamazsınız (ya da Temel miydi - hatırlayamıyorum!).
Sadece bir şey gibi...
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
O zaman, program goto kullanarak atladığında ne yapmayı amaçladıysanız, bunun yerine iki ilgili işlevde yapardınız.
Umarım bu bir anlam ifade eder.
Saygılarımızla
LüksCevabınız için teşekkürler, yapmaya çalıştığım şey, EA'nın iki koşul arasında seçim yapmasını sağlamak, ancak hangisi önce değişirse onu seçmek.
Yani senin örneğinde
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
eğer bunu yaparsan veya bunu yaparsan daha fazlasına ihtiyaç duyar, çünkü diğer koşul a & b'den önce c & d'nin değişmiş olmasıdır, eğer öyleyse bunu yapın ve a & b'yi yok sayın. Bu yüzden bir çizgiye gitmeye çalışıyordum çünkü if o zaman başka bir seçim yapmasını sağlayamıyorum.
çünkü gerçekte ben varım
if(a>b && c>d) // buradan satın al
başka
if(a>b && c<d) // burada yakın bir satın alma yapın
başka
ters satış yapmak veya yakın bir satış yapmak
ancak a & b'den önce c & d değiştiyse, yukarıdaki kodu yok sayın ve yukarıdaki testleri bunun yerine c & d üzerinde yapın
Üzgünüm, çamur kadar açık
CSV Dosyalarıyla Çalışma -- Deliriyorum
Merhaba,
CSV-Files ile çalışan bir EA yazıyorum.
Test için CSV Dosyalarımı aşağıdaki klasöre koydum:
/test kullanıcısı/dosyalar
İşte EA'mdan sadece küçük bir kısım:
int handle = 0;
int Long = 0;
handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';');
if (handle > 0)
{
Long= FileReadNumber(handle);
FileClose(handle);
}
Print("LongMarket = ", Long);
Print("Long handle = ", handle);EA'mda CSV Dosyalarını okudum ve sonra bazı tam sayıları yazıyorum.
Şimdi testimi yaptığımda ve dergide "Yazdır" mesajlarını okuduğumda, genellikle artık CSV Dosyalarında yazılmayan eski tamsayılar alıyorum!
Örneğin:
İlk önce 3 yazıyor ve EA'm çalışıyor ve 0'ı dosyaya yazıyor,
Bu CSV Dosyasında sadece 3'ü görebiliyorum!!
Bu CSV Dosyasını temizlediğimde ve o " /tester/files"-Klasörüne 3'lü yeni bir CSV Dosyası koyduğumda, daha önce testten yalnızca 0'ı okuyabilirim!!!! Ama EA'nın 0'ı nerede okuduğunu bulamıyorum!!!
Çıldıracağım!!!!!
Umarım sorumu anlayabilir ve bana bir ipucu verebilirsiniz!!