mql4言語の特徴、微妙なニュアンスとテクニック - ページ 32

 
Andrey Khatimlianskii:

500バーの周期とその値の比較を何度も行う必要があり、同じ周期でハッシュを計算して保存されているものと比較するよりも時間がかかるとしたら、それはそれで意味があることだと思います。
しかし、これはほとんどない。

prev_calculatedのリセットという珍事に気づくほど、カウントに時間がかかっているのはなぜでしょうか?

Expert Advisorは1分ごとにインジケータを呼び出し、何が新しくなったかをチェックします。 もしprev_calculated=0が検出されたら、完全な再計算となり、それほど時間はかからないかもしれませんが、それでもなお、再計算は行われます。例えばUSDCNHのペアは、私のブローカーのリセットではそれほど珍しいものではありません。
リセット時間(prev_calculated=0)。


追伸:ターミナルで履歴/チャートのMax barを2000/2000にした場合、どのローソク足が変化するのか自分でも気になるところです。
 
Nauris Zukas:

追伸:履歴/チャートのターミナルMaxバーを2000/2000にした場合、どのローソク足が変化するのかさえ気になります。

OHLCを格納する4つのインジケータバッファを 持つインジケータを作成し、インジケータを初めて実行するときにそれを埋める。

prev_calculated=0のとき、OHLCとバッファの間に 不一致がある場合、ログファイルに書き込み、その後、新しいOHLCで 指標バッファを同期させる。

HH: 原則的に、最初のインジケータ開始時にバッファを埋める意味はありません - prev_calculated=0で実行できます。

 
Nauris Zukas:

Expert Advisorは1分ごとにインジケータを呼び出し、何が新しいかをチェックし、もしprev_calculated=0が見られたら、完全な再計算が行われます、カウントに時間はかからないかもしれませんが、それでも。例えばUSDCNHのペアは、私のブローカーのリセットでは珍しいものではありません。
リセット時間(prev_calculated=0)。


追伸:ターミナルで履歴/チャートのMax barを2000/2000に設定すると、どのローソク足が変化するのかさえ気になります。

ほとんどバーチェンジしていません。どちらかというと、サービスのようなものでしょうか。

悩む意味が全くない。

 
Andrey Khatimlianskii:

どちらかというと、公式なものに近いですね。

それは知りませんでした。それなら、悩む意味がないのは間違いないですね。ハンドブックに「前回のOnCalculate() の呼び出し以降に価格データが変更された場合(より深い履歴がポンピングされたか、履歴の空白が埋められる)、入力パラメータprev_calculatedの値は端末自体によってゼロに設定されます」とありました。

 
Igor Makanu:

OHLCを格納する4つのインジケータバッファを 持つインジケータを書く - インジケータの最初の開始でそれを埋める。

prev_calculated=0の場合、OHLCとバッファの間に 不一致がある場合、ログに書き込み、新しいOHLCで 指標バッファを同期させます。

HH: 原則的に、初回発生時にインジケータバッファを埋める意味はない - prev_calculated=0 で埋めてもよい。

はい、ありがとうございます。興味のために、私は別のインジケータを行い、ろうそくが変化しているかどうか、何かサービスがあるかどうかをチェックします。

 
OrderModify TPとSLが1組(HSI50)で失敗、他の組は全てDCでOK。手動ではすべて変わるが、OrderModifyをしようとすると、TPやSLまでOrderModifyから外すことができず、どうしようもない。エラーは無効な価格(129)と表示されます。明らかにOrderModifyはそこで禁止されています(理由は不明です)。
質問ですが、どなたかOrderModifyのチェックをされましたか?どのように確認するのですか?
P.S. 契約仕様は、HSI50(Full acces.)
 
良い一日!
1ブローカーでMarketInfo()は常に(一日か二回)飛んで、値0(具体的にはMODE_MARGINREQUIRED)を取得します。それはある意味正常ですが、同時にiCustom()インジケータに到達しようとする試みがありません(リソースを通じて接続されています)。MarketInfo()がデータを受信しても、iCustom()は沈黙したままである。端末を再起動するのみで、解決します。ターミナルを再起動せずにインジケーターにアクセスする方法、何かいい方法はないでしょうか?どこかのリソースからインジケーターが消えることはないのでしょうか?
 
Nauris Zukas:
良い一日を! あるブローカーは常に(一日に一度か二度)MarketInfo()が飛んで、値0(MODE_MARGINREQUIRED具体的に)を取得する。それはある意味正常ですが、同時にiCustom()インジケータに到達しようとする試みがありません(リソースを通じて接続されています)。MarketInfo()がデータを受信しても、iCustom()は沈黙したままである。端末を再起動するのみで、解決します。ターミナルを再起動せずにインジケーターにアクセスする方法、何かいい方法はないでしょうか?
どこかのリソースからインジケーターが消えることはないのでしょうか?

その質問に答えたい。

 
ブローカーが通常モードかFIFOモードで動作しているかどうかを、取引を開始せずに調べることは技術的に可能でしょうか?すべてのドキュメントを探しましたが、そのようなパラメータは見つかりませんでした。ネッティングアカウントタイプであれば、ヘッジは無効です。
 
こんにちは!

Time[1]で「array out of range」に遭遇した記憶はないのですが、この事実はEAで起こりました。定義済みの 配列変数(Timeseries)に対して、「配列が範囲外である」ことをチェックするようなことはしていないのでしょうか?
理由: