MQLによる非同期・マルチスレッドプログラミング - ページ 6

 
Andrey Pogoreltsev:

MQL5にはOrderSendAsyncなどの 非同期があります。

ネットワークやファイルシステムとのインタラクションについては、WinAPIを使用することで、上記の解決策を書きました。そのためにすべてがあると思います。これらの方法の使い方は、マイクロソフトのサイトで紹介されています。他に何が残っているのだろうか)

はい、OrderSendAsyncは知って いますが、リクエストを送信するためだけのものです。
WinAPIの
この方向で見ていましたが、スレッドがmqlで使えないことを知らずに、inluderのプロトタイプは誤解を招くものでした。

 
Andrey Pogoreltsev:

MQL5では、OrderSendAsyncなどの 非同期があります。

MQL4/5では、常にMQLコードの非同期・マルチスレッド実行が可能でしたhttps://www.mql5.com/ru/docs/runtime/running

つまり、すべてが「箱入り」であり、唯一の問題はMQLプログラム間のデータ交換です。開発者による既製のソリューションはありませんし、むしろターミナルのグローバル変数しかありません。

あなたはNSを学ぶ上で言及 - それはマルチスレッドを必要とし、まあ、はい、しかし、MTはAlglibでのみ付属しており、私はNSを学ぶために1〜2秒以上かかることを見たことがないように長いようにそれを使用している、すなわち、なぜ速いのですか?- あなたはNSのサードパーティ製パッケージを使用する場合 - オプションはありません、あなたはMTを越えて行かなければならないでしょう - DLLを使用して、その後、再び、データ交換とマルチスレッドの問題は何ですか?- はすべてDLLで実装されています。

パイソンの話もあったし......。そこはスピードの話ではなく、NSの開発に特化した環境で、何でも揃っているようで、使いこなせないんですよね~待って待って・・・一番楽しみなのは、PythonでNSを扱うことなんです)))

SZZY:Pythonには通常の意味でのマルチスレッドは ありませんが、ここは間違っているかもしれません。 私はPythonがあまり好きではありません。ノイズや主流に溢れていて、何でもすぐに動いてしまうのですが・・・・・。しかし、このような遅いシステムで作業することは不可能です。唯一のプラスは、多くの既製のPythonコードと大きなインターネットコミュニティです。

 

なぜ裸のポインターは安全でないのか?

私見ですが、開発者は嘘をついており、本当の理由はDLLからの引き込みを防ぐためだと思います。おそらく、何かトリッキーな通話規約も入れられたのだろう。

 
Vict:

なぜ裸のポインターは安全でないのか?

開発者が嘘をついているのであって、本当の理由はDLLからの引き抜きを防ぐためだと思います。おそらく、何かトリッキーな通話規約も入れられたのだろう。

司会者が書いているように、物理メモリアドレスへのアクセスはセキュリティ上の理由から拒否されます。
これによって、熟練した不謹慎なコーダーが、コンパイルされたプログラムのあらゆる要素にアクセスすることができるようになります。

 
Roman:

司会者が書いているように、物理メモリアドレスへのアクセスはセキュリティ上の理由から拒否されます。
これによって、熟練した不謹慎なコーダーが、コンパイルされたプログラムのあらゆる要素にアクセスできるようになります。

信じがたい話ですね。成熟した言語との競争は必要ないだけです。また、リコンパイル時にサイズを変更するなどのトリックも、すべて同じ目的のためです。

 
Vict:

信じがたい話だ。ただ、成熟した言語との競争は必要ないのです。また、リコンパイル時にサイズを変更するなどの仕掛けも、すべて同じ目的のためです。

いいえ、そうです。mql4での大量分解を思い出してください、蓄積された誤差を考慮し、保護が施されています。
概して、これは効果的なセキュリティの選択で、WinAPIの直接呼び出しには不利ですが、DLLはオープンなので、機能は変わらず、インタラクションの方法が変わるのです。
そのため、デコンパイルやプログラムのハッキングの可能性はありません。そして、これは良いことで、開発者に拍手を送りたい。

 
Vict:

なぜベアポインターは不安なのか?

管理者Renatは常にMetaquotesは常にセキュリティを提供することが保証されているソリューションを選択するような質問に答えた、よく代わりに、メモリへのポインタを取得し、コンパイルされたex4 / ex5にそのコードを追加することができ、ウイルスを注入することができます。


ローマン

WinAPIを直接呼び出すという犠牲を払ってでも

メインプロセスの中でメインプログラムが動いている、メインプログラムがないと動かない、これでいいのか?

- WinAPIを使って、Pythonから関数本体を 別プロセスで実行できますか?

-......WinAPIを使ってJavaから関数本体?

-......WordBASICからWinAPIを使った関数本体?


オプションとして、ここでMetakvotは明確な答えを与えた - この機能は提供されていない、インスタンスの下にさらに行く:Python Software、Oracle、Microsoftに書き込み - 彼らの脳はまだ吹き飛ばされる。

)))

 
Roman:

いやいや、そういうことだよ、mql4でデコンパイルが広まったのを思い出して、バグが考慮されてプロテクトが実装されたんだよ。
概して、これは効果的なセキュリティの選択であり、WinAPIの直接呼び出しには不利になりますが、DLLへのアクセスが開放されているので、機能は変わらず、対話の方法が変わります。
そのため、デコンパイルやハッキングの可能性はありません。そして、これは開発者にとっても良いことであり、尊敬に値することです。

考慮され、マーケットプレイスからポッドキャストがネイティブにコンパイルされるようになりました。

レナート

セキュリティシステムが完全に変更されたため、ビルド500以降、すでに弱冠逆コンパイル可能です。

MQL5エンジンとマーケットへの移行後、デコンパイラのテーマは完全に死滅します。知らない人 - マーケットからの製品は、購入時に32/64 nativ(純粋なアセンブリ、デコンパイルする方法はない)でコンパイルされ、購入者のハードウェアのために暗号化されています。

そして、いくつかの他のサイトmethacquotから逆コンパイルも有益 - 怖いし、邪悪な逆コンパイルでそれらを怖がらせる自分自身に皆を駆動するために。一般的なことですが、個人的なことは何もなく、ビジネスです。
 
fxsaber:

MQLのみ、EAカウントツールを自動実行することで、この2つの作業を解決しています。

まさに、それが私のやり方です。しかし、私はWeb-Requestを使っていませんが、自動最適化-私とTC Leagueのために-はフルに機能しています。そして、選定はいくつかのパスに分けて行われる。まず、「クリーン」なシステムの最適化を行い、そのパラメータを固定し、次に損益分岐点最適化を実行 し、そのパラメータを固定し、さらに保護SLの最適化(必要な場合)を実行する。そして、フレームを使った仕事や、フレームからのデータを加工する仕事がいたるところで行われています。

必要なマルチスレッド機能はすでに備わっています。

 
Igor Makanu:

管理者Renatは常にMetaquotesは常にセキュリティを提供することが保証されているソリューションを選択すること、このような質問に答えた、よく代わりに、メモリへのポインタを取得し、コンパイルされたex4 / ex5にそのコードを追加することができますウイルスを注入することができます。

デバッガでExpert Advisorを起動したターミナルで、どの相対アドレスから実行が開始されるかを見つけることができないと本当に思っているのでしょうか?任意の関数や変数のアドレス?もうひとつは、これらのアドレスは(トリックが適用されているため)変更される可能性があるということですが、理論的には通常のポインタが教えてくれることはすべて知ることができます。

もう一つ怖いのは、実行時にポインタを介して関数のアドレスを見つけ出し、DLLでヤルことです。