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
...
Sanırım (değerleri csv dosyasına yazan EA'nızı göremediğim için) bir FileFlush() eksik. Dosyayı kapatmadan hemen "diğerleri" tarafından erişilebilen dosyada değişiklik yapmak istediğiniz durumlarda (bu, dolaylı olarak floş kullanır ) değişiklikleri her zaman diske temizlemelisiniz
Saygılarımızla
mladen
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 yalnızca 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!!Birisi bir uyarı özelliği eklememe yardımcı olabilir mi?
Bu göstergeye bir alarm fonksiyonu eklemek istiyorum, renkli alarm. Uzun süre denedim, "eğer alarmı" kullandım, ama asla başarılı olmadım. Birisi bana yardım edebilir mi? Çok teşekkürler! ~ İngilizcem iyi değil çok üzgünüm.
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 4
#özellik göstergesi_color1 OrmanYeşil
#özellik göstergesi_renk2 Kırmızı
#özellik göstergesi_color3 Siyah
#özellik göstergesi_color4 Siyah
//---- giriş parametreleri
harici int FastClosePeriod=13;
harici int FastCloseShift=0;
harici int FastOpenPeriod=34;
harici int FastOpenShift=0;
harici int SlowClosePeriod=34;
extern int SlowCloseShift=0;
harici int SlowOpenPeriod=62;
extern int SlowOpenShift=0;
//---- gösterge tamponları
çift ExtBlueBuffer[];
çift ExtRedBuffer[];
çift ExtDarkVioletBuffer[];
çift ExtBlackBuffer[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
//---- çizim sırasında satır kayması
SetIndexShift(0,FastCloseShift);
SetIndexShift(1,FastOpenShift);
SetIndexShift(2,SlowCloseShift);
SetIndexShift(3,SlowOpenShift);
//---- çizim sırasında ilk pozisyonlar atlandı
SetIndexDrawBegin(0,FastCloseShift+FastClosePeriod);
SetIndexDrawBegin(1,FastOpenShift+FastOpenPeriod);
SetIndexDrawBegin(2,SlowCloseShift+SlowClosePeriod);
SetIndexDrawBegin(3,SlowOpenShift+SlowOpenPeriod);
//---- 3 gösterge arabelleği eşlemesi
SetIndexBuffer(0,ExtBlueBuffer);
SetIndexBuffer(1,ExtRedBuffer);
SetIndexBuffer(2,ExtDarkVioletBuffer);
SetIndexBuffer(3,ExtBlackBuffer);
//---- çizim ayarları
SetIndexStyle(0,DRAW_HISTOGRAM,0,2);
SetIndexStyle(1,DRAW_HISTOGRAM,0,2);
SetIndexStyle(2,DRAW_NONE,0,2);
SetIndexStyle(3,DRAW_NONE,0,2);
//---- dizin etiketleri
SetIndexLabel(0,"HızlıKapat");
SetIndexLabel(1,"HızlıAç");
SetIndexLabel(2,"YavaşKapat");
SetIndexLabel(3,"YavaşAç");
//---- başlatma tamamlandı
dönüş(0);
}
//+------------------------------------------- -------------------+
//| 9 Kare Tüccar |
//+------------------------------------------- -------------------+
int başlangıç()
{
int limiti;
int counted_bars=IndicatorCounted();
//---- olası hataları kontrol et
if(counted_bars<0) return(-1);
//---- son sayılan çubuk yeniden sayılacak
if(counted_bars>0) counted_bars--;
limit=Barlar-sayılan_barlar;
//---- Ana döngü
for(int i=0; i<limit; i++)
{
//---- ma_shift 0'a ayarlandı çünkü SetIndexShift abowe'u çağırdı
ExtBlueBuffer=iMA(NULL,0,FastClosePeriod,0,MODE_EMA,PRICE_CLOSE,i);
ExtRedBuffer=iMA(NULL,0,FastOpenPeriod,0,MODE_EMA,PRICE_OPEN,i);
ExtDarkVioletBuffer=iMA(NULL,0,SlowClosePeriod,0,MODE_EMA,PRICE_OPEN,i);
ExtBlackBuffer=iMA(NULL,0,SlowOpenPeriod,0,MODE_EMA,PRICE_MEDIAN,i);
}
//---- tamamlamak
dönüş(0);
Hadi bakalım. Bunu çok hızlı yaptım ve evet, yapılabilir.
Kodlama örneği için ekteki example.mq4'e bakın.
Ayrıca, yorumların yer aldığı bir ekran görüntüsü de dahil edilmiştir, böylece RSI değerlerinin dizide tıklanarak kaydedildiğini görebilirsiniz.merhaba wolfe,
Zamanlayıcınız ve çabalarınız için çok teşekkür ederim. bunu deneyeceğim
Saygılarımızla,
MSV
Bollinger Bandı
Merhaba,
Biri bana Bollinger Band formülünde (kapanışta 20 periyod dev 2) Excel elektronik tablosunda yardımcı olabilir mi? Şimdiden teşekkür ederim.
Merhaba millet !!
EA'mda sadece "günde bir alım satım" emri açmam gerekiyor, lütfen, bunu yapmak için kod nasıl?
Merhaba millet !! EA'mda sadece "günde bir alım satım" emri açmam gerekiyor, lütfen, bunu yapmak için kod nasıl?
Tüm kapalı emirler arasında dolaşmanız ve her birinin sembolü ve kapanma zamanı için kontrol etmeniz gerektiğine inanıyorum... Symbol() ile eşleşen ve en son kapanma zamanına sahip olanı alın. daha sonra 24 saat ekleyin ve mevcut zamanı test etmek ve son siparişe + 24 saat ulaştığında ticareti açmak için bunu bir değişkende kullanın
Veya bunu yapmanın daha basit bir yolu, TimeDayOfYear işlevini kullanmak ve eşleşen sembol ve sihirli sayı ile son kapatılan siparişi kontrol etmektir. Sadece bugün ile yılın aynı günü olmadığından emin olun.
TimeDayOfYear'ın tanımı ve kullanımı için yardım dosyasına bir göz atın
Saygılarımızla
Lüks