[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 756

 
ToLik_SRGV :

İlya, şimdi bir göz atacağım ama dizilerin neden bir dize türü olduğunu tam olarak anlamadım?

bu hala çalışıyor :)

aslında şunu açıklamak isterim:

C'de olduğu gibi mql'de bir "yapı" benzerliği olup olmadığı.

bu dizide, farklı türlerdeki verileri saklamam gerekiyor - hem ekstremumun oluşum tarihi + saati hem de ekstremumun kendisinin değeri ...

Buna göre, açıklığa kavuşturmak istedim - bir dizgiyi tarih + saate dönüştürmek için standart bir işlev var mı ... veya bu durum nasıl önlenebilir?

 

bu ZZ'yi al ve acı çekme

Dosyalar:
zigzag2_r_.mq4  10 kb
 
Morzh09 :

Kendimi tekrar ettiğim için özür dilerim, ama anlamak isterim...


Bu hemen gözüme çarptı, Number_of_extremum[] diziniz hiçbir yerde başlatılmadı, bu yüzden içinde veri depolamak için hücre yok ve ona min / max yazmaya çalışıyorsunuz (bu yüzden her zaman 0 oluyor) , bu seçeneği öneriyorum, K değişkenine bağlı olarak dizinin boyutunu dinamik olarak değiştirin :

        
   }
   
//====================================================  

   ArrayResize (Number_of_extremum, k);
   
   for ( int u= 0 ;u<k;u++) //
   {
      if (StrToDouble(TimeSave1[u+ 1 ][ 1 ])<=StrToDouble(TimeSave1[u][ 1 ]))
      {
         Number_of_extremum[u]= 1 ; // значит под номером u - нашли min
      }
      else
      if (StrToDouble(TimeSave1[u+ 1 ][ 1 ])>=StrToDouble(TimeSave1[u][ 1 ]))
      {
         Number_of_extremum[u]= 2 ; // значит под номером u - нашли max
      }
   }
   
//====================================================   

Çalışmaya başlıyor gibi görünüyor, bence mantıkta bir yerlerde hala bir hata olsa da, bazen sayılar sıra dışı olmaya başlıyor, ancak arka arkaya iki maksimum olabilir mi?

 
ToLik_SRGV :

Sonunda ne elde etmek istedin?

Doğru hesapladıysam:
1000*60*(240+1)*1000 = 14.460.000 saniye.

Test cihazının 167 gün boyunca her tikte durmasını istiyor musunuz?

Askıya alma süreçlerinden birkaç sayfa önce bahsetmiştim.

Teşekkürler, oldukça açık - Uyku, test cihazında çalışmıyor. Uykunun işe yarayıp yaramadığını kontrol etmek için inanılmaz derecede büyük bir gecikme ayarladım.
 

Merhaba. Böyle bir arbitraj stratejisi var mı, ideal mi? Onlar. Üzerinde kaybetmek gerçekçi değil mi yoksa fiyat her zaman istenen seviyeye ulaşmıyor mu?

Teşekkür ederim

 
Swetten :

MT4'teki maksimum pencere sayısı nedir?

3x19 pencereleri açmak zorunda kaldım ve 54'te (bir çeşit) asılı kaldı ve hepsi bu.

Onlar. pencere çizilir, ancak önceki (arka planda olan) pencerelerin ekran görüntüsünü içerir.

Ve bu kadar.

Bu, yeterli video belleği olmadığında olur ...
 

lütfen bana danışmana hangi kodun eklenmesi gerektiğini söyleyin, böylece 20 puanlık örnekte bir kâra ulaştığında, başabaş noktasında durur ve artık hareket etmez

cevap için çok minnettar olacağım

 

Meslektaşlar! Üç paralel yatay çizgiden oluşan böyle bir gösterge olup olmadığını söyleyin, yani bir tür kanal. Örneğin, sıradan bir yatay çizgi alırız, onu bir seviyeye ayarlarız ve bu çizgiden belirli (verilen) sayıda noktadan sonra, ona paralel kalan çizgiler çizilir. Şimdiden teşekkür ederim.

 

Test cihazındaki Expert Advisor, seçilen dönem için 5 sipariş açar.

OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue); satırında ise; 10'u 15 ile değiştirin, 5 siparişten 4'ü açılacak ve 10 yerine 20 koyarsanız, sadece 3'ü açılacaktır.

Sadece Zarar Durdur ile kapatılan zarar eden emirler atlanır. Hiçbir hata mesajı verilmez. Sebebi ne olabilir, söyle lütfen?

Üstelik bu dalın içine bile girmiyor gibi görünüyor.

 if ( OrdersTotal ()!= 0 ) {
   if (OrderType()==OP_BUY && stochMain0<stochSIGNAL0) CLOSEORDER( "Buy" );     
   if (OrderType()==OP_SELL && stochMain0>stochSIGNAL0) CLOSEORDER( "Sell" );  
}
else {
   double MA0 = iMA ( NULL ,timeframe,Period_MA, 0 , MODE_SMA , PRICE_OPEN , 0 );   
   double MA1 = iMA ( NULL ,timeframe,Period_MA, 0 , MODE_SMA , PRICE_OPEN ,Shift);   
   double MA2 = iMA ( NULL ,timeframe,Period_MA, 0 , MODE_SMA , PRICE_OPEN ,Shift* 2 ); 
   if (MA0>MA1-razn1 && MA1>MA2-razn1 && MA0<Ask)    
       if (stochMain0>stochSIGNAL0 && stochMain_1>stochSIGNAL_1 && stochMain_4<stochSIGNAL_4) {
         //OPENORDER ("Buy");
         OrderSend ( Symbol (),OP_BUY, Lots,Ask, 3 ,Ask- 10 * Point , 0 , "" , 0 , 0 , Blue );
      }
   else if (MA0+razn1<MA1 && MA1+razn1<MA2 && MA0>Bid)     
       if (stochMain0<stochSIGNAL0 && stochMain_1<stochSIGNAL_1 && stochMain_4>stochSIGNAL_4)   //   
         {OPENORDER ( "Sell" );  }
}     
Dosyalar:
stoch_1.mq4  7 kb
 
profitinvesting :

lütfen bana danışmana hangi kodun eklenmesi gerektiğini söyleyin, böylece 20 puanlık örnekte kara ulaştığında, başabaş noktasında durur ve artık hareket etmez

cevap için çok minnettar olacağım

Toplam kâra mı ihtiyacınız var - tüm açık pozisyonlar mı yoksa 20 puan kâra ulaştığınızda her birini kendi durdurmanız mı gerekiyor?