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?
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.
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....
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;
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код 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
Zamanlayıcı olmadan MQL4'te her şey iyi çalışıyor.
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.
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.
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 bana hatalı bir örnek verin.
//--------- 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 bir şekilde ekleyin, anlaşılmasını kolaylaştırır.
#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.
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.
İ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