ATcl - Interprète Tcl pour MT4 - page 8

 

Le script est prêt et inclus dans la bibliothèque ATcl.
Dans la bibliothèque est situé au chemin Libraries/ATcl/app/mq45dist.tcl

Il a besoin (soudainement) de tcl, et de zip pour fonctionner :-)

Si vous l'exécutez sans paramètres, il vous demandera de sélectionner un fichier de projet et ouvrira une console pour afficher le journal.

Si vous passez le nom du fichier en paramètre, il n'ouvrira aucune fenêtre, il fonctionnera comme une application console.

Je joins le script tcl.

En plus de l'ajout du script, certains bogues ont été corrigés,
et relancé les archives de la bibliothèque à http://nektomk.ru/ru:atcl:install et SourceForge https://sourceforge.net/projects/mt-atcl/.

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

Une autre utilisation, la plus simple (et la plus urgente) : les configurations de logiciels/experts/panneaux et autres. C'est-à-dire toutes sortes de fichiers de configuration :-)

Avec ATcl, il est très facile de conserver tout cela dans de simples fichiers texte.

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

# именованное значение "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 { можно задавать произвольные значения }

}

et il est très facile de lire tout cela dans MT4 :

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; // всё прочитали, интерпретатор больше ненужен

Au fait, en bonus, vous pouvez également lire les variables d'environnement intégrées/système :-)

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

 

Basé sur un post dans la partie anglaise du forum et pour expliquer

"Pourquoi tout cela est nécessaire et pourquoi c'est comme ça".

J'ai esquissé un article, à mon avis il s'avère assez bon et utile. Consacré à la question de savoir pourquoi une autre langue pourrait être utile et comment elle est sélectionnée.

Première ébauche de la première partie - http://nektomk.ru/atcl:why Celle-ci aborde la question et l'identification des besoins.

S'il y a des questions, des commentaires, des suggestions, j'y répondrai et l'enrichirai :-)

La deuxième partie est une discussion de tous les langages et systèmes mentionnés. Il est évident qu'il s'agit d'un domaine très spécialisé qui nécessite une formation.

 

Cela fait longtemps que je n'ai pas écrit autant de textes :-) mais puisque j'ai promis et commencé, je dois le faire...

comme une continuation de la première partie sur la sélection des langues,

J'ai esquissé la deuxième partie de http://nektomk.ru/atcl:whynot où j'ai examiné un certain nombre de systèmes.

Même les personnes éloignées de l'ATcl et des idées d'extension des capacités de MQL peuvent le trouver utile et non sans intérêt.

Il sera publié avec la première partie dans les blogs locaux. Il suffit de faire une "pause" et de relire + corriger la grammaire et les tournures de phrases :-)

mise à jour : la première partie est également publiée sur les blogs locaux https://www.mql5.com/ru/blogs/post/718610, vous pouvez donc la lire sans quitter le site

выбор языка, часть 2
  • nektomk.ru
Взял смелость и в статье объединяю большие «числогрызы» в одну главу. Они не решат наших задач про «взаимодействие с миром», про GUI, и так далее, но они востребованя. На них, с их помощью, благодаря им делаются и отрабатываюся торговые стратегии. Начну с R, так получилось что с практикой его применения в MT знаком очень плотно. Фактически это...
 
Basé sur la correspondance - instructions d'installation détaillées au maximum

1. Vous devez installer Tcl 32 bits pour Windows

Malheureusement, ActiveState a récemment (il y a un mois ou deux) cessé de prendre en charge les systèmes 32 bits et les systèmes de gestion de la qualité.
a retiré le programme d'installation des téléchargements disponibles. C'était la distribution la plus pratique pour Windows
et ATcl a été développé sur cette base. Je n'ai pas encore testé d'autres distributions, je le ferai ce week-end.

------------------------------
Installation de Tcl 32 bits sous Windows
------------------------------

1.1 Distribution des BAWT

1.1.1 Télécharger la distribution depuis importation de fonctions à partir de DLL".
BAWT - Downloads
  • Paul Obermeier
  • www.bawt.tcl3d.org
BAWT - Build Automation With Tcl
 

Bonjour, je suis intéressé par votre projet, mais il y a un problème avec MT4 qui supprime à la fois les EA et les indicateurs, pourriez-vous me dire quelle en est la raison possible ?

 
kovtynmen:

Bonjour, je suis intéressé par votre projet, mais il y a un problème avec MT4 qui supprime à la fois les EA et les indicateurs, pourriez-vous me dire quelle en est la raison possible ?

Je ne comprends pas le problème ;-)

Que voulez-vous dire par "il supprime à la fois les EA et les indicateurs" ?

 
Maxim Kuznetsov:

Je ne comprends pas le problème ;-)

Qu'est-ce que cela signifie "supprimer les deux EA et les indicateurs" ? Expliquez le point, si vous le pouvez avec des captures d'écran.

Oui, bien sûr, voici les captures d'écran du journal.

Expert TradePanel

Indicateur personnalisé CawtExcel

 
kovtynmen:

Oui, bien sûr, voici les captures d'écran du journal.


1) Lorsque vous exécutez le conseiller expert/indicateur, assurez-vous que vous avez activé l'importation à partir de DLL.

2. dans l'instruction précédente, il est souligné - si vous avez installé la distribution BAWT, vous devez copier tcl86.dll en tcl86t.dll dans le répertoire c:/tcl/bin, c'est-à-dire ajouter la lettre t au nom de la dll

il ne devrait pas y avoir d'autres problèmes, sauf pour permettre d'utiliser la DLL dans le terminal et le nom de la DLL du distributeur - il suffit de nettoyer le VDS, de mettre MT4, de mettre BAWT et la bibliothèque ATcl de sourceforge (pas "variant-in-development", mais disponible publiquement). Le vol est correct

 
Maxim Kuznetsov:

1. lorsque vous exécutez EA/indicator, assurez-vous que l'importation à partir de DLL est activée.

2. dans l'instruction précédente, il est souligné - si vous avez la distribution BAWT, vous devez copier tcl86.dll en tcl86t.dll dans le répertoire c:/tcl/bin, c'est-à-dire ajouter la lettre t au nom de la dll

il ne devrait pas y avoir d'autres problèmes, sauf pour permettre d'utiliser la DLL dans le terminal et le nom de la DLL du distributeur - juste sur un VDS propre, mettez MT4, mettez BAWT et la bibliothèque ATcl de sourceforge (pas "variant-in-development", mais disponible publiquement). Le vol est correct

Merci, j'ai déjà tout essayé et vérifié, le résultat est le même. Je vais tout réessayer demain avec mt4. Bien qu'il y ait une possibilité que ce soit quelque chose avec les droits d'accès sur win 10.
Raison: