MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 352
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 ama o
kurtarmaya özel
teşekkürler, ancak her çağrıldığında, gösterge kodunu tamamen yürütür ve EA'da (ve öyle) çok sayıda gösterge parametresine ihtiyacım olursa (ve öyle), o zaman bir gösterge hesaplaması yerine, birkaç tane alırız, bu da önemli ölçüde yavaşlayabilir süreç, mevcut onay işaretini atlamaya kadar, önceden tanımlanmış değişkenleri unuttum .....
int oranları_toplam=barlar;
global bir değişken tanımladı
int prev_hesaplanmış=0;
dizi öğelerinin sayısında kilitleniyor
üzgünüm, anladım, ancak önceden tanımlanmış değişkenlerin değerlerini küresel ve aynı zamanda mevcutsa neden iletmek için hesaplamada açık değil
İşte bir örnek
İşlev parametreleri, kendisine ilettiğimiz girdi ve bize geri döndürdüğü çıktı olabilir.
Gösterge çizgisinin tamamını hesaplamak için bu değişkenlere ihtiyaç vardır ve bir değere ihtiyacınız vardır. Her şey çok daha kolay. Gösterge programını analiz edin ve hesaplamak için hangi formülün kullanıldığını belirleyin. Ve bu formülü bir Uzman Danışmanda kullanın
Çocuklar bana böyle bir algoritmanın nasıl uygulanacağını söyle:
Hacim ile bir zaman serisi var
Son çubuğun Hacmi[1] önceki çubukların her birinden daha büyük olacak ve önceki çubukların penceresi (sayısı) harici bir değişken (extern int) tarafından ayarlanacak şekilde bir karşılaştırma yapmak gerekir.
Zor değilse bir kod örneği yazın
Çocuklar bana böyle bir algoritmanın nasıl uygulanacağını söyle:
Hacim ile bir zaman serisi var
Son çubuğun Hacmi[1] önceki çubukların her birinden daha büyük olacak ve önceki çubukların penceresi (sayısı) harici bir değişken (extern int) tarafından ayarlanacak şekilde bir karşılaştırma yapmak gerekir.
Zor değilse bir kod örneği yazın
Yardımcı oldu mu? Daha önce nasıl çalışıyordu?
Hatasız çalıştı, ctrl + h ile otomatik düzeltme yaparak kendim kaldırmış gibiyim ve > _ < fark etmedim. Ama genel olarak, kesinlikle bu İlluminati denenmiştir. Tekrar teşekkürler !
Çocuklar bana böyle bir algoritmanın nasıl uygulanacağını söyle:
Hacim ile bir zaman serisi var
Son çubuğun Hacmi[1] önceki çubukların her birinden daha büyük olacak ve önceki çubukların penceresi (sayısı) harici bir değişken (extern int) tarafından ayarlanacak şekilde bir karşılaştırma yapmak gerekir.
Zor değilse bir kod örneği yazın
Zor değil. Dizimde hafızadan yazdım (belki bir şeyi kaçırdım) ...
Merhaba. Dosya paylaşılamıyor. Görev - M1'deki MT4 test cihazında (MQL4) manuel test sırasında, daha eski bir dönemin (örneğin, M20) bir dosyasının oluşturulması gerekir. Bunun için PeriodConverter betiğine dayalı bir gösterge yazılmıştır. Çünkü test modunda, dosyayı (EURUSD20.csv) hemen Geçmiş klasörüne kaydedemezsiniz, dosya tüm terminaller için ortak klasöre kaydedilir - \\MetaQuotes\Terminal\Common. Ayrıca, zaten normal bir M1 grafiği üzerinde çalışan döngülü komut dosyası, verileri EURUSD20.csv dosyasından Geçmiş klasöründe bulunan EURUSD20.hst dosyasına kopyalar. Scriptte aynı anda test cihazındaki göstergede açılırsa EURUSD20.csv dosyası açılmaz (5004 ERR_FILE_CANNOT_OPEN Dosya açma hatası). Göstergeyi test cihazından kaldırırsanız, bu dosya komut dosyasında açılır ve sorunsuz bir şekilde kopyalanır. Göstergedeki dosya şu şekilde açılır: ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
Komut dosyasındaki dosya şu şekilde açılır: ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ);
Lütfen hatamı belirtin.
Merhaba. Dosya paylaşılamıyor. Görev - M1'deki MT4 test cihazında (MQL4) manuel test sırasında, daha eski bir dönemin (örneğin, M20) bir dosyasının oluşturulması gerekir. Bunun için PeriodConverter betiğine dayalı bir gösterge yazılmıştır. Çünkü test modunda, dosyayı (EURUSD20.csv) doğrudan Geçmiş klasörüne kaydedemezsiniz, dosya tüm terminaller için ortak klasöre kaydedilir - \\MetaQuotes\Terminal\Common. Ayrıca, zaten normal bir M1 grafiği üzerinde çalışan döngülü komut dosyası, verileri EURUSD20.csv dosyasından Geçmiş klasöründe bulunan EURUSD20.hst dosyasına kopyalar. Scriptte aynı anda test cihazındaki göstergede açılırsa EURUSD20.csv dosyası açılmaz (5004 ERR_FILE_CANNOT_OPEN Dosya açma hatası). Göstergeyi test cihazından kaldırırsanız, bu dosya komut dosyasında açılır ve sorunsuz bir şekilde kopyalanır. Göstergedeki dosya şu şekilde açılır: ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
Komut dosyasındaki dosya şu şekilde açılır: ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ |FILE_COMMON );
Lütfen hatamı belirtin.
İşaret etti mi?
İşaret etti mi?
anlamadım Bu seçenek, dosyanın konumuna işaret eder - \\MetaQuotes\Terminal\Common. Bu seçenek olmadan, test cihazında oluşturulan dosyayı alamayacağım. Bu seçenek olmadan, dosya MQL4\Files içinde aranacaktır - ve ben dosyayı test cihazından oraya koyamayacağım.