MT4 geliştiricilerinden ve programcılarından yardıma ihtiyacınız var

 

Merhaba.

MT4 terminalinin yeni yapıları, kullanıcı giriş parametrelerinin değerlerini değiştirdiğinde Expert Advisor'ı sıfırlayıp yeniden başlatmaz. Bu, mevcut EA'ların yeni MT4 yapıları ile temel uyumsuzluğuna yol açar. Ayrıca, tüm tek seferlik hesaplamaların init() bloğuna yerleştirildiği en optimize edilmiş Uzman Danışmanlar uyumsuzluk kapsamına girer.

Çok saçma geliyor: bir veya başka bir giriş parametresinin değerinin değiştirilmesini garanti etmek için, kullanıcı Uzman Danışmanı grafikten çıkarmalı ve tekrar takmalıdır. (.set dosyasından bir düğmeyle parametreleri yüklemeyi denemedim, ancak bunun parametre değerlerini manuel olarak değiştirmeye eşdeğer olduğundan şüpheleniyorum).

MT4 geliştiricilerinden deinit(), init() işlevlerinin çağrısını sağduyuya döndürmelerini rica ediyorum.

Samimi olarak.

PS Uzman Danışmanın giriş parametrelerinin değerlerini kullanıcı tarafından değiştirme anını ve gerçeğini programlı olarak belirleme mekanizmasının farkında olan biri varsa, lütfen buraya yazın.

 
en azından kanıt olarak bir çıktı göster.
 

Sürüm: 4.00 Yapı 670

(4 Tem 2014)

 
Wex :


MT4 terminalinin yeni yapıları, kullanıcı giriş parametrelerinin değerlerini değiştirdiğinde Expert Advisor'ı sıfırlamaz ve yeniden başlatmaz. Bu, mevcut EA'ların yeni MT4 yapıları ile temel uyumsuzluğuna yol açar. Ayrıca, tüm tek seferlik hesaplamaların init() bloğuna yerleştirildiği en optimize edilmiş Uzman Danışmanlar uyumsuzluk kapsamına girer.

ürettim. 670 oluşturun. Basit baskılarla kontrol edin.
 
Wex :

Merhaba.

MT4 terminalinin yeni yapıları, kullanıcı giriş parametrelerinin değerlerini değiştirdiğinde Expert Advisor'ı sıfırlayıp yeniden başlatmaz. Bu, mevcut EA'ların yeni MT4 yapıları ile temel uyumsuzluğuna yol açar. Ayrıca, tüm tek seferlik hesaplamaların init() bloğuna yerleştirildiği en optimize edilmiş Uzman Danışmanlar uyumsuzluk kapsamına girer.

Çok saçma geliyor: bir veya başka bir giriş parametresinin değerinin değiştirilmesini garanti etmek için, kullanıcı Uzman Danışmanı grafikten çıkarmalı ve tekrar takmalıdır. (.set dosyasından bir düğmeyle parametreleri yüklemeyi denemedim, ancak bunun parametre değerlerini manuel olarak değiştirmeye eşdeğer olduğundan şüpheleniyorum).

MT4 geliştiricilerinden deinit(), init() işlevlerinin çağrısını sağduyuya döndürmelerini rica ediyorum.

Samimi olarak.

PS Uzman Danışmanın giriş parametrelerinin değerlerini kullanıcı tarafından değiştirme anını ve gerçeğini programlı olarak belirleme mekanizmasının farkında olan biri varsa, lütfen buraya yazın.

Bunlar piyasa yapıcıların entrikalarıdır: -7 yerleşik danışmanların köpüğünü atmak
 
IvanIvanov :
Bunlar piyasa yapıcıların entrikalarıdır: -7 yerleşik danışmanların köpüğünü atmak
+
 
EA'yı yeniden yazmak bir seçenek değil mi?
 

not. (Forumda dilini boşa harcayan kişiye pek benzemiyor gibiyim.) Danışman ekledi. A1 veya A2 parametresinin değerini anında değiştirmeyi deneyin. Zaman "geçer" ve EA yeni parametre değerlerini "görmez". Doğru, "AutoTrading" düğmesine çift tıklayarak başlatmaya zorlayabilirsiniz. Bu, elbette, zamanlamayı kaldırmak ve yeniden kurmaktan daha hızlıdır. Ama yine de biraz mantıksız. Ancak, size kalmış.

Tabii ki, danışmanda değişiklik yapmak benim için deniz kenarında havayı beklemekten çok daha kolay. O halde size tekrar basit bir soru sorayım. Kullanıcının hareket halindeyken giriş parametresinin değerini değiştirdiği bilgisini programlı olarak nasıl alacağını bilen var mı? Bir anlamda, değerin değişmesi gerçeği ve zamanın anıdır.

Gerçekten de, MT4 terminalinin yeni yapıları eskilerinden çok daha iyi. Bu durumda parametre değerinin değiştirilmesi, Sleep() işlevinin yürütülmesi sırasında gerçekleşir. Elbette bu bir ilerlemedir. Bu gibi durumlarda eski meclisler, değerlerin değiştirilmesine hiç izin vermedi, daha doğrusu, kullanıcının giriş parametreleriyle bir pencere almasına bile izin vermedi. Müşterilere, önce terminal panelindeki buton ile danışmanları kapatmaları, parametreleri değiştirmeleri ve ardından danışmanları tekrar açmaları gerektiğini söyledim. Ancak artık kullanıcının hiçbir engeli yok, giriş parametrelerinin değiştirildiği yanılsamasına sahip. Ayrıca yeni örnek, yalnızca init() bloğunda elde edilen kopyaların değil, aynı zamanda orijinal giriş parametrelerinin de Expert Advisor'da değiştirilmediğini, "Girişler" sekmesindeki özellikler penceresinde değiştirildiğini göstermektedir. Çelişki bariz.

Dosyalar:
PROBLEM.mq4  2 kb
 
Wex :

not. (Forumda dilini boşa harcayan kişiye pek benzemiyor gibiyim.) Danışman ekledi. A1 veya A2 parametresinin değerini anında değiştirmeyi deneyin. Zaman "geçer" ve EA yeni parametre değerlerini "görmez". Doğru, "AutoTrading" düğmesine çift tıklayarak başlatmaya zorlayabilirsiniz. Bu, elbette, zamanlamayı kaldırmak ve yeniden yüklemekten daha hızlıdır. Ama yine de biraz mantıksız. Ancak, size kalmış.

Tabii ki, danışmanda değişiklik yapmak benim için deniz kenarında havayı beklemekten çok daha kolay. O halde size tekrar basit bir soru sorayım. Kullanıcının hareket halindeyken giriş parametresinin değerini değiştirdiği bilgisini programlı olarak nasıl alacağını bilen var mı? Bir anlamda, değer değişimi olgusu ve zaman anı.

Gerçekten de, MT4 terminalinin yeni yapıları eskilerinden çok daha iyi. Bu durumda parametre değerinin değiştirilmesi, Sleep() işlevinin yürütülmesi sırasında gerçekleşir. Elbette bu bir ilerlemedir. Bu gibi durumlarda eski meclisler, değerlerin değiştirilmesine hiç izin vermedi, daha doğrusu, kullanıcının giriş parametreleriyle bir pencere almasına bile izin vermedi. Müşterilere, önce terminal panelindeki buton ile danışmanları kapatmaları, parametreleri değiştirmeleri ve ardından danışmanları tekrar açmaları gerektiğini söyledim. Ancak artık kullanıcının hiçbir engeli yok, giriş parametrelerinin değiştirildiği yanılsamasına sahip. Ayrıca yeni örnek, yalnızca init() bloğunda elde edilen kopyaların değil, aynı zamanda orijinal giriş parametrelerinin de Expert Advisor'da değiştirilmediğini, "Girişler" sekmesindeki özellikler penceresinde değiştirildiğini göstermektedir. Çelişki bariz.

Başlatmama nedenlerini kullanmayı denediniz mi?

 UninitializeReason ()
 REASON_PARAMETERS

Belki çapraz olarak okurum seni tabii... Ama aynısını kullanıyorum...

 
Wex :

not. (Forumda dilini boşa harcayan kişiye pek benzemiyor gibiyim.) Danışman ekledi. A1 veya A2 parametresinin değerini anında değiştirmeyi deneyin. Zaman "geçer" ve EA yeni parametre değerlerini "görmez". Doğru, "AutoTrading" düğmesine çift tıklayarak başlatmaya zorlayabilirsiniz. Bu, elbette, zamanlamayı kaldırmak ve yeniden yüklemekten daha hızlıdır. Ama yine de biraz mantıksız. Ancak, size kalmış.

Tabii ki, danışmanda değişiklik yapmak benim için deniz kenarında havayı beklemekten çok daha kolay. O halde size basit bir soru daha sorayım. Kullanıcının hareket halindeyken giriş parametresinin değerini değiştirdiği bilgisini programlı olarak nasıl alacağını bilen var mı? Bir anlamda, değer değişimi olgusu ve zaman anı.

Gerçekten de, MT4 terminalinin yeni yapıları eskilerinden çok daha iyi. Bu durumda parametre değerinin değiştirilmesi, Sleep() işlevinin yürütülmesi sırasında gerçekleşir. Elbette bu bir ilerlemedir. Bu gibi durumlarda eski meclisler, değerlerin değiştirilmesine hiç izin vermedi, daha doğrusu, kullanıcının giriş parametreleriyle bir pencere almasına bile izin vermedi. Müşterilere, önce terminal panelindeki buton ile danışmanları kapatmaları, parametreleri değiştirmeleri ve ardından danışmanları tekrar açmaları gerektiğini söyledim. Ancak artık kullanıcının hiçbir engeli yok, giriş parametrelerinin değiştirildiği yanılsamasına sahip. Ayrıca yeni örnek, yalnızca init() bloğunda elde edilen kopyaların değil, aynı zamanda orijinal giriş parametrelerinin de Expert Advisor'da değiştirilmediğini, "Girişler" sekmesindeki özellikler penceresinde değiştirildiğini göstermektedir. Çelişki bariz.

Aynı kod, ancak start() içindeki döngü olmadan iyi çalışıyor. Görünüşe göre sorun bu.
Dosyalar:
PROBLEM.mq4  2 kb
 
Wex :

not. (Forumda dilini boşa harcayan biri gibi görünmüyorum.)


Çok benzer.

1. MQL4 diline özel bir forum ayrılmıştır. Bu değil.

2. MQL4 belgelerini okumadınız, ne eski ne de yeni

Neden: