[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 701
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
Köpeğiniz, SaveDataIND(double TempIND[]) gibi iletirseniz, parametreleri bir işleve ileterek karıştırdı
o zaman double TempIND[ ] aslında işlev için yeni bir dizidir, ancak parametreleri değiştirme hakkı olmadan SaveDataIND(double & TempIND[]) deneyin
Satırda olacak şekilde hangi göstergenin kullanılacağı fonksiyona geçmeyi mümkün kılmak mümkün mü?
belirli bir gösterge değildi, ancak bir işlev parametresi olarak mı iletildi?
Pekala, geçiş yapmak gibi bir şey yapın ve olası göstergelerinizi bunlara indeksler atayarak yazın.
Satırda olacak şekilde hangi göstergenin kullanılacağı fonksiyona geçmeyi mümkün kılmak mümkün mü?
belirli bir gösterge değil miydi, ancak bir işlev parametresi olarak mı iletildi?
peki anlamı? bu tür eylemler genellikle yapılmaz - genellikle veriler işleve gönderilir ve veriler / dizi çağıran işlevde hazırlanır
size öyle geliyor ve inşaat ArrayResize (TempIND, nBars); doğru değil, en azından diğer programlama dillerinde derleyici bunu kaçırmaz. çift TempIND[50] var; - yani dizi statik bir dizi olarak bildirilir, ancak daha sonra dinamik olmalıdır (yani boyutsuz) - double TempIND[];
Not: evet ve fonksiyondaki değişkenlerdeki isimlerle kafanız karıştı - unutmayın ki global bir değişken varsa (danışmanın gövdesinde global), o zaman fonksiyonun içinde aynı isimle bildirilen değişken tamamen farklı ol:
buna genellikle değişkenlerin kapsamı denir - işlevde olanı kendi adlarınızla yeniden adlandırın, yani. void SaveDataIND( TempIND []'imi ikiye katla, int nBars) - daha az karışıklıkLot'unuz nerede başlatıldı?
Ayrıca, yalnızca geyiği kontrol ettikten sonra, daha önce yazıldığı gibi Lots_New'i değiştirin veya ona = Lot değerini atayın;
Teşekkür ederim! Her şey çalıştı!
peki anlamı? bu tür eylemler genellikle yapılmaz - genellikle veriler işleve gönderilir ve veriler / dizi çağıran işlevde hazırlanır
size öyle geliyor ve inşaat ArrayResize(TempIND, nBars); doğru değil, en azından diğer programlama dillerinde derleyici bunu kaçırmaz. çift TempIND[50] var; - yani dizi statik bir dizi olarak bildirilir, ancak daha sonra dinamik olmalıdır (yani boyutsuz) - double TempIND[];
Not: evet ve fonksiyondaki değişkenlerdeki isimlerle kafanız karıştı - unutmayın ki global bir değişken varsa (danışmanın gövdesinde global), o zaman fonksiyonun içinde aynı isimle bildirilen değişken tamamen farklı ol:
buna genellikle değişkenlerin kapsamı denir - işlevde olanı kendi adlarınızla yeniden adlandırın, yani. void SaveDataIND( TempIND []'imi ikiye katla, int nBars) - daha az karışıklık1. Neden Igor, her gösterge için kesinlikle aynı işlevimi yazmalıyım?
2. Teşekkürler, her itfaiyeci için düzelttim ...
3. Kafamı karıştırmıyor - Hangi dizinin kullanıldığını ve nerede olduğunu görüyorum, tam tersi benim için bir şekilde daha kolay, ancak bir ad denizim olduğunda kesinlikle kafam karışacak .. .. Gerçi ... Doğru yazım şekline alışmam gerekiyor, muhtemelen .. .
Teşekkür ederim! Her şey çalıştı!
Yeni bir mumun açılışını kontrol edin. Yeniyse - açık, eskiyse - hayır ...
Yeni bir mumun açılışını kontrol edin. Yeniyse - açık, eskiyse - hayır ...
statik int zaman = Zaman[0];
if (zaman < Zaman[0]){
// eski mum
} başka {
// yeni mum
zaman = Zaman[0];
}