Рад представить вам библиотеку ATcl v1 beta - интерпретатор Tcl для MT4. Расширяте возможности ваших программ MQL, используйте СУБД, дополняйте сетевыми средствами, интегрируйте их с любыми программами используя Tcl.
# комментарии начинаются с # и идут до конца строки
# именованное значение "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 { можно задавать произвольные значения }
}
と、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; // всё прочитали, интерпретатор больше ненужен
ちなみに、おまけとして、内蔵/システム環境変数の読み込みもできます :-)
string APPDATA=tcl.String("env","APPDATA",""); // окружение Windows - %APPDATA% string TEMP=tcl.String("env","TEMP",""); // рекомендованный каталог для временных файлов %TEMP%
Взял смелость и в статье объединяю большие «числогрызы» в одну главу. Они не решат наших задач про «взаимодействие с миром», про GUI, и так далее, но они востребованя. На них, с их помощью, благодаря им делаются и отрабатываюся торговые стратегии. Начну с R, так получилось что с практикой его применения в MT знаком очень плотно. Фактически это...
スクリプトが完成し、ATclライブラリ に含まれています。
ライブラリは、Libraries/ATcl/app/mq45dist.tclにあります。
動作には(いきなり)tclとzipが必要です :-)
パラメータなしで実行すると、任意のプロジェクトファイルを選択するように求められ、コンソールを開いてログを表示します。
ファイル名をパラメータとして渡すと、ウィンドウを開かず、コンソールアプリケーションとして動作します。
tclスクリプトを添付します。
スクリプトの追加に加え、いくつかのバグを修正しました。
を開設し、ライブラリのアーカイブをhttp://nektomk.ru/ru:atcl:install と SourceForgehttps://sourceforge.net/projects/mt-atcl/ で再スタートさせました。
もうひとつ、最も簡単な(そして最も緊急な)用途は、ソフトウェア/エキスパート/パネルなどの設定です。つまり、あらゆる種類の設定ファイルです :-)
ATclを使えば、すべてをシンプルなテキストファイルで管理することができるので、とても簡単です。
# именованное значение "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 { можно задавать произвольные значения }
と、MT4で全て読み取ることができるので、とても楽です。
ちなみに、おまけとして、内蔵/システム環境変数の読み込みもできます :-)
string APPDATA=tcl.String("env","APPDATA",""); // окружение Windows - %APPDATA%
string TEMP=tcl.String("env","TEMP",""); // рекомендованный каталог для временных файлов %TEMP%
フォーラムの英語パートでの投稿を元に、説明すると
"なぜこれだけのものが必要なのか、なぜ このような形になっているのか"。
記事のスケッチをしたのですが、私の意見では、かなり良い、役に立つものになったと思います。なぜ別の言語が有用なのか、どのように選択されるのか、という疑問に捧げる。
パート1の初稿 -http://nektomk.ru/atcl:why こちらは質問設定と要件の洗い出しに入ります。
質問、コメント、提案などがあれば、回答し、追加していきます :-)
第二部では、言及されたすべての言語とシステムに関する議論を行います。当然ながら、高度に専門的であり、バックグラウンドが必要です
こんなにたくさん文章を書いたのは久しぶりです :-) でも、約束して始めたからには、やらなければなりませんね...。
を、言語選択に関する第一部の続きとして紹介します。
http://nektomk.ru/atcl:whynot の第2部では、かなりの数のシステムを見てスケッチしました。
ATclやMQLの機能を拡張する発想から遠い方でも、興味がないわけではなく、役に立つと思います。
前編とあわせて現地ブログで公開予定です。ただ、"一時停止 "をして、再読し、文法や話し言葉を修正すること :-)
update: 前編は現地のブログでも公開されていますhttps://www.mql5.com/ru/blogs/post/718610 なので、サイトにいながらにして読むことができます。
1.Windows版Tcl 32bitのインストールが必要です。
残念ながら、ActiveStateは最近(1〜2ヶ月前)、32bitのサポートを停止しており
は、利用可能なダウンロードからインストーラを削除しました。Windowsのディストリビューションとして最も利便性の高いものであった
で、その上でATclが開発されました。他のディストリビューションはまだテストしていないので、週末に確認する予定です。
------------------------------
WindowsへのTcl 32bitのインストール
------------------------------
1.1 BAWTの分布
1.1.1関数のインポートを 許可する」にチェックを入れることを忘れないようにしてください。
こんにちは、あなたのプロジェクトに 興味を持って、しかし、MT4はEAと指標の両方を削除する問題があります、あなたは可能な理由が何であるかをアドバイスしてください。
こんにちは、あなたのプロジェクトに興味を持って、しかし、MT4はEAと指標の両方を削除する問題があります、あなたは可能な理由が何であるかをアドバイスしてください。
問題がよくわからない;-)
EAもインジケータも削除される」ってどういうこと?
問題がよくわからない;-)
EAとインジケータの両方を削除する」とはどういう意味ですか? スクリーンショットを使って説明してください。
ログのスクリーンショットはこちらです。
もちろん、ログのスクリーンショットはこちらです。
1.Expert Advisor/Indicatorを実行する際、DLLからのインポートが 有効になっていることを確認する。
BAWTディストリビューションをインストールした場合、c:/tcl/binディレクトリにあるtcl86.dllをtcl86t.dllにコピーする必要があります(つまり、dll名にtを追加する必要があります)。
ターミナルでDLLを使用できるようにすることと、DLL名を配布することを除けば、他の問題はないはずです。クリーンなVDSにMT4を置き、BAWTとsourceforgeのATclライブラリ(「variant-in-development」ではなく、一般に入手可能)を置くだけでいいのです。フライトはOK
1. EA/indicatorを実行する際に、DLLからのインポートが有効になっていることを確認する。
2.先ほどの説明の中で、BAWTディストリビューションを持っている場合、c:/tcl/binディレクトリのtcl86.dllをtcl86t.dllにコピーする必要があると強調 されていますが、つまりdll名にtを追加します
ターミナルでDLLを使用できるようにすることと、DLL名を配布することを除けば、他の問題はないはずです。クリーンなVDSにMT4を置き、BAWTとsourceforgeのATclライブラリ(「variant-in-development」ではなく、一般に入手可能)を置くだけでいいのです。フライトはOK