MQL uzmanları için soru - sayfa 10

 
Rita :

Ah, düşünüyordum :)

Eğer bir

 if (NumberOfPositions( NULL , OP_BUY,Magic)>= 2 && NumberOfPositions( NULL ,OP_SELL,Magic)>= 2 ) {
 for {
// а сюда счетчик, по которому 2 раза пройдет
                    ClosePosFirstProfit( NULL ,OP_BUY, Magic);
                    ClosePosFirstProfit( NULL ,OP_SELL, Magic);
}
}
Değil?

 
Teşekkürler Abzasc , deneyeceğim.
 
Merhaba! Kısa süre önce MQL4'te yazmayı öğrenmeye başladım ve yerleşik bir göstergeyi değil, Kod Tabanından alınan bir göstergeyi bir Uzman Danışmanın çalışmasına nasıl (hangi komutla) bağlayabileceğinizi anlamıyorum? Bana kimin yapabileceğini söyle!
 
savage_pinguin :
Merhaba! Kısa bir süre önce MQL4'te yazmayı öğrenmeye başladım ve yerleşik bir göstergeyi değil, Kod Tabanından alınan bir göstergeyi bir Uzman Danışmanın çalışmasına nasıl (hangi komutla) bağlayabileceğinizi anlamıyorum? Bana kimin yapabileceğini söyle!

iCustom() kurtarmaya
 

Tünaydın.

 if  ( Accumulation2MA_1<=MA_1  &&    Accumulation2MA_0>MA_0 )   {
// если линии пересеклись - открываем позицию
   ticket= OrderSend ( Symbol (), 0 ,Lot,Ask,Slippage,Bid-SL* Point ,Ask+TP* Point ,
                                             "Хи-Хи" ,MagicNum, 0 , CLR_NONE );
     if (ticket < 0 ) { Print ( "Ошибка открытия ордера BUY #" , GetLastError ()); 
               Sleep ( 10000 );   return ( 0 ); }
   }

EA, MA göstergesinin iMAOnArray modunda asılı olduğu özel bir Accumulation2MA göstergesi kullanır.

Giriş/çıkış sinyalleri - hat geçişi!

Sorunun ne olduğunu anlamıyorum. Ama "küstahça" açma/gömme sinyallerinin yarısı görmezden geliyor! Sebep yok!

Aynı şey kapanış için de geçerlidir:

 for ( int v= 0 ; v< OrdersTotal (); v++)                             {//сортируем       
      if ( OrderSelect (v, SELECT_BY_POS, MODE_TRADES))               {//перебираем           
        if (OrderSymbol()== Symbol ()&& OrderMagicNumber()==MagicNum)   {//выбираем 
//-----------------------------------------------------                  
if (OrderType() == OP_SELL) {//если линии пересеклись, то закрываем: 
      if ( Accumulation2MA_1<=MA_1  &&    Accumulation2MA_0>MA_0 )   {
                 OrderClose(OrderTicket(),OrderLots(),Ask, 3 , Green ); // закрываем позицию
                 return ( 0 ); // выходим
                }   
......

Böylece işlemlerin neredeyse yarısı atlanmış oluyor. Söyle bana, sorun ne?

Koşullar en basitidir! Çizgiler açıkça aşıldı! Ancak pozisyonlar her zaman açık/kapalı değildir! Gazete sessiz.

Oklarla gösterdiler.

 //------заполняем массив значениями Accumulation2MA -----------------
double Accumulation2MA[ 50 ];
int    i= 0 ;  while (i< 50 )  {
Accumulation2MA[i]= iCustom ( NULL , 0 , "Accumulation2MA_v03" ,SMA,FMA, 0 , i);
                  i++;     }
//------Вешаем на Accumulation2MA - линию МА ---------------
ArraySetAsSeries (Accumulation2MA,true);
double MA_0 = iMAOnArray(Accumulation2MA, 0 ,MA_Period, 0 , MODE_SMA , 0 );
double MA_1 = iMAOnArray(Accumulation2MA, 0 ,MA_Period, 0 , MODE_SMA , 1 );
double Accumulation2MA_0= iCustom ( NULL , 0 , "Accumulation2MA_v03" ,SMA,FMA, 0 , 0 );
double Accumulation2MA_1= iCustom ( NULL , 0 , "Accumulation2MA_v03" ,SMA,FMA, 0 , 1 );
 
Rita :

Tünaydın.

Expert Advisor, MA göstergesinin iMAOnArray modunda asılı olduğu özel bir Accumulation2MA göstergesi kullanır.

Giriş/çıkış sinyalleri - hat geçişi!

Sorunun ne olduğunu anlamıyorum. Ama "küstahça" açma/gömme sinyallerinin yarısı görmezden geliyor! Sebep yok!

Aynı şey kapanış için de geçerlidir:

Böylece işlemlerin neredeyse yarısı atlanmış oluyor. Söyle bana, sorun ne?

Koşullar en basitidir! Çizgiler açıkça aşıldı! Ancak pozisyonlar her zaman açık/kapalı değildir! Gazete sessiz.

Oklarla gösterdiler.

Muhtemelen bu, keneleri atlarken olabilir. Onlar. Start() çalışırken, (koşulların karşılanacağı) yeni bir onay işareti gelir, ancak Start() işlevi çalışırken yok sayılır.

Bir sonraki onay işaretinde, koşullar artık karşılanmıyor - geçtik.

Gösterge çizgilerinin kesişimini vapche - sinyal çok uygunsuz, uzun zamandır kullanmadım. Bir göstergeyi diğerinden çıkarmak ve sıfır geçişi izlemek daha iyidir. Bu bir zevk meselesi.

 
Rita :

Tünaydın.

Expert Advisor, MA göstergesinin iMAOnArray modunda asılı olduğu özel bir Accumulation2MA göstergesi kullanır.

Giriş/çıkış sinyalleri - hat geçişi!

Sorunun ne olduğunu anlamıyorum. Ama "küstahça" açma/gömme sinyallerinin yarısı görmezden geliyor! Sebep yok!

Aynı şey kapanış için de geçerlidir:

Böylece işlemlerin neredeyse yarısı atlanmış oluyor. Söyle bana, sorun ne?

Koşullar en basitidir! Çizgiler açıkça aşıldı! Ancak pozisyonlar her zaman açık/kapalı değildir! Gazete sessiz.

Göstergedeki ikinci satırı hesaplamak daha kolay olabilir. O zaman problemler gitmiş olmalı

 
MetaDriver :

Muhtemelen bu, keneleri atlarken olabilir. Onlar. Start() çalışırken, (koşulların karşılanacağı) yeni bir onay işareti gelir, ancak Start() işlevi çalışırken yok sayılır.

Bir sonraki onay işaretinde, koşullar artık karşılanmıyor - geçtik.

Gösterge çizgilerinin kesişimini vapche - sinyal çok uygunsuz, uzun zamandır kullanmadım. Bir göstergeyi diğerinden çıkarmak ve sıfır geçişi izlemek daha iyidir. Bu bir zevk meselesi.

Sıfır geçişleri çıkarmak ve takip etmek pratik olarak aynı şey değil mi?

 //если линии пересеклись, то закрываем: 
      if ( Accumulation2MA_1<=MA_1  &&    Accumulation2MA_0>MA_0 )   {

İlk bakışta, burada - "alnında ne var, alnında ne var"!

Neden "sıfır geçiş" in daha iyi sonuç vereceğini düşünüyorsunuz?

 
VINAR :

Göstergedeki ikinci satırı hesaplamak daha kolay olabilir. O zaman problemler gitmiş olmalı

"Göstergedeki ikinci satırı hesaplamanın" ne anlama geldiğini tam olarak anlamadım? Açıkla lütfen?

=============================

Şimdi Expert Advisor'ı tekrar test ediyorum (bu arada açılış fiyatlarında işe yarıyor) ve şu anda mükemmel çalıştığını görmek beni şaşırttı! Kayıp sinyaller neredeyse gitti!

Ve dün aynı MT4'teki sinyallerin yarısını kaçırdım! Bazı mucizeler...

 
Rita :

Sıfır geçişleri çıkarmak ve takip etmek pratik olarak aynı şey değil mi?

İlk bakışta, burada - "alnında ne var, alnında ne var"!

Neden "sıfır geçiş" in daha iyi sonuç vereceğini düşünüyorsunuz?

Teorik olarak, umursama. Pratikte:

1) Gösterge tarafından önerilen piyasa pozisyonu ile emirlerde verilen gerçek pozisyon arasındaki farkı çok kolay takip etmek mümkün hale gelir. Yani, son gösterge "pozitif/negatif"=="kalk/kalk" olarak yorumlanabilecek hazır bir eğri gösterir. Döner sistemler için çok uygundur.

2) Sinyali uygun bir şekilde iyileştirmek mümkün hale gelir (katsayılarla çarpma, diğer kriter çizgileriyle kesişmeler vb.).

Yani dediğim gibi zevk meselesi. :)

Neden: