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

 

Önceki yoruma ek olarak - şunu belirtirsem:

EventSetTimer(3600); // 3600 saniye = 60 dakika

bu, terminal değişken değerinin bir sonraki kontrolünün 60 dakika içinde gerçekleşeceği anlamına gelir.
Ancak görselleştirmeli Test Cihazında 60 dakika birkaç saniye içinde çalışacak ve Gösterge değerleri 60 dakika sonra kontrol edecektir.
Yoksa Test Cihazındaki Uzman Danışman ve ayrı bir penceredeki Gösterge bir şekilde zaman içinde 'senkronize' mi edilmelidir? - yani, Uzman Danışman birkaç saniye içinde terminal değişkenine bir değer gönderirse, Gösterge de birkaç saniye içinde terminal değişkeninin değerini kontrol etmek için çağrıda bulunacaktır?
Böyle bir şeyle karşılaşan var mı, nasıl çözüldü?

 
grezky EventSetTimer(3600); // 3600 saniye = 60 dakika

bu, terminal değişken değerinin bir sonraki kontrolünün 60 dakika içinde gerçekleşeceği anlamına gelir.
Ancak görselleştirmeli Test Cihazında 60 dakika birkaç saniye içinde çalışacak ve Gösterge değerleri 60 dakika sonra kontrol edecektir.
Yoksa Test Cihazındaki Uzman Danışman ve ayrı bir penceredeki Gösterge bir şekilde zaman içinde 'senkronize' mi edilmelidir? - yani, Uzman Danışman birkaç saniye içinde terminal değişkenine bir değer gönderirse, Gösterge de birkaç saniye içinde terminal değişkeninin değerini kontrol etmek için çağrıda bulunacaktır?
Böyle bir şeyle karşılaşan var mı, nasıl çözüldü?

Test cihazı dakikası test cihazında modellenmiştir. Sizi kontrol etmekten alıkoyan nedir? Çok basit.

 
Artyom Trishkin #:

Test cihazı dakikası test cihazında modellenir. Sizi test etmekten alıkoyan nedir? Çok kolay.

Gösterge ayrı bir pencerede çalıştırılacak, test cihazının çalışmasına göre terminal değişkeninin değerini 3600 saniye sonra değil, birkaç saniye sonra kontrol etmenin gerekli olduğunu nasıl bilecek?
 
grezky #:
Gösterge ayrı bir pencerede çalıştırılacak, terminal değişkeninin değerini 3600 saniye sonra değil, test cihazının çalışmasına göre birkaç saniye sonra kontrol etmeyi nasıl bilecek?

Net olmayan soru.

 
Artyom Trishkin #:

Net bir soru değil.

Bunu 1-2 sayfa önce anlatmıştım.
Görselleştirme modundaki test cihazında, manuel olarak işlem yaparak M5'teki fiyat hareketinde Uzman Danışman ticaret simülatörünü (zaten yapılmış) çalıştıracaktır.
Analiz için H1 grafiğine de ihtiyacımız var - ayrı bir pencerede açılacak ve H1 ile pencerede test cihazının mevcut M5 çubuğunun sağında geleceğe bakamamak için gösterge siyah bir dikdörtgen çizecektir. M5'in son (yani test cihazında sıfır) çubuğunun açılış zamanı, terminal değişkeni aracılığıyla göstergeye iletilecektir (çubuklar bu sürenin sağındaki bir dikdörtgenle gizlenecektir).

Test cihazından saatte bir yeni bir H1 çubuğu açılış zamanı değeri gönderirsem, aslında test cihazında 1-2-3 saniye sürecektir, ancak gösterge her 3600 saniyede bir terminal değişkeninin değerini kontrol edecektir.
Sanırım - muhtemelen 3600 saniye sonra değil, 2-3 saniye sonra göstergede bir kontrol yapacağım.

PS Metatrader'ın İnternet bağlantısı kesildi, tikler göstergeye gelmiyor.

- - -

Test için bir gösterge yazdım, ancak bir hata alıyorum (init, deinit, start kullandım ve OnCalculate () vb. ile karşılaşmadım), hata nedir?
.

OnCalculate function declared with wrong type or/and parameters CHECK___TESTER_TermVariable.mq4 33      5
OnCalculate function not found in custom indicator              1       1
1 errors, 1 warnings            2       2


#property indicator_chart_window

datetime   MTF_Time_0            = 0;




void OnInit() {
//   EventSetTimer(3600);   // 3600 секунд = 60 минут
   EventSetTimer(3);        // 3 секунды - периодичность запуска функции OnTimer()
   return;
}



void OnDeinit(const int reason) {
   EventKillTimer();
}




void OnTimer() {
   if(GlobalVariableGet("_AA__MTF_Time_0")>MTF_Time_0 ) {
      MTF_Time_0                 = GlobalVariableGet("_AA__MTF_Time_0");
      GlobalVariableSet("_AA__MTF_Time_0", 0);
   } // if(GlobalVariableGet("_AA___Time_Control_Check")>=Time[0] ) {
} // void OnTimer() {




int OnCalculate(int Time_tmp) {
   if(MTF_Time_0>0) {
      ObjectDelete(       "VLINE_Name_1");
      FUNCTION_DRAW_VLINE("VLINE_Name_1", clrPink, 1, MTF_Time_0, true, TimeToStr(MTF_Time_0, TIME_DATE|TIME_MINUTES), 0);
   }
   Time_tmp                      = MTF_Time_0;

   return(Time_tmp);
} // void OnCalculate() {


 
grezky #:
Bunu 1-2 sayfa önce anlatmıştım.
Görselleştirme modundaki test cihazında, manuel olarak işlem yaparak M5'teki fiyat hareketinde Uzman Danışman ticaret simülatörünü (zaten yapılmış) çalıştıracaktır.
Analiz için H1 grafiğine de ihtiyacımız var - ayrı bir pencerede açılacak ve H1 ile pencerede test cihazının mevcut M5 çubuğunun sağında geleceğe bakamamak için gösterge siyah bir dikdörtgen çizecektir. M5'in son (yani test cihazında sıfır) çubuğunun açılış zamanı, terminal değişkeni aracılığıyla göstergeye iletilecektir (çubuklar bu sürenin sağındaki bir dikdörtgenle gizlenecektir).

Test cihazından saatte bir yeni bir H1 çubuğu açılış zamanı değeri gönderirsem, aslında test cihazında 1-2-3 saniye sürecektir, ancak gösterge her 3600 saniyede bir terminal değişkeninin değerini kontrol edecektir.
Sanırım - muhtemelen 3600 saniye sonra değil, 2-3 saniye sonra göstergede bir kontrol yapacağım.

PS Metatrader'ın İnternet bağlantısı kesildi, tikler göstergeye gelmiyor.

- - -

Test için bir gösterge yazdım, ancak bir hata alıyorum (init, deinit, start kullandım ve OnCalculate () vb. ile karşılaşmadım), hata nedir?
.





Yine, tüm bu siyah kareler ve farklı grafiklerin neden bu kadar karmaşık olduğunu anlamıyorum, ancak tekrar edeceğim: test cihazındaki zaman taklit edilmiştir. Bir saatlik test süresi, bir saatlik gerçek süreye eşit değildir. Bir saatlik öykünülmüş test cihazı süresine eşittir.

Yeni bir saat çubuğu açarken Uzman Danışmanın grafiği siyah bir perdeyle örtmesini (nedense) engelleyen kişi net değil....

 
Artyom Trishkin #:
EA'nın yeni bir saatlik çubuk açarken grafiği siyah bir perdeyle kapatmasını (bazı nedenlerden dolayı) kim engelliyor açık değil....

M5 grafiği test cihazında açık, ancak piyasa durumunu analiz etmek için H1'e (en azından) ihtiyacım var.
(işlemler test cihazında M5'te açılır, ancak manuel olarak, H1'deki analiz de 'manuel' olarak yapılır).
H1, test cihazında değil başka bir pencerede açılacak, sağ tarafı kapatan gösterge orada çalışacaktır.
Gösterge test cihazından zaman alacak, ancak it=indicator gerçek zamana göre kontrol edecek, yani gerçek saat üzerinden, test cihazı üzerinden değil.

Lütfen önceki mesajda verilen kodda hatanın nerede olduğunu kontrol edin.
Belki 3 saniye sonra kontrol etmekten memnun olacağım ve sorun çözülecek.
MT4 için PS Kodu.

 
grezky #:

M5 grafiği test cihazında açık, ancak piyasa durumunu analiz etmek için H1'e (en azından) ihtiyacım var.
(işlemler test cihazında M5'te açılır, ancak manuel olarak, H1'deki analiz de 'manuel' olarak yapılır).
H1, test cihazında değil başka bir pencerede açılacak, orada sağ kısmı kapatan bir gösterge çalışacaktır.
Gösterge test cihazından zaman alacak, ancak gösterge gerçek zamana göre kontrol edecek, yani gerçek saat üzerinden, test cihazı üzerinden değil.

Lütfen önceki mesajda verilen kodda hatanın nerede olduğunu kontrol edin.
Belki 3 saniye sonra kontrol etmekten memnun olacağım ve sonra sorun çözülecek.
MT4 için PS Kodu.

MT4 ile ilgili sorularınız için lütfen ilgili konuya yazın. Burada - MQL5 ve MetaTrader 5 terminali hakkında sorular.

 
Artyom Trishkin #:

Yine siyah kareler ve farklı grafiklerle ilgili tüm bu şeylerin amacının ne olduğu açık değil, ancak bir kez daha tekrar ediyorum: test cihazındaki zaman taklit edilmiştir. Bir saatlik test süresi, bir saatlik gerçek süreye eşit değildir. Bir saatlik öykünülmüş test cihazı süresine eşittir.

Uzman Danışmanın yeni bir saat çubuğu açarken grafiği siyah bir perdeyle kapatmasını (bazı nedenlerden dolayı) kim engelliyor....

Zaman emülasyonu genellikle herkes için açık değildir.)))))

Daha ayrıntılı olmak her zaman daha iyidir, bu sadece test edenin bir saatteki tüm olayları bir saniye veya daha hızlı bir şekilde gözden geçireceği anlamına gelir.)))))

 

İyi günler.

Alınan optimizasyon parametrelerinin farklı bir zaman dilimi için nasıl yeniden çalıştırılacağını bana söyleyebilir misiniz?

Excel'de kaydedilen bir döviz çifti parametreleri üzerinde son yarım yıl için optimize edildi. Geçen yıl için dönemi aldım ve parametreleri çalıştırmak istiyorum. Bunları test ediciye veya optimize ediciye nasıl geri koyabilirim.
Neyin geçeceğini, neyin geçmeyeceğini kontrol edin, Excel'e yazın. Belki o zaman örneğin son 2 yıl için de çalıştırabilirim.