記事をありがとう。Expert Advisorの状態を変更するライブラリへのリンクに感謝します。テンプレートによる作業は、実に独創的なソリューションだ。
しかし、正直なところ、タイトルを見たとき、クライアント・サーバーか ソケットの話かと思いました......。
複数の口座を持っていると、あちこちに未決注文を置くのに疲れてしまいます。
フォーラムのどこかに、電報でやりとりするためのライブラリがありました。そこにはもっと多くの可能性があり、すべてのコマンドはボットにあらかじめ用意されたボタンを押すことで設定できます。
記事をありがとう。Expert Advisorの状態を変更するライブラリへのリンクに感謝します。テンプレートによる作業は、実に独創的なソリューションだ。
しかし、正直なところ、タイトルを見て、クライアント・サーバーかソケットの話かと思ったのですが......。
複数の口座を持っていると、あちこちに未決注文を置くのが面倒になります。
フォーラムのどこかに、電報でやりとりするためのライブラリがありました。そこにはもっと多くの可能性があり、すべてのコマンドはボットにあらかじめ用意されたボタンを押すことで設定できる。
私の知る限り、電報による管理に関する記事を作成する計画があり、著者も任命されている。おそらく、新しい記事はあなたにとってより役に立つだろう。
#define private public #include <fxsaber\Expert.mqh> //https://www.mql5.com/ja/code/19003 #undef private #define STRING_END "\r\n" #define EXPERT_BEGIN ("<expert>" + STRING_END) #define EXPERT_END ("</expert>" + STRING_END) #define EXPERT_NAME "name="
したがって、エキスパート・アドバイザーを有効/無効にするには、テンプレート・ファイルを書き換えて、expertmodeフラグを必要な値に変更し、隠しオブジェクトを削除するだけでよい。
私はこのフラグについて知らなかっただけでなく、オブジェクトの微妙な操作について考えていませんでした!
このコード
string temp=EXPERT::TemplateToString(i_chart,true); if(temp==NULL) { i_chart=ChartNext(i_chart); continue; } //--- temp=EXPERT::StringBetween(temp,EXPERT_BEGIN,EXPERT_END); if(temp==NULL) { i_chart=ChartNext(i_chart); continue; }
は、EAだけでなくスクリプトもキャッチしてしまう。そのため、次のようにした方がよいだろう。
if(!EXPERT::Is(i_chart)) { i_chart=ChartNext(i_chart); continue; } string temp=EXPERT::TemplateToString(i_chart,true);
この場合、テンプレートは必要な場所にのみ保存される。
ZY 最後に生成されたテンプレートをいつでも見られるように、あえてFileDeleteを作らなかったんだ。
このようなテクニックを使えば、元のソースを変えないことができる
興味深いテクニックだ。このような方法はこれまで考えたことがなかった。ありがとう。
このコード
は、EAだけでなくスクリプトもキャッチしてしまう。そのため、次のようにした方がよいだろう。
この場合、テンプレートは必要な場所にのみ保存される。
コードの中で、TemplateToStringは意図的にフラグtrueで呼び出されている。もしかしたら忘れているかもしれませんが、trueフラグの関数本体では、Isメソッドを呼び出すことによって、チャート上にExpert Advisorが存在するかどうかをチェックしています。
static string TemplateToString( const long Chart_ID = 0, const bool CheckExpert = false ) { short Data[]; return(((!CheckExpert || EXPERT::Is(Chart_ID)) && ::ChartSaveTemplate((ulong)Chart_ID, PATH + FILENAME) && (::FileLoad(FILENAME, Data) > 0)) ? ::ShortArrayToString(Data) : NULL); }
そのため、どちらのコードも同じように動作するはずです。
Dmitry.
Expert AdvisorのあるVPS(または自宅のPC)が技術的な理由でしばらくの間オフラインになることがあります。いつオンラインに戻るかは不明ですが、例えば取引は控える必要があります。この場合、提案されたリモートコントロールは、あなたのバリアントよりも多くのことを可能にします。
MetaQuotesからVPSもあります。そこだけそのようなものです。
インターネットがない - 取引がない、口座管理が携帯電話やタブレットから見えることにおそらくお気づきではないでしょう。インターネットが停止している場合、我々はちょうど手ですべての取引を終了し、その後、インターネットが表示されるのを待つか、PC上でさらなるアクションのために家にいる。
インターネットに接続されていないコンピューター上の端末では、遠く離れた場所にいることになります。自分の口座にはアクセスできますが、Expert Advisorのある端末にはアクセスできません。Expert Advisorが取引サーバーに接続されている場合(インターネットが機能している場合)、Expert Advisorが取引しないようにするにはどうすればよいですか?
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 EAのリモートコントロールの方法 はパブリッシュされました:
トレーディングロボットの主な利点は、リモートの VPS サーバー上で24時間動作できることです。 しかし、時にはサーバーに直接アクセスすることができず、タスクに介入する必要があります。 EAをリモートで管理することは可能でしょうか。 この記事では、外部コマンドを使用してEAを制御するオプションの1つを提案します。
金融相場でのトレードの様々な自動化システムは、今日では一般的になっています。 EAの主な利点は、完全なアルゴリズムの実行と1日24時間の稼働であると考えられています。 仮想ホスティングは、24時間自律的にEAを使用することができます。
残念ながら、すべてのEAが同じように動作するわけではありません。 あるケースでは、トレーダーは手動で有効または無効にする必要があります。 これは、ユーザーがターミナルに直接アクセスできる場合に簡単です。 しかし、ターミナルに迅速にアクセスできない場合はどうでしょうか。 このような場合には、EAの操作をリモートで制御できるとよいでしょう。 ターミナル内のEAリモートコントロールの可能な方法を考えてみましょう。
作者: Dmitriy Gizlyk