MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 529

 
YanSay :

Bunun gibi?

Böyle döngü yapardım:

 for ( int i= OrdersTotal ()- 1 ; i> WRONG_VALUE ; i--)

Azaltma sonrası / artış sonrası için alışkınım - Önek artışlarından / azalışlarından farklı olarak anlıyorum, çünkü (yardımdan) önek artışı (++i) ve eksiltme (--k) değişkene hemen önce uygulanır ifadede bu değişkeni kullanarak.

Ancak karşılaştırmanız tamamen yanlış:

 if ( NormalizeDouble (( Ask - OrderStopLoss ()>Trailing* Point ), Digits ))

Burada boole değerini normalleştirirsiniz - iki değeri karşılaştırmanın sonucu - Ask-OrderStopLoss() ifadesinin değerini Trailing*Point ifadesinin değeriyle karşılaştırın ve ardından bu karşılaştırmanın sonucunu normalleştirin.

Ve karşılaştırma sonucu yalnızca yanlış (0) veya doğru (sıfır değil) olabilir. Ve bu sıfır ya da sıfır değil, normalleştiriyorsunuz.

Ve şu şekilde karşılaştırmanız gerekir:

 if ( NormalizeDouble (( Ask - OrderStopLoss ())-Trailing* Point , Digits )> DBL_EPSILON )
  {
   // Ask-OrderStopLoss() больше Trailing*Point
  }
 
Juer :
hata ne anlama geliyor?


İki nesneli bir işlevim var:

Sınıflardan biri 4000'den fazla alana (çoğunlukla numaralandırma) sahip bir yapıya sahiptir.

Bu hatayla ne yapmalı?

 bool               CheckCandleOneRules(CCandlePropertiesBase *candle,
                                      CCandleRule *rule,
                                       int dir);

Derleme sırasında yerel değişkenlerin boyutu çok büyük (512kb'den fazla) çıkıyor.

Nereye bakmalı ve ne yapmalı? İşlevin bir dizi CArrayString dizisi var, bununla bir hatanın ilişkili olabileceğinden şüpheleniyorum.

Add() yöntemiyle dolduruyorum, sonra Clear() ve ardındanShutdown() yapıyorum. Ardından Add() yöntemini kullanarak tekrar yeni verilerle dolduruyorum. Bu durumda dizi tekrar sıfır elemanından mı doldurulacak?

 

Tarihte, ardışık, çok yönlü mumların en uzun dizisini nasıl bulabilirim?

Örnek: birincisi düşüş, ikincisi yükseliş, üçüncüsü düşüş vb. Sanırım bir tür döngüye ve bu tür mumların sayısını yazmanız gereken bir değişkene ihtiyacınız var, ancak döngünün ne olması gerektiğini ve nasıl, hangi koşulla çıkacağını bilmiyorum.

 
PolarSeaman :

Tarihte, ardışık, çok yönlü mumların en uzun dizisini nasıl bulabilirim?

Örnek: birincisi düşüş, ikincisi yükseliş, üçüncüsü düşüş vb. Sanırım bir tür döngüye ve bu tür mumların sayısını yazmanız gereken bir değişkene ihtiyacınız var, ancak döngünün ne olması gerektiğini ve nasıl, hangi koşulla çıkacağını bilmiyorum.

CopyRates ve MqlRates yapıları dizisi arasında döngü yapın.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 
Alexey Viktorov :

CopyRates ve MqlRates yapıları dizisi arasında döngü yapın.

Teşekkürler, dizide dolaşın, nasıl? ve ondan ne zaman çıkmalı?

 
PolarSeaman :

Teşekkürler, dizide dolaşın, nasıl? ve ondan ne zaman çıkmalı?

Sipariş listesiyle aynı. Dizideki indekslemenin yönü konusunda dikkatli olmanız yeterlidir. Ve çık... Gerekirse bir kez, bakılacak son çubuklar arasında, sıra ihlal edilir edilmez çık. Bir gösterge ise, dizinin sonundan çıkın.
 
PolarSeaman :

Tarihte, ardışık, çok yönlü mumların en uzun dizisini nasıl bulabilirim?

Örnek: birincisi düşüş, ikincisi yükseliş, üçüncüsü düşüş vb. Sanırım bir tür döngüye ve bu tür mumların sayısını yazmanız gereken bir değişkene ihtiyacınız var, ancak döngünün ne olması gerektiğini ve nasıl, hangi koşulla çıkacağını bilmiyorum.

Ve forex'in yaratıldığı andan itibaren maksimum dizilim nereden sayılıyor?

 
Alexey Viktorov :
sonra sıra bozulur kırılmaz çıkın.

Genel olarak, bu diziyi nasıl yazmalı?

 
Vitaly Muzichenko :

Ve forex'in yaratıldığı andan itibaren maksimum dizilim nereden sayılıyor?

Harika olurdu) Ama komisyoncunun geçmişi sınırlıdır, hepsini arayın. veya geçen yıl için, yani 15. 04. 17'den itibaren

 
PolarSeaman :

Genel olarak, bu diziyi nasıl yazmalı?

Nasıl yazılır, diye yanıtladı Alexei. Zamanı ve isteği varsa kodu gördüğü gibi yazsa harika olur)

Uygulamayı bayrak aracılığıyla görüyorum, ancak denemeye başlamak bile istemiyorum bana yanlış görünüyor.

not. Bu arada, bu bir gösterge mi yoksa danışman mı?