ATcl - Tcl-Interpreter für MT4 - Seite 8

 

Das Skript ist fertig und in die ATcl-Bibliothek aufgenommen.
In der Bibliothek befindet sich unter dem Pfad Libraries/ATcl/app/mq45dist.tcl

Es braucht (plötzlich) tcl und zip, um zu funktionieren :-)

Wenn Sie es ohne Parameter ausführen, wird es Sie auffordern, eine beliebige Projektdatei auszuwählen und eine Konsole zu öffnen, um das Protokoll anzuzeigen.

Wenn Sie den Dateinamen als Parameter übergeben, werden keine Fenster geöffnet, sondern es handelt sich um eine Konsolenanwendung.

Ich hänge das tcl-Skript an.

Neben dem Hinzufügen des Skripts wurden auch einige Bugs behoben,
und hat die Bibliotheksarchive auf http://nektomk.ru/ru:atcl:install und SourceForge https://sourceforge.net/projects/mt-atcl/ neu aufgesetzt.

ATcl
  • nektomk.ru
Рад представить вам библиотеку ATcl v1 beta - интерпретатор Tcl для MT4. Расширяте возможности ваших программ MQL, используйте СУБД, дополняйте сетевыми средствами, интегрируйте их с любыми программами используя Tcl.
Dateien:
 

Eine weitere und einfachste (und dringlichste) Verwendung: Konfigurationen von Software/Experten/Panels und so weiter. Das heißt, alle Arten von Konfigurationsdateien :-)

Mit ATcl ist es sehr einfach, das alles in einfachen Textdateien zu speichern.

# комментарии начинаются с # и идут до конца строки

# именованное значение "use_gui"
set use_gui true

# список (вектор) значений
set vector { 1.0 2.0 0.12 }

# список из список (матрица)

set matrix {
  { 1 2 3 }
  { 4 5 6 }
  { 7 8 9 }
}

# хеш ( ключ->значение)
set option(key1) "например строка"
set option(key2) "другая строка"

# можно сразу

array set option {
   key3 0.21
   another_key { можно задавать произвольные значения }

}

und es ist sehr einfach, das alles im MT4 zu lesen:

ATcl *tcl=new ATcl;     // создадим новый интерпретатор (их можно много делать)

tcl.Eval("source MQL4/Files/myconfig.tcl"); // прочесть конфигурацию

bool use_gui = tcl.Long("use_gui",0); // взять переменную "use_gui" как long, или вернуть 0 по умолчанию

double vector[];
tcl.ToArray("vector",vector); // копировать список в массив.

double matrix[][3];
tcl.ToArray("matrix",0,matrix[0]); // читать 1-ю строку матрицы
tcl.ToArray("matrix",1,matrix[1]); // и так далее
tcl.ToArray("matrix",2,matrix[2]);

string option_key1=tcl.String("option(key1)",""); // хеши можно читать указывая полное имя
string option_key2=tcl.String("option","key2",""); // или отдельно ключ, значение

delete tcl; // всё прочитали, интерпретатор больше ненужен

Übrigens, als Bonus können Sie auch die eingebauten/System-Umgebungsvariablen lesen :-)

string APPDATA=tcl.String("env","APPDATA",""); // окружение Windows - %APPDATA%
string TEMP=tcl.String("env","TEMP","");     // рекомендованный каталог для временных файлов %TEMP%

 

Basierend auf einem Beitrag im englischen Teil des Forums und zur Erklärung

"Warum das alles nötig ist und warum es so ist, wie es ist".

Ich habe einen Artikel entworfen, der sich meiner Meinung nach als recht gut und nützlich erweist. Gewidmet der Frage, warum eine andere Sprache nützlich sein könnte und wie sie ausgewählt wird.

Erster Entwurf des ersten Teils - http://nektomk.ru/atcl:why Dieser Teil befasst sich mit der Fragestellung und der Ermittlung der Anforderungen.

Wenn es Fragen, Kommentare oder Vorschläge gibt, werde ich sie beantworten und ergänzen :-)

Der zweite Teil ist eine Diskussion aller genannten Sprachen und Systeme. Sie ist natürlich hochspezialisiert und erfordert einen Hintergrund

 

Ich habe schon lange nicht mehr so viele Texte geschrieben :-) aber da ich es versprochen und angefangen habe, muss ich es tun...

als Fortsetzung des ersten Teils über die Sprachauswahl,

Ich habe den zweiten Teil von http://nektomk.ru/atcl:whynot skizziert, wo ich mir einige Systeme angesehen habe.

Auch Personen, die ATcl und den Ideen zur Erweiterung der MQL-Fähigkeiten fernstehen, können es nützlich und nicht uninteressant finden.

Er wird zusammen mit dem ersten Teil in lokalen Blogs veröffentlicht. Einfach mal eine "Pause" machen und nachlesen + Grammatik und Wendungen korrigieren :-)

Update: der erste Teil ist auch auf lokalen Blogs https://www.mql5.com/ru/blogs/post/718610 veröffentlicht, so dass Sie ihn lesen können, ohne die Website zu verlassen

выбор языка, часть 2
  • nektomk.ru
Взял смелость и в статье объединяю большие «числогрызы» в одну главу. Они не решат наших задач про «взаимодействие с миром», про GUI, и так далее, но они востребованя. На них, с их помощью, благодаря им делаются и отрабатываюся торговые стратегии. Начну с R, так получилось что с практикой его применения в MT знаком очень плотно. Фактически это...
 
Auf der Grundlage der Korrespondenz - maximal detaillierte Installationsanweisungen

1. Sie müssen Tcl 32 bit für Windows installieren

Leider hat ActiveState vor kurzem (vor ein oder zwei Monaten) die Unterstützung von 32bit und
das Installationsprogramm aus den verfügbaren Downloads entfernt. Es war die bequemste Distribution für Windows
und ATcl wurde auf dieser Grundlage entwickelt. Ich habe noch keine anderen Distributionen getestet, ich werde es am Wochenende überprüfen.

------------------------------
Installation von Tcl 32bit unter Windows
------------------------------

1.1 BAWT-Verteilung

1.1.1 Laden Sie die Distribution von Import von Funktionen aus DLL erlauben" zu aktivieren.
BAWT - Downloads
  • Paul Obermeier
  • www.bawt.tcl3d.org
BAWT - Build Automation With Tcl
 

Guten Tag interessiert in Ihrem Projekt, aber es gibt ein Problem mit MT4 Löschen sowohl EAs und Indikatoren, könnten Sie bitte beraten, was der mögliche Grund ist.

 
kovtynmen:

Guten Tag interessiert in Ihrem Projekt, aber es gibt ein Problem mit MT4 Löschen sowohl EAs und Indikatoren, könnten Sie bitte beraten, was der mögliche Grund ist.

Ich verstehe das Problem nicht ;-)

Was meinen Sie mit "es entfernt sowohl EAs als auch Indikatoren"?

 
Maxim Kuznetsov:

Ich verstehe das Problem nicht ;-)

was bedeutet es, "löschen Sie beide EAs und Indikatoren"? erklären den Punkt, wenn Sie mit Screenshots können

Ja, sicher, hier sind die Log-Screenshots

Experten-Handelspanel

Benutzerdefinierter Indikator CawtExcel

 
kovtynmen:

Ja, natürlich, hier sind die Log-Screenshots


1. Wenn Sie den Expert Advisor/Indikator ausführen, stellen Sie sicher, dass Sie den Import aus der DLL aktiviert haben.

2. in der vorherigen Anweisung ist hervorgehoben - wenn Sie die BAWT-Distribution installiert haben, müssen Sie tcl86.dll nach tcl86t.dll im Verzeichnis c:/tcl/bin kopieren, d.h. den Buchstaben t an den Namen der dll anhängen

sollte es keine anderen Probleme, außer für die Erlaubnis, DLL im Terminal und Verteiler DLL-Namen zu verwenden - nur auf saubere VDS, setzen MT4, setzen BAWT und ATcl-Bibliothek aus sourceforge (nicht "Variante in der Entwicklung", aber öffentlich verfügbar). Flug ist normal

 
Maxim Kuznetsov:

1. Stellen Sie beim Ausführen von EA/Indikator sicher, dass der Import von DLL aktiviert ist.

2. in der vorherigen Anweisung ist hervorgehoben - wenn Sie die BAWT-Distribution haben, müssen Sie tcl86.dll nach tcl86t.dll im Verzeichnis c:/tcl/bin kopieren, d.h. den Buchstaben t an den Namen der dll anhängen

sollte es keine anderen Probleme, außer für die Erlaubnis, DLL im Terminal und Verteiler DLL-Namen zu verwenden - nur auf saubere VDS, setzen MT4, setzen BAWT und ATcl-Bibliothek aus sourceforge (nicht "Variante in der Entwicklung", aber öffentlich verfügbar). Flug ist ok

Danke, ich habe alles schon ausprobiert und das Ergebnis ist das gleiche. Ich werde morgen alles noch einmal mit mt4 versuchen. Es besteht jedoch die Möglichkeit, dass es etwas mit den Zugriffsrechten auf Win 10 zu tun hat.
Grund der Beschwerde: