[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 705
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
Çok açık, kitaba bakıyorum ve göremiyorum, işe yarıyor, teşekkürler! Sorulara devam ediyorum. Hepsi aynı global değişkenler hakkında. Bu yüzden göstergeye aşağıdaki koşulu ekledim:
Göstergenin hangi para biriminde olduğuna bağlı olarak, hangi global değişkene değer atanacağını belirlemek istiyorum.
Anladığım kadarıyla GlobalVariableSet (valuta, param) global değişkeninde (valuta) adı kendisine yukarıda atanan değeri içermelidir
EA kodunda global değişkeni tekrar çağırırım
stringvaluta="değer";
int i=GlobalVariableGet(valuta); // ama değeri alamadım,.... yani 0 alıyorum. Belki global bir değişkenin adını bu şekilde değiştirmek mümkün değildir?
net değil.. EA gösterge tarafından kaydedilen değeri kontrol ederse, EA'daki valuta parametresinin değerinin cihazın adına karşılık gelmesi gerektiğini varsaymak mantıklı olacaktır, yani. EURUSD veya GBPUSD..
buna göre, eğer EA mevcut enstrümanın değerini kontrol ederse, o zaman
dizi değeri = Sembol();
int i= GlobalVariableGet (değer);Yardımdan başlamak için
Varolan bir global değişkenin değerini veya hata durumunda 0 değerini döndürür. Bir hata hakkında bilgi almak için GetLastError() işlevini çağırmanız gerekir.
GV içeriğini görüyor ancak alamıyor musunuz?
Pekala, hem isim hem de değer global değişkenlerde gösteriliyor, .... Sadece kodumda global bir değişkenin değerini global bir değişkenin (parametre-adı) aracılığıyla alamıyorum, bir tane belirtmem gerekiyor. dize adı, o zaman sorun yok.
Pekala, hem isim hem de değer global değişkenlerde gösteriliyor, .... Sadece kodumda global bir değişkenin değerini global bir değişkenin (parametre-adı) aracılığıyla alamıyorum, bir tane belirtmem gerekiyor. dize adı, o zaman sorun yok.
Yer değiştirmek
if (symb==EUR) {valuta=EUR;}
üzerinde
if (symb=="EURUSD") {valuta="EUR";}
net değil.. EA gösterge tarafından kaydedilen değeri kontrol ederse, EA'daki valuta parametresinin değerinin cihazın adına karşılık gelmesi gerektiğini varsaymak mantıklı olacaktır, yani. EURUSD veya GBPUSD..
buna göre, eğer EA mevcut enstrümanın değerini kontrol ederse, o zaman
dizi değeri = Sembol();
int i=GlobalVariableGet(valuta);Evet, işe yarıyor)) Her şey göründüğünden daha basit)
Buraya gelen ve yardım eden herkese çok TEŞEKKÜRLER!
Arkadaşlar, bana nerede batırdığımı söyleyin ... Anlayamıyorum. Veriler göstergeden okunur, ancak daha sonra çalışmaz. bulamıyorum. Biri bana neyi anlamadığımı söyleyebilir mi:
Günlükte, her zaman gösterge değerleri dizisinin verilerini görüntüler, ancak sonra - dur ...
... sadece bir sıfır hücre... ve sadece sıfır... Lütfen yardım edin...
kusura bakmayın hata çıktı ..... işte orjinali
Odysseus, eğer orada değillerse, eklemeniz gerekir :))
Arkadaşlar, bana nerede batırdığımı söyleyin ... Anlayamıyorum. Veriler göstergeden okunur, ancak daha sonra çalışmaz. bulamıyorum. Biri bana neyi anlamadığımı söyleyebilir mi:
Günlükte, her zaman gösterge değerleri dizisinin verilerini görüntüler, ancak sonra - dur ...
... sadece bir sıfır hücre... ve sadece sıfır... Lütfen yardım edin...
Artyom, şimdiye kadar ilk hatayı buldum:
PeakUP[] ve PeakDN[] dizileri belirli sayıda eleman olmadan bildirilir, yani onları hiç hücresiz yarattınız ve sonra kodda onlara bir şeyler yazmaya çalışıyorsunuz, ancak eleman içermedikleri için, doğal olarak içlerinde hiçbir şey kaydedilmez ve baskı her zaman sıfırdır. Tam olarak kaç tepe ve vadi olacağını bilmediğiniz için bunu yapmanızı, yeni veriler geldiğinde bu dizilerdeki eleman sayısını dinamik olarak artırmanızı öneririm, düzeltilen alanlar kırmızı ile vurgulanır.
ArraySize() işlevi , dizi öğelerinin toplam sayısını döndürür, ancak dizin oluşturma sıfırdan başladığından, gerçek öğe sayısı ArraySize() - 1'dir.
...diğer çiftlerde emir açabilmesi için nasıl yapılacağı veya en azından içinde ne belirtilmesi gerektiği. Birkaç Uzman Danışman çalıştırmak istemiyorum ((
Artyom, şimdiye kadar ilk hatayı buldum:
PeakUP[] ve PeakDN[] dizileri belirli sayıda eleman olmadan bildirilir, yani onları hiç hücresiz yarattınız ve sonra kodda onlara bir şeyler yazmaya çalışıyorsunuz, ancak eleman içermedikleri için, doğal olarak içlerinde hiçbir şey kaydedilmez ve baskı her zaman sıfırdır. Tam olarak kaç tepe ve vadi olacağını bilmediğiniz için bunu yapmanızı, yeni veriler geldiğinde bu dizilerdeki eleman sayısını dinamik olarak artırmanızı öneririm, düzeltilen alanlar kırmızı ile vurgulanır.
ArraySize() işlevi, dizi öğelerinin toplam sayısını döndürür, ancak dizin oluşturma sıfırdan başladığından, gerçek öğe sayısı ArraySize() - 1'dir.