"Çok Sayıda Enstrüman Üzerinde Alım Satım Yapan bir Expert Advisor Oluşturma" makalesi için tartışma - sayfa 2

 
gisip:
Zamanlayıcı olmadan MQL4'te her şey iyi çalışıyor.
İfadeniz tam olarak kabul edilebilir değil, çoklu para birimi testinden bahsediyoruz. MT4'te zamanlayıcı yoktur, ancak çoklu para birimi test cihazı da yoktur. MT4 üzerinde çalışırken, Uzman Danışman her durumda üzerinde çalıştığı enstrümanın teklif akışının yoğunluğuna bağlıdır. Böyle bir durumu hayal edin: Diyelim ki EURUSD üzerinde çok para birimli bir Uzman Danışmanınız var ve bir miktar zaman içinde bu çiftte hiç tik yoksa, diğer enstrümanlara yeni tiklerin gelişini nasıl takip edeceksiniz?
 
Interesting:

Peki, MQL4'te yok, ayrıca yapılar ve sınıflar da orada yok, onları burada terk etmeyi mi öneriyorsunuz?


IMHO

Standart kütüphaneyi kullanmak ya da kullanmamak herkesin zevkine kalmış bir şey (en kötü ihtimalle sadece kendi kodunuzu kullanabilirsiniz) ama sırf MT4'te yok diye tüm avantajlardan vazgeçmek pek makul değil.....

Ben bunun hakkında hiç yazmadım.

MQL5'in hatalı olduğunu ve belirli enstrüman kombinasyonlarında hatalı veriler ürettiğini yazdım.

Örneğin: EURUSD grafiğinin üzerine EURJPY veya EURGBP yerleştirilirse, her şey yolunda.

Ancak EURCAD'i üst üste bindirirseniz, grafikteki veriler hatalı olurken, MQL4'te böyle bir hata yoktu.

 
gisip:

Ben bu konuda hiç yazmadım.

MQL5'in belirli enstrüman kombinasyonlarında hata verdiğini ve hatalı veriler ürettiğini yazdım.

Örneğin: EURUSD grafiğinin üzerine EURJPY veya EURGBP yerleştirilirse, her şey normaldir.

Ancak EURCAD'i üst üste bindirirseniz, grafikteki veriler bir hata ile, MQL4'te durum böyle değildi, hata yok.

Bunu anladım, ancak Kos haklı (özellikle 2010.07.02 14:57'den güzel gönderi). Tüm geliştiricilerin (MQ dahil ) zamanlayıcıyı neden ısrarla görmezden geldiğini anlayamıyorum. Çoklu para birimi tüccarlarının resmi bir örneği olmadığını hesaba katarsak, bu konuda MQ ile her şey açıktır, ancak diğerlerinin neden OnTimer () 'ı ısrarla görmezden geldiği benim için kişisel olarak BÜYÜK bir gizem olmaya devam ediyor....
 
gisip:

Ben bu konuda hiç yazmadım.

MQL5'in belirli enstrüman kombinasyonlarında hata verdiğini ve hatalı veriler ürettiğini yazdım.

Örneğin: EURUSD grafiğinin üzerine EURJPY veya EURGBP yerleştirilirse, her şey normaldir.

Ancak EURCAD'i üst üste bindirirseniz, grafikteki veriler bir hata ile, MQL4'te durum böyle değildi, hata yok.

Lütfen hata içeren bir örnek verin.
 
Renat:
Lütfen bana hatalı bir örnek verin.
Her şeyi buraya yazmayacağım, yeterince açık görünüyor.
//--------- MQL4 ile seçenek ---------
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua

extern string InstrumentName = "EURCAD";
double Buffer[];
SetIndexBuffer(0,Buffer); // Diziyi tampona ata
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Çizgi stili

while(i >= 0){//-- Sağdan sola doğru hareket (yani en yüksekten hala oluşmakta olan 0 barına doğru) --
Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- next Bar
}//next (while)



//----------- Şimdi MQL5'te neredeyse aynı varyant --------
#property indicator_separate_window // Indic. ayrı bir pencerede çizilir
#property indicator_buffers 1

#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua

input string InstrumentName = "EURCAD";
double Buffer[];
int handle1;

copied=CopyClose(InstrumentName,0,0,CountBars,Buffer);

//--Şimdi EURUSD üzerine atıyoruz.

//--Göstergeyi hangi enstrümana yerleştirdiğimiz önemli değil, grafik değişmemelidir.
 
Lütfen kodu doğru şekilde yapıştırın, anlaşılmasını kolaylaştırır.
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 
Rosh:
Lütfen kodu doğru bir şekilde ekleyin, anlaşılmasını kolaylaştırır.

//--------- MQL4 ile seçenek ---------
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua

extern string InstrumentName = "EURCAD";
double Buffer[];
int init()
{
SetIndexBuffer(0,Buffer); // Diziyi tampona ata
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Çizgi stili
}
int start()
{
while(i >= 0){
Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- next Bar
}//next (while)
}


//----------- Şimdi MQL5'te neredeyse aynı varyant --------
#property indicator_separate_window // Indic. ayrı bir pencerede çizilir
#property indicator_buffers 1

#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua

input string InstrumentName = "EURCAD";
double Buffer[];
int OnInit()
{
IndicatorSetString(INDICATOR_SHORTNAME,InstrumentName);
SetIndexBuffer(0,Buffer,INDICATOR_DATA);
}

int OnCalculate(....)
{
copied=CopyClose(InstrumentName,0,0,0,CountBars,Buffer);
}
//--Şimdi EURUSD üzerine atıyoruz.

//--İndikatörü hangi enstrüman üzerine yerleştirdiğimiz önemli değil, grafik değişmemeli.
 
Gisip, "SRC" düğmesini kullanarak kod eklemeyi kullanmalısınız...
 

Lütfen tekrarlanabilir bir örnek yapın. Yani, derleyebileceğiniz, bir grafiğe atabileceğiniz ve sonuç alabileceğiniz hazır bir koda ihtiyacınız var.

Bu olmadan, çok az insan neden bahsettiğimizi anlayacaktır.
 

Bilinçten yoksun olanlara yardım edeceğim.

//----------- Şimdi MQL5'te neredeyse aynı varyant --------
#property  indicator_separate_window    // Gösterge ayrı bir pencerede çizilir
#property indicator_buffers 1

#property indicator_plots   1
#property indicator_type1   DRAW_LINE
#property indicator_color1  Aqua

input string InstrumentName = "EURCAD";
double Buffer[]; 
int OnInit() 
{
   IndicatorSetString(INDICATOR_SHORTNAME,InstrumentName);
   SetIndexBuffer(0,Buffer,INDICATOR_DATA);
return(0);
}

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
{
int copied;
int CountBars=rates_total;
  copied=CopyClose(InstrumentName,0,0,CountBars,Buffer);
  return(copied);
}
//--Şimdi EURUSD'ye atın.

//--Göstergeyi hangi enstrümana yerleştirdiğimiz önemli değildir, grafik değişmemelidir.

İdeal olarak olmaması gerekir, ancak algoritmalarla gıcırdatıyorum, sadece 1 TF'de göründü, diğerlerinde kategorik olarak boşluk gösterdi .....

bir saatlik testten sonra bile.....

ve geçmişi yükleme girişimleri