Soru şu ki, neyi yanlış yapıyorum? Diziler (STATIC) doldurulur ve hesaplama 0 (sıfır) verir. Kodumda neyin eksik olduğunu söyle. Dizi öğeleri neden karşılaştırılıp eklenmiyor?... Teşekkürler
double Open[60],High[60],Lo[60,Close[60]; int to_copy=60;
if ( CopyOpen ( NULL , PERIOD_H4 , 1 ,to_copy,Open)<to_copy) return ( 0 );
if ( CopyHigh ( NULL , PERIOD_H4 , 1 ,to_copy,High)<to_copy) return ( 0 );
if ( CopyLow ( NULL , PERIOD_H4 , 1 ,to_copy,Low)<to_copy) return ( 0 );
if ( CopyClose ( NULL , PERIOD_H4 , 1 ,to_copy,Close)<to_copy) return ( 0 );
//---- //int start=to_copy*PeriodSeconds(PERIOD_H4)/PeriodSeconds(_Period);int start=to_copy;
if (Tf== true )
{
if (prev_calculated== 0 )
for ( int j= 1 ; j<=start; j++)
{
if (Open[j]>Close[j])
candle+=Open[j]-Close[j];
if (Close[j]>Open[j])
candle+=Close[j]-Open[j];
candleHL+=High[j]-Low[j];
br+= 1 ;
} //for
Soru şu ki, neyi yanlış yapıyorum? Diziler (STATIC) doldurulur ve hesaplama 0 (sıfır) verir. Kodumda neyin eksik olduğunu söyle. Dizi öğeleri neden karşılaştırılıp eklenmiyor?... Teşekkürler
1) Döngüde bir dizi taşması var - arabellek boyutu 60 ise, ilk dizin 0 olduğundan son dizin 59 olacaktır.
2) Kod tamamlanmadı - örneğin, Tf nasıl tanımlanır ve mum nasıl başlatıldı?
* fiyatları kopyalarken indeksleme bir kaydırılır, çünkü ilk indeksten başlayarak 60 element kopyaladığınız için, yani ilk kapalı çubuğun fiyatları zaten indeks 0'da olacaktır.
Yardım diyor ki - "mql5 programının zorla kapatıldığını kontrol eder". Yani, ilerideki belirli sayıda kod satırına "bakıyor" ve herhangi bir şeyin doğruluğunu kontrol ediyor mu? Sorumluluk alanı nasıl belirlenir (örneğin, satır başına veya 10 satır)?
Sadece döngünün dizinin ötesine geçmesine izin vermediğini düşündüm, ancak Yüksek ve Düşük fiyatları kopyalamadan önce FAMA kodunda gördüm.
Yardım diyor ki - "mql5 programının zorla kapatıldığını kontrol eder". Yani, ilerideki belirli sayıda kod satırına "bakıyor" ve herhangi bir şeyin doğruluğunu kontrol ediyor mu? Sorumluluk alanı nasıl belirlenir (örneğin, satır başına veya 10 satır)?
Sadece döngünün dizinin ötesine geçmesine izin vermediğini düşündüm, ancak Yüksek ve Düşük fiyatları kopyalamadan önce FAMA kodunda gördüm.
Hiçbir yere bakmıyor ... Orada her şey açıkça yazılmış. Bayrak kontrol ediliyor... Tekrar okuyun .
Возвращает true, если в системной переменной _StopFlag содержится значение, отличное от 0. Ненулевое значение записывается в переменную _StopFlag, если поступила команда завершить...
Yardım, "mql5 programının zorunlu olarak kapatıldığını kontrol eder" diyor. Yani, ilerideki belirli sayıda kod satırına "bakıyor" ve herhangi bir şeyin doğruluğunu kontrol ediyor mu? Sorumluluk alanı nasıl belirlenir (örneğin, satır başına veya 10 satır)?
Sadece döngünün dizinin ötesine geçmesine izin vermediğini düşündüm, ancak Yüksek ve Düşük fiyatları kopyalamadan önce FAMA kodunda gördüm.
MQL programı durursa, hem önceden tanımlanmış değişken hem de IsStopped() işlevi kullanılarak kontrol edilebilen _StopFlag bayrağı ayarlanır - hiçbir fark yoktur, bu uygun, onu kullanın
_StopFlag bayrağını ayarladıktan sonra, MQL programına durması için kısa bir süre verilir, ardından terminal onu zorla boşaltacaktır
en yaygın kullanım döngülü komut dosyalarıdır, yazılmaz
while ( true )
{
...
}
şöyle yazmak daha iyidir:
while (! IsStopped ())
{
...
}
peki, aynı zamanda maliyetli hesaplamalarda veya döngülerdeki büyük hesaplarda da olur.
for ( int i= 0 ; i< 1 e6 && ! IsStopped (); i++)
{
}
1) Döngüde bir dizi taşması var - arabellek boyutu 60 ise, ilk dizin 0 olduğundan son dizin 59 olacaktır.
2) Kod tamamlanmadı - örneğin, Tf nasıl tanımlanır ve mum nasıl başlatıldı?
* fiyatları kopyalarken indeksleme bir kaydırılır, çünkü ilk indeksten başlayarak 60 element kopyaladığınız için, yani ilk kapalı çubuğun fiyatları zaten indeks 0'da olacaktır.
Cevap için teşekkürler. Tam kod. Dizinin statik boyutu artırıldı. Operatörlerdeki sıfır kontrol girişini kaldırdım... Ortak bir "boşluk". NEDEN ekleme SAYILMIYOR anlamak istiyorum. Şimdi kodumda ne eksik? İpuçları için teşekkürler. Henüz mql5'te statik dizilerle çalışmadım .....
Допускается объявление не более чем 4-мерного массива. При объявлении динамического массива (массива с неуказанным значением в первой паре квадратных скобок) компилятор автоматически создает переменную указанной выше структуры (объект динамического массива) и обеспечивает код для правильной инициализации. Статические массивы При явном...
İki boyutlu bir diziye yazmak için bir döngüde L1, L2, L3 ... Ln adlı değişkenleri sıralamanın mümkün olup olmadığını söyleyin.
silinen gönderi - dizileri bilirsiniz
ama yine de yapamam
bir seçenek olarak bir makro ikamesi yazın, belirli bir örnek yazın - belki biri sizin göreviniz için bir makro yazar, ben makro ikamelerini kötü yazarım
Tam kod. Dizinin statik boyutu artırıldı. Operatörlerdeki sıfır kontrol girişini kaldırdım... Ortak bir "boşluk". NEDEN ekleme SAYILMIYOR anlamak istiyorum. Şimdi kodumda ne eksik? İpuçları için teşekkürler. Henüz mql5'te statik dizilerle çalışmadım .....
Допускается объявление не более чем 4-мерного массива. При объявлении динамического массива (массива с неуказанным значением в первой паре квадратных скобок) компилятор автоматически создает переменную указанной выше структуры (объект динамического массива) и обеспечивает код для правильной инициализации. Статические массивы При явном...
Cevap için teşekkürler. Tam kod. Dizinin statik boyutu artırıldı. Operatörlerdeki sıfır kontrol girişini kaldırdım... Ortak bir "boşluk". NEDEN ekleme SAYILMIYOR anlamak istiyorum. Şimdi kodumda ne eksik? İpuçları için teşekkürler. Henüz mql5'te statik dizilerle çalışmadım .....
KOD GÜNCELLENDİ. Aynı soru...
SİZİN hakkında göstergelerim var, ama bu sadece gereksiz. zaten var)))
Herkese iyi internet ve sağlık.
Soru şu ki, neyi yanlış yapıyorum? Diziler (STATIC) doldurulur ve hesaplama 0 (sıfır) verir. Kodumda neyin eksik olduğunu söyle. Dizi öğeleri neden karşılaştırılıp eklenmiyor?... Teşekkürler
double Open[60],High[60],Lo[60,Close[60]; int to_copy=60;Comment(High[10],". ",candle);candle дает результат 0 нольHerkese iyi internet ve sağlık.
Soru şu ki, neyi yanlış yapıyorum? Diziler (STATIC) doldurulur ve hesaplama 0 (sıfır) verir. Kodumda neyin eksik olduğunu söyle. Dizi öğeleri neden karşılaştırılıp eklenmiyor?... Teşekkürler
1) Döngüde bir dizi taşması var - arabellek boyutu 60 ise, ilk dizin 0 olduğundan son dizin 59 olacaktır.
2) Kod tamamlanmadı - örneğin, Tf nasıl tanımlanır ve mum nasıl başlatıldı?
* fiyatları kopyalarken indeksleme bir kaydırılır, çünkü ilk indeksten başlayarak 60 element kopyaladığınız için, yani ilk kapalı çubuğun fiyatları zaten indeks 0'da olacaktır.
İşlev nasıl çalışır?
IsStopped ();... ve hangi görev listesini gerçekleştirir?
Yardım diyor ki - "mql5 programının zorla kapatıldığını kontrol eder". Yani, ilerideki belirli sayıda kod satırına "bakıyor" ve herhangi bir şeyin doğruluğunu kontrol ediyor mu? Sorumluluk alanı nasıl belirlenir (örneğin, satır başına veya 10 satır)?
Sadece döngünün dizinin ötesine geçmesine izin vermediğini düşündüm, ancak Yüksek ve Düşük fiyatları kopyalamadan önce FAMA kodunda gördüm.
İşlev nasıl çalışır?
... ve hangi görev listesini gerçekleştirir?
Yardım diyor ki - "mql5 programının zorla kapatıldığını kontrol eder". Yani, ilerideki belirli sayıda kod satırına "bakıyor" ve herhangi bir şeyin doğruluğunu kontrol ediyor mu? Sorumluluk alanı nasıl belirlenir (örneğin, satır başına veya 10 satır)?
Sadece döngünün dizinin ötesine geçmesine izin vermediğini düşündüm, ancak Yüksek ve Düşük fiyatları kopyalamadan önce FAMA kodunda gördüm.
Hiçbir yere bakmıyor ... Orada her şey açıkça yazılmış. Bayrak kontrol ediliyor... Tekrar okuyun .
İşlev nasıl çalışır?
... ve hangi görev listesini gerçekleştirir?
Yardım, "mql5 programının zorunlu olarak kapatıldığını kontrol eder" diyor. Yani, ilerideki belirli sayıda kod satırına "bakıyor" ve herhangi bir şeyin doğruluğunu kontrol ediyor mu? Sorumluluk alanı nasıl belirlenir (örneğin, satır başına veya 10 satır)?
Sadece döngünün dizinin ötesine geçmesine izin vermediğini düşündüm, ancak Yüksek ve Düşük fiyatları kopyalamadan önce FAMA kodunda gördüm.
MQL programı durursa, hem önceden tanımlanmış değişken hem de IsStopped() işlevi kullanılarak kontrol edilebilen _StopFlag bayrağı ayarlanır - hiçbir fark yoktur, bu uygun, onu kullanın
_StopFlag bayrağını ayarladıktan sonra, MQL programına durması için kısa bir süre verilir, ardından terminal onu zorla boşaltacaktır
en yaygın kullanım döngülü komut dosyalarıdır, yazılmaz
şöyle yazmak daha iyidir:
peki, aynı zamanda maliyetli hesaplamalarda veya döngülerdeki büyük hesaplarda da olur.
Herkese merhaba.
İki boyutlu bir diziye yazmak için bir döngüde L1, L2, L3 ... Ln adlı değişkenleri sıralamanın mümkün olup olmadığını söyleyin.
1) Döngüde bir dizi taşması var - arabellek boyutu 60 ise, ilk dizin 0 olduğundan son dizin 59 olacaktır.
2) Kod tamamlanmadı - örneğin, Tf nasıl tanımlanır ve mum nasıl başlatıldı?
* fiyatları kopyalarken indeksleme bir kaydırılır, çünkü ilk indeksten başlayarak 60 element kopyaladığınız için, yani ilk kapalı çubuğun fiyatları zaten indeks 0'da olacaktır.
Cevap için teşekkürler. Tam kod. Dizinin statik boyutu artırıldı. Operatörlerdeki sıfır kontrol girişini kaldırdım... Ortak bir "boşluk". NEDEN ekleme SAYILMIYOR anlamak istiyorum. Şimdi kodumda ne eksik? İpuçları için teşekkürler. Henüz mql5'te statik dizilerle çalışmadım .....
KOD GÜNCELLENDİ. Aynı soru...
Comment("indexmass ",indexmass," Open ",Open[10]," candle ",candle," averpips ",averpips);Herkese merhaba.
İki boyutlu bir diziye yazmak için bir döngüde L1, L2, L3 ... Ln adlı değişkenleri sıralamanın mümkün olup olmadığını söyleyin.
silinen gönderi - dizileri bilirsiniz
ama yine de yapamam
bir seçenek olarak bir makro ikamesi yazın, belirli bir örnek yazın - belki biri sizin göreviniz için bir makro yazar, ben makro ikamelerini kötü yazarım
İnsanlar!!! Söylemek ... )))
Tam kod. Dizinin statik boyutu artırıldı. Operatörlerdeki sıfır kontrol girişini kaldırdım... Ortak bir "boşluk". NEDEN ekleme SAYILMIYOR anlamak istiyorum. Şimdi kodumda ne eksik? İpuçları için teşekkürler. Henüz mql5'te statik dizilerle çalışmadım .....
KOD GÜNCELLENDİ. Aynı soru...
Cevap için teşekkürler. Tam kod. Dizinin statik boyutu artırıldı. Operatörlerdeki sıfır kontrol girişini kaldırdım... Ortak bir "boşluk". NEDEN ekleme SAYILMIYOR anlamak istiyorum. Şimdi kodumda ne eksik? İpuçları için teşekkürler. Henüz mql5'te statik dizilerle çalışmadım .....
KOD GÜNCELLENDİ. Aynı soru...
SİZİN hakkında göstergelerim var, ama bu sadece gereksiz. zaten var)))