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

 
BarCloseB1 = iClose (nameSym,xPeriod,xshiftBar);
BarCloseB1Signal = iClose (nameSymSignal,xPeriod,xshiftBar)

Güzel gün!

yeni bir saatlik çubuk açarken, mevcut enstrümanın ve bir başkasının kapanış değerini bulacağım (mevcut olanın sinyali). test cihazında her şey yolunda

ancak gerçek hayatta mevcut enstrümanın değeri karşılık gelir ve sinyal enstrümanı için önceki çubuğun değerini alır, yani xshiftBar = 1 ise, o zaman sinyal enstrümanı için xshiftBar alır   =2, yani bir tane daha

 
Vitaly Muzichenko :

Yalnızca bu kaynaktan kazanılanları çekebilirsiniz ve bu, programların, sinyallerin ve bilgisayar kapasitelerinin satışıdır. Girilenler yalnızca bu kaynağa harcanabilir.

Vitaly, yanlış anladın. Önce çıkarmalı, sonra gerektiğinde ve gerekirse atmalıyız.

 
Yerkin Sagandykov :

Güzel gün!

yeni bir saatlik çubuk açarken, mevcut enstrümanın ve bir başkasının kapanış değerini bulacağım (mevcut olanın sinyali). test cihazında her şey yolunda

ancak gerçek hayatta mevcut enstrümanın değeri karşılık gelir ve sinyal enstrümanı için önceki çubuğun değerini alır, yani xshiftBar = 1 ise, o zaman sinyal enstrümanı için xshiftBar alır   =2, yani bir tane daha

Kontrol etmek için değişkenler yerine 1 ve 2 değerlerini koyun o zaman hatanın nerede olduğunu anlayacaksınız.

 
Alekseu Fedotov :

iCustom ile

Teşekkürler, ama lütfen bana çizilen seviyelerin neden bu kadar hızlı uçtuğunu söyle?
Dosyalar:
snake.mq4  16 kb
 
Alexey Viktorov :

Kontrol etmek için değişkenler yerine 1 ve 2 değerlerini koyun o zaman hatanın nerede olduğunu anlayacaksınız.

sorun bence değişkenin değerlerinde değil. Sadece kodumda yeni bir saatin başlangıcında yeniden hesaplama var. ve mevcut sembole göre yeni bir bar görünüp bar =1 değerlerinin hesaplandığı ve sinyal sembolüne göre yeni bir bar elde edildiği, henüz oluşmadığı ve değerlerin bar için =2 hesaplanır

 if   ( iTime (nameSym, LPeriod, 0 ) == counted_bar ) return ; 
Обработчик события "новый бар"
Обработчик события "новый бар"
  • www.mql5.com
Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...
 
Yerkin Sagandykov :

sorun bence değişkenin değerlerinde değil. Sadece kodumda yeni bir saatin başlangıcında yeniden hesaplama var. ve mevcut sembole göre yeni bir bar görünüp bar =1 değerlerinin hesaplandığı ve sinyal sembolüne göre yeni bir bar elde edildiği, henüz oluşmadığı ve değerlerin bar için =2 hesaplanır

“Bence” değil, doğru olması için belirli değerler ayarlamanız gerekir ve ardından yeni bir çubuğun başlangıcının sinyal sembolünde geç olduğunu güvenle söyleyebilirsiniz. Ve bir şekilde bu yeni barı bekleyin. Hangisini kullanacağınıza kendiniz karar verecek birkaç seçenek var.

 

Selamlar. Lütfen bana söyle.

Belirli bir Uzman Danışmanın siparişleri için maksimum düşüşün hesaplanması gerekir.

Tüm siparişleri sayarsak, o zaman öyle düşünüyorum ve bu, MT'nin kendisinin sonuçlarıyla birleşiyor:

       if (AccountEquity()>max_equity){
         max_equity=AccountEquity();
      }   
       if (max_drawdown_total<max_equity-AccountEquity()){
         max_drawdown_total=max_equity-AccountEquity();
      } 

Bir danışman için şöyle düşünüyorum:

       if (MoneyCount()>max_equity_1){
         max_equity_1=MoneyCount();
      }   
       if (max_drawdown_total_1<max_equity_1-MoneyCount()){
         max_drawdown_total_1=max_equity_1-MoneyCount();
      }

double MoneyCount(){
   double count= 0 ;
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--){
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)){
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==magic){
            count+=(OrderProfit()+OrderSwap()+OrderCommission()); //
         }   
      }
   }
   return count;
}

Test cihazında hesaplamaların sonuçlarının aynı olması gerektiğini düşünüyorum, ancak (hemen değil) yüzdeden biraz daha fazla bir fark var. Ne düşünmüyorum?

 
Tünaydın. Lütfen bana hangi dili mql4 veya 5'i tercih edeceğimi söyleyin. Ve meta düzenleyici 5 neden mt4'te yerleşiktir, yoksa mql4 için de midir?
 
Merhaba, lütfen biri diğerinin üzerine bindirildiğinde koddaki göstergelerin değerlerini nasıl yansıtacağımı söyleyin, örneğin, MA ATR'de üst üste bindirilir, MT4'te bu mümkün mü?
 
ZahvatkiN :
Merhaba, lütfen biri diğerinin üzerine bindirildiğinde koddaki göstergelerin değerlerini nasıl yansıtacağımı söyleyin, örneğin, MA ATR'de üst üste bindirilir, MT4'te bu mümkün mü?

MQL4 için iMAOnArray() kullanın, MQL5 için - iMA tutamacını oluştururken, hareketli ortalamanın hesaplandığı fiyatı değil, önceden oluşturulmuş ATR'nin tutamağını belirtin