Uzmanlar: MQL5 Sihirbazı - Fiyatın Moving Average Göstergesini Çaprazlamasına Dayalı Ticaret Sinyalleri - sayfa 2

 

Merhaba Carl Schreiber, hızlı yanıtınız için çok teşekkür ederim. Sorum buradaki bu makale ile ilgili https://www.mql5.com/tr/code/248. Sihirbazı kullanarak bu sinyalle bir Uzman Danışmanın nasıl oluşturulacağı açıklanmaktadır. Bu noktaya ulaşamıyorum. Önce göstergenin doğru dizinde olduğundan emin oldum. Daha sonra Meta Düzenleyicide Dosya Yeni -> Uzman Danışman Oluştur -> Ad Ata -> Sinyal Modülü Parametreleri'ne tıklarsam, açıklanan makaleye göre MA ile fiyat geçişine dayalı sinyaller orada görünmelidir. Ne yazık ki, seçim görünmüyor. Sürüm 5.0 Build 3211'e sahibim

MQL5 Wizard - Handelsignale auf der Basis der Kreuzung des Preises mit dem MA-Indikator
MQL5 Wizard - Handelsignale auf der Basis der Kreuzung des Preises mit dem MA-Indikator
  • www.mql5.com
Handelsignale auf der Basis der Kreuzung des Preises mit dem MA-Indikator "Signals based on price crossover with MA" (Klasse CSignalMA in der Standardbibliothek).
Dosyalar:
MAXWizard.jpg  65 kb
 

Ne yazık ki, yapınız herhangi bir şeyi tanımam için çok küçük.

İMA göstergesi entegre edilmiştir, belirli bir dizinde olması gerekmez.

Hareketli ortalama ile bu makaleye göre bir EA (Uzman Danışman ile oluştur) oluştururken sorun yaşamıyorum: https://www.metatrader5.com/de/metaeditor/help/mql5_wizard/wizard_ea_generate

Hareketli ortalamayı ekledikten sonra devam edin ...

Sonra bu EA oluşturulur:

//+------------------------------------------------------------------+
//|test_Wizard.mq5 |
//|Calli |
//| https://www.mql5.com/tr/users/gooly |
//+------------------------------------------------------------------+
#property copyright "Calli"
#property link      "https://www.mql5.com/tr/users/gooly"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Dahil et|
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- mevcut sinyaller
#include <Expert\Signal\SignalMA.mqh>
//--- kullanılabilir son
#include <Expert\Trailing\TrailingNone.mqh>
//--- mevcut para yönetimi
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Girişler|
//+------------------------------------------------------------------+
//--- Uzman için girdiler
input string             Expert_Title         ="test_Wizard"; // Belge adı
ulong                    Expert_MagicNumber   =18344;         //
bool                     Expert_EveryTick     =false;         //
//--- ana sinyal için girişler
input int                Signal_ThresholdOpen =10;            // Açılacak sinyal eşik değeri [0...100]
input int                Signal_ThresholdClose=10;            // Kapatılacak sinyal eşik değeri [0...100]
input double             Signal_PriceLevel    =0.0;           // Bir anlaşmayı gerçekleştirmek için fiyat seviyesi
input double             Signal_StopLevel     =50.0;          // Zarar durdurma seviyesi (puan olarak)
input double             Signal_TakeLevel     =50.0;          // Kar Al seviyesi (puan olarak)
input int                Signal_Expiration    =4;             // Bekleyen emirlerin sona ermesi (çubuk cinsinden)
input int                Signal_MA_PeriodMA   =12;            // Hareketli Ortalama(12,0,...) Ortalama alma periyodu
input int                Signal_MA_Shift      =0;             // Hareketli Ortalama(12,0,...) Zaman kayması
input ENUM_MA_METHOD     Signal_MA_Method     =MODE_SMA;      // Hareketli Ortalama(12,0,...) Ortalama alma yöntemi
input ENUM_APPLIED_PRICE Signal_MA_Applied    =PRICE_CLOSE;   // Hareketli Ortalama(12,0,...) Fiyatlar serisi
input double             Signal_MA_Weight     =1.0;           // Hareketli Ortalama(12,0,...) Ağırlık [0...1.0]
//--- para için girdiler
input double             Money_FixLot_Percent =10.0;          // Yüzde
input double             Money_FixLot_Lots    =0.1;           // Sabit hacim
//+------------------------------------------------------------------+
//| Küresel uzman nesnesi|
//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+
//| Uzmanın başlatma fonksiyonu |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Uzman başlatılıyor
   if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- başarısız
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Sinyal oluşturuluyor
   CExpertSignal *signal=new CExpertSignal;
   if(signal==NULL)
     {
      //--- başarısız
      printf(__FUNCTION__+": error creating signal");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//---
   ExtExpert.InitSignal(signal);
   signal.ThresholdOpen(Signal_ThresholdOpen);
   signal.ThresholdClose(Signal_ThresholdClose);
   signal.PriceLevel(Signal_PriceLevel);
   signal.StopLevel(Signal_StopLevel);
   signal.TakeLevel(Signal_TakeLevel);
   signal.Expiration(Signal_Expiration);
//--- CSignalMA filtresi oluşturuluyor
   CSignalMA *filter0=new CSignalMA;
   if(filter0==NULL)
     {
      //--- başarısız
      printf(__FUNCTION__+": error creating filter0");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter0);
//--- Filtre parametrelerini ayarlayın
   filter0.PeriodMA(Signal_MA_PeriodMA);
   filter0.Shift(Signal_MA_Shift);
   filter0.Method(Signal_MA_Method);
   filter0.Applied(Signal_MA_Applied);
   filter0.Weight(Signal_MA_Weight);
//--- Sondaki nesnenin oluşturulması
   CTrailingNone *trailing=new CTrailingNone;
   if(trailing==NULL)
     {
      //--- başarısız
      printf(__FUNCTION__+": error creating trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Uzmana son ekleme (otomatik olarak silinecektir))
   if(!ExtExpert.InitTrailing(trailing))
     {
      //--- başarısız
      printf(__FUNCTION__+": error initializing trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Sondaki parametreleri ayarlayın
//--- Para nesnesinin oluşturulması
   CMoneyFixedLot *money=new CMoneyFixedLot;
   if(money==NULL)
     {
      //--- başarısız
      printf(__FUNCTION__+": error creating money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Uzmana para ekleyin (otomatik olarak silinecektir))
   if(!ExtExpert.InitMoney(money))
     {
      //--- başarısız
      printf(__FUNCTION__+": error initializing money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Para parametrelerini ayarlayın
   money.Percent(Money_FixLot_Percent);
   money.Lots(Money_FixLot_Lots);
//--- Tüm ticaret nesneleri parametrelerini kontrol edin
   if(!ExtExpert.ValidationSettings())
     {
      //--- başarısız
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Gerekli tüm göstergelerin ayarlanması
   if(!ExtExpert.InitIndicators())
     {
      //--- başarısız
      printf(__FUNCTION__+": error initializing indicators");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- tamam
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Uzmanın başlangıçtan çıkarma işlevi |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ExtExpert.Deinit();
  }
//+------------------------------------------------------------------+
//| "Tik" olay işleyici işlevi|
//+------------------------------------------------------------------+
void OnTick()
  {
   ExtExpert.OnTick();
  }
//+------------------------------------------------------------------+
//| "Ticaret" olay işleyici işlevi|
//+------------------------------------------------------------------+
void OnTrade()
  {
   ExtExpert.OnTrade();
  }
//+------------------------------------------------------------------+
//| "Zamanlayıcı" olay işleyici işlevi|
//+------------------------------------------------------------------+
void OnTimer()
  {
   ExtExpert.OnTimer();
  }
//+------------------------------------------------------------------+

Kod sorunsuz bir şekilde derleniyor, ancak kar üretip üretmediğini veya kodun optimize edilip edilemeyeceğini bilmiyorum.

Erstellen eines fertigen Expert Advisors - MQL4/MQL5 Assistent - MetaEditor Hilfe
Erstellen eines fertigen Expert Advisors - MQL4/MQL5 Assistent - MetaEditor Hilfe
  • www.metatrader5.com
Der MQL4/MQL5 Assistent erlaubt das Erstellen eines voll funktionsfähigen EAs auf Basis der Standardbibliothek aus der Handelsplattform...
[Silindi]  
gerçekten iyi kod