Bir danışmanı rastgele nasıl bir araya getiririm? - sayfa 45

 
Haydi
 

Göstergeleri test etmek için basit Uzman Danışman

göstergenin adını girin

 input string short_name       = "LeM 2 Macd" ; // name indicator

pozisyonları yanlış yönde açarsa, tersini değiştiririz

 input bool    Revers           = false ;         // Revers

tüm göstergeler çalışmıyor - normalde alarmlar çalışır

tüm uzman ayarları

 //---
input double InpLots          = 0.01 ;         // Lots
input int     InpTrailingStop  = 0 ;             // Trailing Stop Level (in pips)
input bool    Revers           = false ;         // Revers
input string short_name       = "LeM 2 Macd" ; // name indicator
//---

Snapshot.PNG

Dosyalar:
 
Alexsandr San :

Göstergeleri test etmek için basit Uzman Danışman

göstergenin adını girin

pozisyonları yanlış yönde açarsa, tersini değiştiririz

tüm göstergeler çalışmıyor - normalde alarmlar çalışır

tüm uzman ayarları

gösterge başka bir klasördeyse

şöyle yaz - Örnekler\\ZigzagColor

Örnekler

zikzaklı

 

Göstergeden bir şeyler bulmaya çalışıyorum ( Heiken_Ashi.mq5 )

- ortaya çıktığında, Müzikal (gri maviden daha yüksek olduğunda, bir ses, daha düşük olduğunda, başka bir ses)

EURSGDM1

Dosyalar:
03.mq5  12 kb
 
Alexsandr San :

Göstergeden bir şeyler bulmaya çalışıyorum ( Heiken_Ashi.mq5 )

- ortaya çıktığında, Müzikal (gri maviden daha yüksek olduğunda, bir ses, daha düşük olduğunda, başka bir ses)


Nasıl olduğunu bilmiyorum, buna bağlı değilim, bir hattın diğer bir hattı geçmesini, bir sinyali tetikleyip susmasını nasıl sağlarım?

öyle yaptı, ancak sinyal her çubukta tetikleniyor

 //--- we work only at the time of the birth of new bar
   datetime time_0= iTime ( Symbol (), Period (), 0 );
   if (time_0==m_prev_bars)
       return (rates_total);
   m_prev_bars=time_0;
//---
   int find_buy_level= ObjectFind ( 0 ,InpFont2);
   int find_sell_level= ObjectFind ( 0 ,InpFont1);

   if (find_buy_level== 0 )
     {
       double price= ObjectGetDouble ( 0 ,InpFont2, OBJPROP_PRICE );
       if ( ObjectGetDouble ( 0 ,InpFont1, OBJPROP_PRICE )<price)
        {
         PlaySound ( "tick.wav" );
         //---
         return (rates_total);
        }
     }
   if (find_sell_level== 0 )
     {
       double price= ObjectGetDouble ( 0 ,InpFont2, OBJPROP_PRICE );
       if ( ObjectGetDouble ( 0 ,InpFont1, OBJPROP_PRICE )>price)
        {
         PlaySound ( "stops.wav" );
         //---
         return (rates_total);
        }
     }
//--- done
   return (rates_total);
  }
 
İlginç bir gösterge elde edilir. O nasıl çalışır?
 
Alex potapenko :
İlginç bir gösterge elde edilir. O nasıl çalışır?

Henüz bilmiyorum, programcı değilim - yani, kurcalayarak hattın başka bir çizgiyi geçmesini istiyorum ve sinyal çalışacaktır.

- öyle olmuş gibi görünüyor - ama öyle değil.

 

Heiken_Ashi Göstergesinden gelen sinyal. ---- Heiken2_Ashi Göstergesini aldık

peki, Göstergeyi kontrol edecek bir Uzman

AUDCADH4

Dosyalar:
 
Alexsandr San :

Heiken_Ashi Göstergesinden gelen sinyal. ---- Heiken2_Ashi Göstergesini aldık

peki, Göstergeyi kontrol edecek bir Uzman


Heiken2_Ashi Göstergesinde filtreler ekleyebilirsiniz

 //---- получение хендла индикатора RSI
   RSI_Handle= iRSI ( NULL , 0 , int (ParmMult* 9 ), PRICE_CLOSE );
   if (RSI_Handle== INVALID_HANDLE )
       Print ( " Не удалось получить хендл индикатора iRSI" );
//---- получение хендла индикатора Stochastic
   STO_Handle= iStochastic ( NULL , 0 , int ( 21 *ParmMult), int ( 3 *ParmMult), int ( 2 *ParmMult), MODE_LWMA , STO_LOWHIGH );
   if (STO_Handle== INVALID_HANDLE )
       Print ( " Не удалось получить хендл индикатора iStochastic" );
//---- получение хендла индикатора MACD
   MACD_Handle= iMACD ( NULL , 0 , int ( 10 *ParmMult), int ( 15 *ParmMult), int ( 13 *ParmMult), PRICE_CLOSE );
   if (MACD_Handle== INVALID_HANDLE )
       Print ( " Не удалось получить хендл индикатора iMACD" );
//---- получение хендла индикатора hHeiken_Ashi
   hHeiken_Ashi= iCustom ( NULL , 0 , "Examples\\Heiken_Ashi" );
   if (hHeiken_Ashi== INVALID_HANDLE )
       Print ( " Не удалось получить хендл индикатора hHeiken_Ashi" );

buraya ekleme - bu filtreler

      RsiDn=RSI[bar]<=x2;
      StochDn=STO[bar]<STOS[bar];
      MacdDn=MACD[bar]<MACDS[bar];
      haClDn=haOpen[bar]>haClose[bar];

      RsiUp=RSI[bar]>=x1;
      StochUp=STO[bar]>STOS[bar];
      MacdUp=MACD[bar]>MACDS[bar];
      haOpUp=haOpen[bar]<haClose[bar];

burada

       if (haClDn)
         p = 1 ;
       if (haOpUp)
         p = 2 ;
       if (haClDn && (p== 1 || p== 0 ))
        {
         if (OldTrend> 0 )
            SellBuffer[bar]=high[bar];
         if (bar!= 0 )
            OldTrend=- 1 ;
        }
       if (haOpUp && (p== 2 || p== 0 ))
        {
         if (OldTrend< 0 )
            BuyBuffer[bar]=low[bar];
         if (bar!= 0 )
            OldTrend=+ 1 ;
        }
     }

bunun gibi

       if (StochDn && RsiDn && MacdDn && haClDn)
         p = 1 ;
       if (StochUp && RsiUp && MacdUp && haOpUp)
         p = 2 ;
       if (StochDn && RsiDn && MacdDn && haClDn && (p== 1 || p== 0 ))
        {
         if (OldTrend> 0 )
            SellBuffer[bar]=high[bar];
         if (bar!= 0 )
            OldTrend=- 1 ;
        }
       if (StochUp && RsiUp && MacdUp && haOpUp && (p== 2 || p== 0 ))
        {
         if (OldTrend< 0 )
            BuyBuffer[bar]=low[bar];
         if (bar!= 0 )
            OldTrend=+ 1 ;
        }
     }
//----
   return (rates_total);
  }
 

Gösterge, bir pozisyon açmak daha iyi olduğunda içinde bir şey var

İki yatay çizgi arasında noktanın rengi yönünde açabilirsiniz.

enstantane fotoğraf

Dosyalar:
LN_1.mq5  27 kb