ライブラリ: MT4Orders - ページ 6

 
Maxim Dmitrievsky:
はい、そのように動作します、ありがとうございます...そしてオーダーピッキングが遅くなります、はい...しかし、今のところ他のバグには気づいていません...。良いリブですね。実際、注文の検索を高速化するのは理にかなっていると思います。
HISTORICAL order enumerationは、テスター/オプティマイザーのためだけに高速化されます。実際には、それはできません。

取引、自動取引システム、取引戦略のテストに関するフォーラム。

MetaEditorビルド1463

Renat Fatkhullin, 2016.11.05 10:38 AM

取引履歴は、管理者による修正によって変更されることがあります。例えば、スパイクの修正、誤った取引や金融操作のキャンセルなどです。

現実には、キャッシュを99%使用し、1日/セッション/クリアに1回完全に更新し、新しいものを追加する方が良いでしょう。これは、取引履歴を常に再計算するような負荷の高い作業を行っている場合です。

取引所でテストする場合は、次のことを考慮してください。

取引、自動取引システム、取引戦略のテストに関するフォーラム

ライブラリ: MT4Orders

fxsaber, 2016.11.07 08:31.

MT4Ordersを介して証券取引所の履歴を扱うことはお勧めしません。すなわち、MODE_TRADE - 問題なし、MODE_HISTORY -取引所では 必要ありません。
履歴はヘッジでエラーなく機能するが、クローズバイ・モーメントを除いては、両プラットフォームで異なるクローズバイ・シチュエーションを整理して比較するために多くの空き時間が必要である。
 
fxsaber:
HISTORICALオーダーの検索は、テスター/オプティマイザーのためだけに加速される。現実の世界では、それはできません。
現実的には、99%の場合、キャッシュを使用し、1日1回、セッションをクリアし、新しいキャッシュを追加して完全に更新する方がよいでしょう。これは、トランザクションの履歴を常に再計算するような重たい作業をしている場合の話だ。

Renatが言ったことを踏まえると、「できない」のではなく、「できる(すべき)」ようだ。キャッシュの更新は1時間に1回でも、オンデマンドでも可能です。

 
Stanislav Korotky:

レナトが言ったことを考慮すると、できないのではなく、できる(すべき)ようだ。キャッシュの更新は1時間に1回でも、オンデマンドでも可能です。

実際の取引でキャッシュする意味は?MT4で履歴をキャッシュしたことがありますか?パフォーマンスが重要な場合は高速化が必要です。
 
fxsaber:
// 実現しないこと:
// クローズバイの瞬間......まだ時間がないんだ。おそらく将来、必要になれば。
// クローズしたポジションのTPとSLを決定する - 現在(ビルド1368)、MQL5はこの方法を知りません。

このライブラリは私自身のために書いたもので、私はCloseByを使わない。だから実装していないんだ。おそらく、スピードが上がり次第、追加すると思います。

一時的な解決策として、ライブラリを有効にする前に以下の行を追加してください。

#ifdef __MQL5__
  bool OrderCloseBy( const int Ticket, const int Opposite, const color Arrow_Color = clrNONE )
  {
    return(false);
  }  
#endif

実際、エラーが発生します

cPoza::closeBy Counter close failed ticketB=168 ticketA=2216 caused error-4754

 
-Aleks-:

実際、次のようなエラーが発生した。

cPoza::closeBy Counter close failed ticketB=168 ticketA=2216 caused error-4754.

では、なぜcloseByを行おうとしているのかというと、もともとこれだけが実装にないと言われていたからです!

上の OrderCloseBy は、あなたのライブラリがコンパイルするための白紙状態です。

動作するOrderCloseByを書くより簡単なことは考えにくい。問題は履歴表示だ。どちらのプラットフォームでも、そこは非常に特殊だ。開発者自身が混乱してしまうほどだ。

私はそれをする必要があるが、まだしていない。自分では使わないし、興味もない。

 
fxsaber:

では、なぜcloseByを行おうとしているのかというと、もともと実装にないのはこれだけだと述べられているからです!

上記のOrderCloseByは、あなたのライブラリがコンパイルするための白紙の状態です。

動作するOrderCloseByを書くより簡単なことは考えにくい。問題は履歴表示だ。どちらのプラットフォームでも、そこは非常に特殊だ。開発者自身が混乱してしまうほどだ。

私はそれをする必要があるが、まだしていない。自分では使わないから、興味がないんだ。

すみません、あなたがくれたコードに注意を払っていませんでした。

 
例えば、現在のモードが私が持っているブローカーの一つでサポートされていないとします。
 
Maxim Dmitrievsky:
もう一つの質問 -ライブラリでSYMBOL_FILLING_MODEを 適切に考慮する方法 -現在のモードが私が持っているブローカーの一つでサポートされていないとします。
あなたが話していることをよりよく理解するために、取引サーバーの名前を投稿してください。何が間違っているのか確認します。
 
fxsaber:
私たちが話していることをよりよく理解するために、トレードサーバーの名前を投稿してください。何が間違っているのか確認します。
ORDER_FILLING_IOCが あることを確認しました。注文も修正されないので、ライブラリで確認する必要があります。
 
一般的には、サーバーが常に正しい値を返すとは限らないので、寄せ集めになってしまい、それを修正する方法がない。ここのフォーラムでも同じような問題がありました。