記事についてのディスカッション

 

新しい記事「プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換」はパブリッシュされました:

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。ターミナルの再起動(シャットダウン)後に復元できるパラメータについて説明します。すべての例は、私のCaymanプロジェクトからの実際に機能するコードセグメントです。

SetTradeLevelスクリプトを使用すると、取引レベルパラメータを設定できます。チャート上で1つのオブジェクト(直線、トレンドライン、または長方形)が選択されています。SetTradeLevelスクリプトは、選択されたオブジェクト(取引レベル)を見つけて、そのパラメータを設定します。

SetTradeLevelスクリプトパラメータ

次に、スクリプトはパラメータをFiles\Cayman\Params\128968168864101576\exp_05_Lev607A160E_H4.txtに保存し、SendCommand関数を介してコマンドとファイルへのパスを送信します。

作者: Malik Arykov

 

スマートフォンにメッセージを送るのに、なぜサードパーティのサービスが必要なのか?サードパーティーの方が良いのでしょうか?端末にプッシュメッセージがあります。

一度に情報を転送する必要がある場合(例:スクリプトが何かを作成し、EAがすぐにそれを受け入れる) - OK。 EAが、例えば、取引に関する情報(現時点でのマーチンレベル、注文グループなど、注文自体にはないもの)をロードして取得する必要がある場合、可能な限りファイルやローカルストレージなしで管理する方が良いでしょう。ほとんどのユーザーは、どこかにファイルがあることを忘れてしまい、Expert Advisorを別の端末に移したときに驚くことになる。

また、注文(ポジション)のコメントだけでなく、情報を暗号化することもできるマジックもあります。

パフォーマンスや情報到着時のチェック回数にも注目したい。

 
Sofiia Butenko:

スマートフォンにメッセージを送るのに、なぜサードパーティのサービスが必要なのか?サードパーティーの方が良いのでしょうか?端末にプッシュメッセージがあります。

一度に情報を転送する必要がある場合(例:スクリプトが何かを作成し、EAがすぐにそれを受け入れる) - OK。 EAが、例えば、取引に関する情報(現時点でのマーチンレベル、注文グループなど、注文自体にはないもの)をロードして取得する必要がある場合、可能な限りファイルやローカルストレージなしで管理する方が良いでしょう。ほとんどのユーザーは、どこかにファイルがあることを忘れてしまい、Expert Advisorを別の端末に移したときに驚くことになります。

また、注文(ポジション)のコメントだけでなく、情報を暗号化できるマジックもあります。

パフォーマンスや情報到着時のチェック回数にも注目したい。

1)通知の種類ごとに音が鳴る。

2) ユーザーはファイルについて知る必要がない。これはプログラムの論理である。ファイルがあればパラメータを復元し、なければデフォルト値を使う。

3)ターミナルで注文コメントを見ることができるので、負けた取引の何が悪かったのかすぐにわかる。注文を出す前に状況がわかるので、すぐに注文が出せる。

4) 申し訳ないが、パフォーマンスとチェック回数について 理解できない。指で教えてください。

 
Malik Arykov:

1)通知の種類ごとに異なる音。

2) ユーザーはファイルについて知る必要がない。これはソフトウェアのロジックです。ファイルがある場合 - パラメータを復元し、ファイルがない場合 - デフォルト値を使用します。

3)端末の履歴で注文コメントを見ることができるので、負けた取引のどこが悪かったのかすぐにわかる。注文を出す前に状況がすぐにわかるので

4) 申し訳ありませんが、パフォーマンスとチェックの回数について 理解できません。指で教えてください。

1) OK、しかしユーザーからそのような要望があったことはない。昔、SMSの要望があり、そのためにはサードパーティーのサービスが必要だった。

2) EAをロードするために必要なファイルであり、EAと一緒に転送されるべきものであれば必須である。あなたは私の言いたいことを理解していない。

3) 負けたトレードの何が問題だったのでしょうか?取引の全体像を復元するために、実際の注文や履歴から何百もの注文が必要になることがあります。ひとつひとつを選択するのはリソースを浪費しますし、MT4では履歴がないこともあります(ユーザーによって選択されていない場合)。単純なケースの話ではありません。

4) 2つ目のプログラムがグラフィカルオブジェクトを作成した ことを、どのようにして知るのですか?常にすべてのオブジェクトを列挙し、各目盛りの名前をチェックすることによってですか?そして、ユーザーは数十、あるいは百のバージョンを実行し、「私がぶら下がっている何かをしてくれ」と言うだろう。本当にそんなケースがあったんだ...。

-------

私の意見はすべてフリーランスでの経験に基づいています - ユーザーが何も壊さなかったし、その後文句を言わなかったことを行う方法。

 
Sofiia Butenko:

4) 2番目のプログラムがグラフィカル・オブジェクトを作成した ことをどうやって知るのですか?常にすべてのオブジェクトを調べて、それぞれの目盛りの名前をチェックするのですか?そして、ユーザーは数十、あるいは百のバージョンを実行し、「私がぶら下がっている何かをやってくれ」と言うだろう。そんなケースが本当にあった......。

-------

私の意見はすべてフリーランスの私の経験に基づいています - ユーザーは何も壊さなかったし、その後文句を言わなかったことを行う方法。

4)パラメータを持つグラフィカル-オブジェクトの名前は1つであり、一定である。私はスクリプトを実行しました。私はパラメータを設定し、グラフィカルオブジェクトに保存しました。Expert Advisorは1ティックごとにオブジェクトが1つしかないかチェックします。オブジェクトがあれば、パラメータを読み込んで直ちに削除する。スクリプトとExpert Advisorは1つのチャート上にあります。他のチャートのエクスパートは何も知りません。

 
Sofiia Butenko:

2) そのファイルがEAをロードするために必要であり、EAと一緒に転送されるべきである場合、そのファイルは必須です。あなたは私の言いたいことを理解していない。

Expert Advisorやスクリプトを起動すると、「PATH/AppSettings.txtファイルがありません。インストール手順をお読みください。

 
単純なことを複雑に......あるいは、何でもないことを記事と呼ぶ方が哀愁がある。
 
Sofiia Butenko:

スマートフォンにメッセージを送るのに、なぜサードパーティのサービスが必要なのか?サードパーティーの方がいいのか?端末にプッシュメッセージがあります。

ヘルプより:「SendNotification()関数には厳しい使用制限があります。使用頻度は動的に制御され、違反した場合は関数をブロックすることができます。"

例えば、Expert Advisorがローソク足の始値で取引操作を 行う場合、これらは重大な制限となる。

私はテレグラムでメッセージを送信しています。

 

Я пользуюсь отправкой сообщений в Телеграм.

以前は私もそのようなことをしていましたが、今は何もどこにも送信することに興味がありません、

一般的に、メッセージを送ることで 取引ロボットの速度を落とすことはできないと思います。一般的には、メッセージを送信することによって取引ロボットを遅くすることはできないと思います......何らかの理由で取引ロボット自体を中断することができます、

しかし、Telegramとここで提案された解決策については、私はこの記事が桁外れに簡単な解決策を提供していると言わなければならない......著者に感謝

 
Boris Egorov:

一般的に、......メッセージを送信することによって、取引ロボットの速度を落とすべきではありません。これは、何らかの理由で取引ロボット自体を停止させる可能性があります、

WebRequestには タイムアウトパラメータがあります。興味のある方は、リクエストを送信する前後にPrint(TimeCurrent())を挿入することで、WirePusherサービスのWebRequestの速度をチェックできます。通常、タイムアウトはごくわずかです。それでもタイムアウトでエラーコードが表示される場合は、リクエストを処理するためのキューを作ることができます。メッセージは次のtickで出なかったので、次のtickで出ます。主なことは、送信に成功したらキューから削除することである ;-)

 
Aleksey Mavrin:
簡単なことが難しい...いや、何でもないことを記事と呼ぶ方が哀れだ。

+