Очевидно, что данные примеры сервера, рассылающие любому клиенту информацию, не являются оптимальными. К примеру, вы наверняка захотите ограничить доступ к своей информации. Значит, как минимум, к обязательным требованиям необходимо отнести:
Several methods of protecting your code have been proposed over the past, but were either too simple (less secure), required re-compilation of your code for each new customer (ok if you only plan on having a dozen or so customers) or far too complicated involving a remote host to validate the client terminal. Here I propose a simple password...
このコードはMQL4で動作しますか?
MQLのStartServer 関数でDLLのbind() 関数を呼び出すと、以下のメッセージが表示されます:
またまた超便利な記事!
このオプションはファイルやDBよりもずっと便利だ。
ありがとう。)
こんにちは、MT4で正常に動作します。
ありがとう。信じられないコードだ!
こんにちは、これをMQL4に変更しようとしていますが、signalclientのTrade.mqh要件のために問題が発生しています。どのようにされましたか?
できれば、MT4のバージョンも教えていただけると、私のような初心者の助けになります。
よろしくお願いします。
取引のコピーを 開始し、各取引シンボルのチャートにExpert Advisor(サーバー/クライアント)を置き、多通貨Expert Advisorに対応させたところ、Expert Advisorは夕方から夜、朝にかけて多くの取引を発生させましたが、コピーされた取引量に応じていくつかの取引が失われました。
つまり、最低限、サーバーとクライアントのポジション・ボリュームの中間的な同期の必要性を定期的にチェックする機能を追加する必要があります。
また、端末を緊急リロードした後、サーバーは何らかの理由でポジションがゼロになったというメッセージをクライアントに送信し(実際はそうではない)、クライアントは従順にポジションをクローズする。このような観察結果である。
事例をもとにシグナルのサービスを作ってみます。
S.Y:
Очевидно, что данные примеры сервера, рассылающие любому клиенту информацию, не являются оптимальными. К примеру, вы наверняка захотите ограничить доступ к своей информации. Значит, как минимум, к обязательным требованиям необходимо отнести:
これはどのように実装することができますか?これについての知識はゼロです(ローカルマシン上でサーバー/クライアントを実行しても、サーバーに接続されたままになっているクライアントがあります)。
これはどのように実装できるのでしょうか?これに関する知識はゼロです(ローカルマシンでサーバー/クライアントを実行しても、サーバーに接続されたままのクライアントもあります)。
https://www.mql5.com/en/code/15534
ありがとう、調べてみるよ。
さて、端末を緊急リロードした後、サーバーはなぜかクライアントに「ポジションがゼロになった」というメッセージを送り(実際は違うのだが)、クライアントは従順にポジションをクローズする。そんな観測もある。
端末が起動したが、まだ取引サーバーに接続しておらず、ソケットが一気に立ち上がり、サーバーからクライアントにポジション不足の情報が送信され、クライアントが持っているポジションをカバーするか、クライアントがサーバーからポジションの情報を受信し、自分のポジションを見るまで - 利用可能なボリュームをバックアップして、それらを開くために急ぐかのどちらかであるため、ポジションに関する様々な誤解が発生すると私は理解しています。端末と取引サーバーの接続を事前にチェックすることで、このような誤解を解くことができると理解しています。
そうでなければ、ソケットの安定性は満足しています。
追加:
真実ではないポジションの ゼロボリュームと サーバーのメッセージから1いまいましいtakkiスリップは、私はこれがどのように発生し、これらのゼロが取られる場所を理解していません。
もしクローズド・マーケットでなければ、ポジションは何らかの理由で崩壊していただろう。
H.Y.:そして、それは時々起こることで、一度ターミナルをリロードすると、すべてが正常で、あるべきようになり、別の時にはすべてがゼロにクローズされます...。
アレクセイ(@o_o)、どこを掘ればいいか知ってたら教えて。
その後ターミナルを再起動したところ、何の問題もなく、全ては当然のように動きました...。
シンボルごとにオープンしているロット数を決定するサーバーのディグ
MQLのポジション要求関数などのエラーチェックを追加する。
ゼロを返したのがMQLであって、ソケットがバカだったのではないことを確認するために、そこにプリントアウトを追加する。
OnInit()からOnTrade()を削除しました。
H.Y.:まだ終わっていません。でも、トレードサーバーとの端末接続を何度かチェックすることで、問題は解決したようです。
みなさん、こんにちは、
MQL5でコンパイルしているのですが、エラーが出続けます:
というエラーが出続けます:
EDIT:
興味のある方のために、ある構造体から別の構造体へフィールドを手動でコピーすることで解決しました。
以下がそのコードです:
いくつかのWSAエラー・コードでは コンパイル・エラーが多発したので、winsock.hから手動でインポートする必要があった: