Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 240

 
barabashkakvn :

Merhaba.

1. Makalenin sonunda arşiv olmadığı için "Blau_Ergodic" göstergesini kullanamıyorum. Şimdi bir ekleme dosyasına ihtiyacımız var " WilliamBlau.mqh". Lütfen bu dosyayı yükleyin (tercihen profildeki bir mesaj yoluyla).

2. ... MQL5\Indicators\Examples\ klasöründeki tüm göstergeler özel göstergelerdir, yani. kodunu düzenleyebileceğiniz bu tür göstergeler.

Gönderilmiş.
 
forexman77 :

Özel bir göstergeye dayalı bir ticaret sinyali üreteci oluşturmaya çalışıyorum.

Aşağıdaki sorular ortaya çıktı:

1. CiCustom'dan sonraki satırda, örneğin "m_ind;" olarak atanan herhangi bir adı belirtebilirsiniz.

2. Bu satır doğru mu?

Doğru anladıysam burada göstergenin kendisinin değerini alıyorum?

3. Programın gösterge değerini nasıl aldığını anlayamıyorum. Yani, MQL4'e benzerse, göstergenin adını belirtmeniz gerekir ve program onu adıyla bulacaktır. O zaman sınıfta adını nereye girmek gerekiyor?

Aşağıda tasarladığım kod var) Daha ileri gitmiyorum çünkü işime deneyimli bir bakış gerekli.

Genel olarak, her şey doğru. İşte sadece kod:

   double              Custom( int index)                   { return (m_ind.ParamDouble(index));}
   double              Open( int index)                     { return (m_open.GetData(index));  }
   double              Close( int index)                    { return (m_close.GetData(index)); }

bir soruyu gündeme getiriyor. ParamDouble - gösterge oluşturulurken kullanılan belirtilen kayan nokta parametresinin değerini alır. Belki hala gösterge arabelleğinin değerine erişmeniz gerekir:

    double              Custom( int index)                   { return (m_open.GetData(index));  }
   double              Open( int index)                     { return (m_open.GetData(index));  }
   double              Close( int index)                    { return (m_close.GetData(index)); }

?

 
barabashkakvn :

Genel olarak, her şey doğru. İşte sadece kod:

bir soruyu gündeme getiriyor. ParamDouble - gösterge oluşturulurken kullanılan belirtilen kayan nokta parametresinin değerini alır. Belki hala gösterge arabelleğinin değerine erişmeniz gerekir:

?

Yardıma baktıktan sonra bana "ParamDouble" gerekliymiş gibi geldi. Genel olarak, elbette, değeri tampondan almanız gerekir.

Arabelleklerle ilgili " CiCustom " sınıfında yalnızca " NumBuffers " buldum

 
forexman77 :
Yardıma baktıktan sonra bana "ParamDouble" gerekliymiş gibi geldi. Genel olarak, elbette, değeri tampondan almanız gerekir.
Pekala, yapabileceğini görüyorum.
 
barabashkakvn :
Pekala, yapabileceğini görüyorum.
Eğer doğru anlıyorsam
 double              Custom( int index)                   { return (m_ind.ParamDouble(index));}

bu satır göstergenin değerini soruyor?

Standart göstergelerde arabellek değerleri veri erişimi yoluyla elde edilirken, özel bir göstergede veri erişimi ile ilgili hiçbir şey yoktur.

Teknik göstergeler ve zaman serilerinin temel ve yardımcı sınıfları grubunda işlevler vardır, ancak bunlar nasıl eklenir? Yoksa ihtiyacın olan bu değil mi?

 
forexman77 :
Eğer doğru anlıyorsam

bu satır göstergenin değerini soruyor?

Standart göstergelerde arabellek değerleri veri erişimi yoluyla elde edilirken, özel bir göstergede veri erişimi ile ilgili hiçbir şey yoktur.

Teknik göstergeler ve zaman serilerinin temel ve yardımcı sınıfları grubunda işlevler vardır, ancak bunlar nasıl eklenir? Yoksa ihtiyacın olan bu değil mi?

1. Evet parametre değeri - örneğin, göstergenin hesaplanacağı giriş parametresi.

2. Karıştırmayın - kodu değiştirebileceğiniz gösterge özel bir göstergedir. Standart kitaplıkta gelen gösterge ile aynı ada sahip olsun. Özel göstergelere bir örnek, ... MQL5\Göstergeler\Örnekler\ ve kodu değiştirebileceğiniz diğer göstergelerdir. Gösterge arabelleği, içeriğini (verilerini) grafik üzerinde çizer. Gösterge arabelleğindeki verileri değiştirmeniz yeterlidir ve bunlar grafikte çizilir. Ne tür bir erişim soruyorsunuz?

3. Anlamadım.

 
barabashkakvn :

1. Evet parametre değeri - örneğin, göstergenin hesaplanacağı giriş parametresi.

2. Karıştırmayın - kodu değiştirebileceğiniz gösterge özel bir göstergedir. Standart kitaplıkta gelen gösterge ile aynı ada sahip olsun. Özel göstergelere bir örnek, ... MQL5\Göstergeler\Örnekler\ ve kodu değiştirebileceğiniz diğer göstergelerdir. Gösterge arabelleği, içeriğini (verilerini) grafik üzerinde çizer. Gösterge arabelleğindeki verileri değiştirmeniz yeterlidir ve bunlar grafikte çizilir. Ne tür bir erişim soruyorsunuz?

3. Anlamadım.

İşte "q" göstergesinin hesaplandığı giriş parametresi periyodu

 class CSampleSignal : public CExpertSignal
  {
protected :
   CiCustom           m_ind;               // объект для доступа к значениям ind
   CiOpen             m_open;             // объект для доступа к ценам открытия баров
   CiClose            m_close;           // объект для доступа к ценам закрытия баров
   //--- настраиваемые параметры
   int       q;   // q - период, по которому вычисляется индикатор
   double              m_stop_loss;       // уровень установки ордера "stop loss" относительно цены открытия
   double              m_take_profit;     // уровень установки ордера "take profit" относительно цены открытия
public :
              CSampleSignal();
   //--- методы установки параметров настройки
   void                Q( int value )                 { q= value ;   }
   void                StopLoss( double value )       { m_stop_loss= value ;   }
   void                TakeProfit( double value )     { m_take_profit= value ; }

2. soruya geçelim. Şimdi aşağıdaki kod

 protected :
   //--- метод инициализации объектов
   bool                Initind(CIndicators* indicators);
   bool                InitOpen(CIndicators* indicators);
   bool                InitClose(CIndicators* indicators);
   //--- методы доступа к данным объектов
   double              Custom( int index)                   { return (m_ind.ParamDouble(index));}//знаю, что не правильно
   double              Open( int index)                     { return (m_open.GetData(index));  }
   double              Close( int index)                    { return (m_close.GetData(index)); }
  };

Doğru anladıysam açılış, kapanış fiyatları, gösterge tamponlarından değerler hakkında bilgi almak istediğimizi burada belirtelim mi?

Standart göstergelerle açıktır. Tampondan gelen veriler " Main" üzerinden alınır. Örneğin, aşağıdaki kodda olduğu gibi

 double              MA( int index)                       { return (m_MA.Main(index));       }
 double              Open( int index)                     { return (m_open.GetData(index));  }
 double              Close( int index)                    { return (m_close.GetData(index)); }

3. soruya. Özel bir göstergeden nasıl veri alınır?

Daha iyi bir anlayış için, kısaca, bir ticaret sinyali üreteci oluşturma sürecinde hangi adımlardan geçmeniz gerekiyor?

 
Doğru anladıysam açılış, kapanış fiyatları, gösterge tamponlarından değerler hakkında bilgi almak istediğimizi burada belirtelim mi?

Evet.

Standart göstergelerle açıktır. Tampondan gelen veriler "Ana" üzerinden alınır. Örneğin, aşağıdaki kodda olduğu gibi

Evet. CiMA sınıfının bir Main yöntemi vardır

Özel bir göstergeden nasıl veri alınır?

.GetData(index))
burada indeks, gösterge arabelleğinin indeksidir.
 
barabashkakvn:

Evet.

Evet. CiMA sınıfının bir Main yöntemi vardır

burada indeks, gösterge arabelleğinin indeksidir.
 double              Main( int ind)                       { return (m_ind.GetData( 0 ,ind));   }
Doğru şekilde)?
 


Windows Phone 8'de metatrader ne zaman piyasaya sürülecek?