До любого обращения к ATcl должна быть вызвана функций ATcl_OnInit() и в завершении скрипта/индикатора/советника ATcl_OnDeinit(const int reason). Между вызовами этих двух функций возможны обращения ко всем прочим функциям библиотеки. При разработке советников и индикторов также рекомендуется вызывать функции ATcl_OnEvent(..) ATcl_OnTimer...
Рад представить вам библиотеку ATcl v1 beta - интерпретатор Tcl для MT4. Безграничные возможности расширения и интеграции программ MT4 Расширяйте возможности ваших программ MQL, используйте СУБД, дополняйте сетевыми средствами, интегрируйте их с любыми программами используя Tcl. threading - вы можете использовать все возможности...
ATcl является библиотекой-интегратором и поэтому в первую очередь нужен сам по себе Tcl. Tcl свободно доступен и не имеет лицензионных отягощений (лицензии как правило BSD-like). Для работы с MT4 вам потребуется 32-х битная (это важно! MT4 32-х битный...
誰がpipsをコントロールし、プロトコルを実行し、結果を分析するのか。それは長く、遅く、ポーリングによってのみ行われます。
このatclについて読むためのリンクをいくつか用意してもらえますか?そうすれば、すべてに目を通す必要はなく、より集中的に話題を提供することができます。
このatclについて読むためのリンクのカップルは、すべてを介して掘るしないように、より意図的にトピックに自分自身を精通させることができます。
MT4用のライブラリインテグレータ(まさに私が一生懸命作っているもの)への主なリンクは、ここでの現在のトピックと、スレッドhttp://luxtrade.tk/atcl:start(歴史的に私のサイトは、常に混乱状態にあります :-) で言及されているものです。)
Tcl (ルートサイト) 自体 :http://www.tcl.tk
wiki:http://wiki.tcl.tk
"標準ライブラリ" :https://core.tcl.tk/tcllib/doc/tcllib-1-18/embedded/www/toc.html(ドキュメントにリンクしています。おそらく主要な関心事でしょう)
現在、ActiveStateの主要な販売代理店:https://www.activestate.com/activetcl ,
MagicSplat http://www.magicsplat.com/ と IronTclhttps://irontcl.com/ の「後追い」だそうです。
Tclは、1990年に初めてリリースされ、現在ではLinux/UNIXのデファクトであり、Androidでも使用されています。
PS.彼らが私の投稿と多くのリンクと一緒に私を殺さないことを望みます?すべて無料です。
PPSです。地元のアウトソーサーにとって - 「おいしい」報奨金もあるhttps://github.com/flightaware/Tcl-bounties. しかし、2500USDからは難しい課題ばかりで、厳しい規律がある。
未来への想いを込めて。
を、いくつかのパッチとそんな母親の助けを借りて、こんな風になりました。
これは実験的なもので、現在のバージョンでも、Tkを動かすためのパッチはまだ入れません(第一に、早すぎる、他の不具合がいっぱいある、第二に、ビールのために作られている、後でレビューする)が
でも、最終的に手に入れたいものが見えていて、技術的には可能だという確信があるのでしょう。そうそう、フルスクリプト可能なGUIも可能です。
ちなみに、現地のGUI製作者には、ウィンドウ(アルファチャンネルのある方)を過剰にこう表現している(tclです):
ZIPの中のIndicators、Scripts、Experts、Libraries、Includeというフォルダにファイルが格納されており、ライブラリをインストールするためのアイデアは以下の通りです。
でアーカイブを解凍し、dataディレクトリに配置すれば、すべてうまくいき、動作するようになります(Tcl自体を配置する必要があることを除いて:-))。
APIはこんな感じです。
かなりコンパクトで使い勝手が良さそうですね。
上記のzip-archiveが添付されています、もし誰かがそれを必要とし、インストールに問題があれば、ここに投稿するか、個人的に投稿してください。
屋上例
"オンザフライでコンパイルし、MQLスクリプトの中でATclからC/C++を使用する"
さて、ベータ版おめでとうございます。:-)
簡単に説明すると、ATclを経由していた機能が、MT4から簡単にアクセスできるようになりました。
Tclの特徴
simple- シンプルなスクリプト言語 ポータブル- あらゆるシステム(Windows、Linux、Androidなど)で使用できるスクリプトとアルゴリズムを実行します。 イベントドリブン- 内部イベントモデル オブジェクト指向- 現代的なOOPの機能をすべて備えています。 スレッド- システムスレッド、ミューテックス、条件変数、永久保存が可能な共有変数など、マルチスレッドプログラミングのすべての機能を使用できます。 仮想ファイルシステム- zip, tar, ftp, webdav をファイルシステムとして透過的に利用可能 データベース- 統一インターフェース tdbc と sqlite が tcl コアに含まれています。PostresSQL、MySQL、MonetDB、OracleとあらゆるODBCデータベースを積極的にサポートします。 ネットワーク- クライアント/サーバー:TCP、http、メール、websocket、zmq。必要なプロトコルとサービスはほぼすべて揃っています。 暗号技術- チェックサム、電子署名、暗号ハッシュ。対称型暗号と非対称型暗号。公開鍵基盤対応、TLS、SASL。 Windows- Windows環境ツール - レジストリ、DDE、COMクライアント/サーバ、LDAPクライアント tcllib- Tcl の標準ライブラリで追加機能を提供 (プログラミングツール、テキスト処理、数学と統計学など) c/c++- TinyC コンパイラはライブラリに含まれており、Critcl パッケージではシステム C/C++ コンパイラ (vc,gcc,clang) を使用できます。モジュールや関数をその場でコンパイルして使用することができます。 多くのライブラリやシステムがTclのAPIを提供しており、それらを簡単にプログラムで使用することができる
詳しくはブログサイトのhttps://www.mql5.com/ru/blogs/post/715411(誰も読んでないけど:-))をご覧ください。で、プロジェクトページでは、http://luxtrade.tk/atcl:start。
このテーマに関する質問にお答えし、アイデアやコメントをお聞かせいただければ幸いです。
おめでとうございます。
kodobaseやアーティクルにあるような、実用的な例をやると便利だと思います。
例えば、MySQLやTelegramへの接続、あるいは2つの端末をTCPで接続することなどです。
おめでとうございます。
kodobaseやアーティクルにあるような、実用的な例をやると便利だと思います。
例えば、MySQLやTelegramとの通信、あるいは単純に2つの端末をTCPで接続することなどです。
in dems (in archive):
- 引用符をSQLite データベースに保存するスクリプトです。MySQLの場合も同じですが、誰もが持っているわけではありません:-)
- インジケーターとアドバイザーとしてのtcpサーバー(2つのバリエーション) - スタート後、ポート8000(スタート時の設定で設定可能)での接続を受け付け、そこに入ってくるティックを変換します。telnetで、見ることができます。
- httpクライアントインジケータは、定期的にサイトにアクセスし、求人ページを取得、解析し、チャートにCommentとして情報の要約を表示します。
デモはこれからも確実に増えていくので、アイデアを提案することができます。
今後、このようなデモを制作していく予定です。
- "ウェブサーバー "を使って、ブラウザを使うことができることを示し、その方法を説明します。
- GlobalVariableの拡張アナログであるTSV(スレッド共有変数)の使用 - アプリケーションでの共有データの使用
もっとスクリプトを考えないと :-) 明確で簡潔で、少なくとも少しは役に立つものにしないと。
かなり魅力的なSkypeでの会話があり、そのうちのいくつかは、私が役に立つと思うので、声に出す必要があると思います:-)
1.なぜ、もっと人気のあるPythonやRubyではなく、Tclなのでしょうか?
もちろん、トレードだけでなく、よく知っているし、使っているので、最初の1台にはならないでしょう。PythonとRubyはメタトレーダーのスレッドモデルと互換性がありません。理論的には実行できるのですが、非常に低いAPIを掘り出すか、言語を壊すかのどちらかをしなければなりません。 Rやその他多くのものにも同じことが当てはまります。
これらを動作させるためには、「1つのプロセス、1つのスレッド内で複数の孤立したインスタンスを独立して作成できる」という条件を満たす必要がある。
私が知っている他のスクリプト言語では、Luaが唯一それが可能ですが、「標準のない言語」です。
ちなみに、この太字は、 すべてのDLL開発者の 製品で遵守されるべきものです
2.適切かつ迅速なデータ解析の方法
正しく、速く、 メタトレーダーで計算を実行 することです。メタトレーダーは、データを受け取り、計算を行い、注文を出す、このために設計されています。その機能をあなたのDLLに複製するのは愚かなことです。結局のところ、MQL自体はむしろC++に似ていて、プログラマーが1日か2日あれば書き始めることができるのです。そしてDLLでは、データベースとの通信、サービス、インテグレーションなど、プラットフォームがカバーしないこと、物理的にカバーできないことをやらなければなりません。そしてプラス、MetaTrader以外で使えるもの、使うべきもの。
3.バージョン5はどこで、いつ発売されるのですか?
できるだけ早く :-)技術的には4から5へDLLをドラッグ&ドロップするのは難しくありません、スクリプトは気にしないでください。Tclは32ビットと64ビットの両方に対応しています。でも、4で開発する方がずっと便利だし、触れないし :-) 安定しているし、サプライズも期待できないし。しかし、我々が見る5で、プラットフォームの開発者は、(指標、スクリプト、Expert Advisorsと一緒に) "サービスタスク "を約束し、確かにDLLとスレッドの関係で何かが連続し、いくつかのビルドを変更することになります。これが決着するまでは、5用のバージョンはありません。
実行中およびユーザーからのフィードバックにより、msvcrt DLLの依存性に関連するいくつかの問題が発見されました。
と同じDLLを見つけるという小さなバグ(私の)があります。ATcl.mqhハンドラ内の相対パスが規定されていた :-)
は、修正されたバージョン(添付)を取得することができます、インストール手順は、伝統的な場所にあるhttp://luxtrade.tk/atcl:install。
DLL開発者にとって、これは有益な情報です。
- D_CRTIMP_ALTERNATIVE を定義してコンパイルした DLL は、コンパイラに CRT のほぼすべてをインライン化させる :-)。
- DLLは、/MTスイッチでビルドされるようになり、リンカーにスタティックリンクを使用させ、不要な依存関係を発生させないようにしました。再頒布可能ファイル(VCサポートパッケージ)は、あちこちに持ち歩かなくていい感じです
DLLはサイズが大きくなったが、依存関係が少なくなり、ライブラリを持ち歩くのが楽になったはずだ
PS/小さな更新 - 添付のアーカイブを変更しました。ライブラリは完全なマルチスレッドサポートで構築されている