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
Bu, tüm gün GBPAUD H4 3.12.2018! Ve bu sefer bitirmek için atlamadım.
Yazdırma işlevi , yazdırılacak çok fazla şey olduğunda bazı raporları kaybedebilir mi?
Sanırım başka bir sorun, bu 3 enstrümanın kenelerinin farklı milisaniyelerde çıkması olabilir, bu nedenle GBPAUD'da start/OnTick işlevini kullandığımızda, GBPAUD kenesi çıktığında sadece başlatma işlevini yapar. Ve sanırım kodunuz, hiçbiri 0 olmadığında bu 3 çift fiyatların tümünü döndürmek için diyor olabilir. Eğer öyleyse, tüm enstrümanların tüm satış/teklif fiyatları aynı anda çıktığında geri döner.
Veriler iyi görünüyor...
Yazdırma işlevi konusunda haklısın... Testlerimde de birçok eksik satır görüyorum. Ancak her şeyi dosyaya yazdırdığımda hiçbir şey kaçırılmıyor.
İşte kodla ilgili bazı bilgiler: Her GBPAUD işaretinin zamanı, diğer çiftlerin en son işaretlerini almak için kullanılacaktır (aynı zamana kadar), bu nedenle her zaman bir şey döndürür, sıfır olmaz.
İşlevi daha düzenli olması gereken bir sınıfa koymaya karar verdim. Eke bakınız. EA'nızla birlikte uzman klasörünüze yerleştirin. Değiştirmekten çekinmeyin.
Aşağıdaki örnek, onu kullanmanın bir yolunu gösterir (vurgulanan satırlar önemlidir):
Yani gerçekten anahtar şu satırdır: ticksInfo.getTick(<SYMBOL String>,<MqlTick Struct>) . Yanlış döndürürse, hata mesajı için günlüğü kontrol etmeniz gerekir.
Veriler iyi görünüyor...
Yazdırma işlevi konusunda haklısın... Testlerimde de birçok eksik satır görüyorum. Ancak her şeyi dosyaya yazdırdığımda hiçbir şey kaçırılmıyor.
İşte kodla ilgili bazı bilgiler: Her GBPAUD işaretinin zamanı, diğer çiftlerin en son işaretlerini almak için kullanılacaktır (aynı zamana kadar), bu nedenle her zaman bir şey döndürür, sıfır olmaz.
İşlevi daha düzenli olması gereken bir sınıfa koymaya karar verdim. Eke bakınız. EA'nızla birlikte uzman klasörünüze yerleştirin. Değiştirmekten çekinmeyin.
Aşağıdaki örnek, onu kullanmanın bir yolunu gösterir (vurgulanan satırlar önemlidir):
Yani gerçekten anahtar şu satırdır: ticksInfo.getTick(<SYMBOL String>,<MqlTick Struct>) . Yanlış döndürürse, hata mesajı için günlüğü kontrol etmeniz gerekir.
Yardımın için teşekkürler,
Tüm bu satırları her uygun alana kopyaladım. Ancak kodu anlamadığım için, lütfen bana SecondPair'in Ask ve Bid'ini Ask2, Bid2'ye nasıl koyacağımı ve ThirdPair için aynı şeyi nasıl yapacağımı söyleyin.
İşte benim küresel alanım:
Ve bu kısım derlerken 2 hata veriyor. Onlarla ne yapmalıyım?:
'SecondPair' - sabit ifade gerekli MyEA!.mq4
'Üçüncü Çift' - sabit ifade gerekli MyEA!.mq4
Yardımın için teşekkürler,
Tüm bu satırları her uygun alana kopyaladım. Ancak kodu anlamadığım için, lütfen bana SecondPair'in Ask ve Bid'ini Ask2, Bid2'ye nasıl koyacağımı ve ThirdPair için aynı şeyi nasıl yapacağımı söyleyin.
İşte benim küresel alanım:
Ve bu kısım derlerken 2 hata veriyor. Onlarla ne yapmalıyım?:
'SecondPair' - sabit ifade gerekli MyEA!.mq4
'Üçüncü Çift' - sabit ifade gerekli MyEA!.mq4
Ardından otherPairs'inizi allPairs ile aynı şekilde bildirin. Ve OnInit'te şunu yapın:
Ve Ask2, Bid2, Ask3, Bid3'e değerler atamak için bunu OnTick'te yapın:
Ardından otherPairs'inizi allPairs ile aynı şekilde bildirin. Ve OnInit'te şunu yapın:
Ve Ask2, Bid2, Ask3, Bid3'e değerler atamak için bunu OnTick'te yapın:
Yine 00 veriyor :(
Küresel alanım:
OnInit:
OnDeinit:
OnTick:
Günlük:
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: GBPCAD Hatası
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: GBPUSD Hatası
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: GBPAUD onay numarası 221179, 2018.01.03 23:36:58 000 Satış = 1.72479 Teklif = 1.72459
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: === Şimdi 221179 onay işaretini işle
nerede yanılıyorum?
Sıfır seviye yeteneğim için üzgünüm :D
Yine 00 veriyor :(
Küresel alanım:
OnInit:
OnDeinit:
OnTick:
nerede yanılıyorum?
Sıfır seviye yeteneğim için üzgünüm :D
Sıfır seviye yeteneğim için üzgünüm :D
OnInit - 3 yeni satır her şeyden önce gitmeli.
Yaptım. Ama bu çok garip: Fazladan iki çift için zamanlayıcı çalışmıyor...
Yaptım. Ama bu çok garip: Fazladan iki çift için zamanlayıcı çalışmıyor...
MQL4 EA - MQL4 ve MetaTrader 4 - MQL4 programlama forumunda indirme geçmişi
düzeltildi
Bağlantılı işlev, söz konusu sembol/TF için gizli bir tablo açar (zaten açık değilse), böylece geçmişi günceller ve sembolü geçici olarak Piyasa İzleme'ye yerleştirir (zaten orada değilse), bu nedenle SymbolInfoDouble ( sembol , SYMBOL_BID ) veya MarketInfo ( symbol , MODE_BID ) ilk çağrıda da sıfır döndürmez.
MQL4 EA - MQL4 ve MetaTrader 4 - MQL4 programlama forumunda indirme geçmişi
düzeltildi
Bağlantılı işlev, söz konusu sembol/TF için gizli bir tablo açar (zaten açık değilse), böylece geçmişi günceller ve sembolü geçici olarak Piyasa İzleme'ye yerleştirir (zaten orada değilse), bu nedenle SymbolInfoDouble ( sembol , SYMBOL_BID ) veya MarketInfo ( symbol , MODE_BID ) ilk çağrıda da sıfır döndürmez.
Haklısın. Endişelenmeyin, çünkü burada OnInit'te yaptığımız tek şey, sembol adlarını depolamak için dizileri başlatmak ve kendi veri dosyalarımızı okumak için bazı dosya tanıtıcıları hazırlamaktır. MT4 strateji test cihazı, diğer sembollerin bu tür verileri üzerinde sorgulandığında her zaman sıfır döndürdüğünden, teklifler ve talep fiyatlarına (yani 'tik' verileri) gelince, bunlara yalnızca OnTick'te ve çoğunlukla kendi veri dosyalarımızdan erişiyoruz ( bu davranışın, insanların daha aşina olduğu OHLC verilerinin alınmasından farklı olduğuna dikkat edin).