MT4-テスター VS MT5-テスター - ページ 4

 
fxsaber:

反論するつもりはない。MQL4に詳しいフォーラムユーザーの皆様には、この短いソースコードを見て、Renatが何を意味しているのか説明していただきたいと思います。


私の勘違いでしょうが、MT4の履歴がどこで扱われているのかがわかりません。よろしくお願いします。

これは本気ではない。

そして大雑把。明確な説明に対する完全な「誤解」(取引データのために登るOrderXXX関数は、MT4/MT5の履歴呼び出しがフル稼働)と、何千億もの無駄な呼び出しの間抜けなループがそれを明確に示しています。

 
fxsaber :

私は反論しません。MQL4に詳しい会員の方は、この短いソースコードを見て、Renatが何を意味しているのか説明してください。


私が間違っているのかもしれませんが、MT4で履歴を操作しているところが至近距離に見当たりません。よろしくお願いします。

Renatは完全にクリアで正しい。mql4 "ライブラリなしでmql5のEAを書いてみれば、その大きな違いがわかるでしょう。 mql5/MT5には、新しいものを発明しなくても、十分な現実的な問題があります。

翻訳する。

レナートの言うことは、まったくもって明快で正しい。mql4ライブラリを使用しないmql5のEAを書くと、大きな違いがあることがわかるでしょう。mql5 / MT5には、新たな問題を作り出さずとも、十分に現実的な問題があります。

 
Renat Fatkhullin:

これは本気ではない。

それでアウトラインなんです。明確な説明の完全な「誤解」(取引のデータの上を登る任意のOrderXXX関数は、MT4/MT5の歴史を完全に参照している)と、数千億の無駄な呼び出しの間抜けなループは、明らかにそれを示しています。

ドキュメントより

受注高

未決済注文と保留注文の合計件数を返します。

intOrdersTotal();

戻り値

未決済および保留の注文の合計金額。

受注履歴の合計

クライアント端末に読み込まれた、現在の口座履歴のうち、決済された注文と削除された注文の数を返します。

intOrdersHistoryTotal();

戻り値

クライアント端末に読み込まれた口座履歴のうち、決済された注文と削除された注文の件数です。履歴リストのサイズは、端末の「アカウント履歴」タブの現在の設定に依存します。

Торговые функции - Справочник MQL4
Торговые функции - Справочник MQL4
  • docs.mql4.com
Торговые функции - Справочник MQL4
 

なぜ引き延ばすのですか?

OrderSelect、OrderProfitなど、十数個の関数がありますね。OrderSelectの 意味を理解していないのか?

データベースには20万件以上の取引があり、毎ティック20万回SelectOrderFromAllBaseを 実行します。1本で180万個のダニがいる。

だから、このテストは、取引の歴史の愚かなスキャンについてだけです。


そしてもうひとつ、テスターでは、端末の設定に関係なく、履歴が丸見えになっています。
 
OrderSelect, OrderProfit など、十数個の関数がありますね。データベース全体からのOrderSelectの 意味を理解していないのでは?データベースには200 000以上の取引があり、OrderSelectを1ティックあたり200 000回行って います。1本で180万個のダニがいる。つまり、このテストは純粋に取引履歴を間抜けにスキャンしているに過ぎない。
そしてもうひとつ、テスターでは端末自体の設定に関係なく、履歴がフルに利用できるようになっています。

レナートのことは理解しています。最適に書かれたアルゴリズムは、毎回のティックで ヒストリに入るべきではありません。特に、履歴に数千、数百の案件が含まれていれば、楽しいでしょう。スタート時に一度履歴を確認すれば十分なので、OnInitを使い、あとは短い履歴のリフィルを追うだけでいいのです。

 
Renat Fatkhullin:

なぜ引き延ばすのですか?

OrderSelect、OrderProfitなど十数個の関数がありますね。OrderSelectの 意味を理解していないのか?

禁止令が出るのも間近な気がします。すべて沈黙している...

これもドキュメントからの 引用です。

オーダーセレクト

注文を選択して、作業を続行します。

boolOrderSelect()
intindex,// オーダーのインデックスまたはチケット
intselect,// 選択メソッドのフラグ
intpool=MODE_TRADES// 選択のためのデータソース
);

パラメータ

チケット

[in] オーダーインデックスまたはオーダーナンバー(2番目のパラメータによる)。

選ぶ

[in] 選択方法のフラグ。以下の値のいずれかを指定することができる。

SELECT_BY_POS - index パラメータには、リスト内の順序のインデックス番号が含まれます。
SELECT_BY_TICKET - インデックス・パラメーターにチケット番号が含まれます。

pool=MODE_TRADES

[in] 選択するデータのソース。selectパラメータがSELECT_BY_POSのときに使用されます。以下の値のいずれかとする。

MODE_TRADES(デフォルト) - 未決済注文と保留中の注文 の中から選択されます。
MODE_HISTORY - 注文は、クローズされた注文と削除された注文の中から選択されます。

OrderSelect - Торговые функции - Справочник MQL4
OrderSelect - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderSelect - Торговые функции - Справочник MQL4
 
Yuriy Zaytsev:

レナートのことは理解しています。よくできたアルゴリズムなら、カチカチ 音を立てるたびにストーリーを確認する必要はないはずです。

どの時点で?
 

なるほど、未決済の注文だけがチェックされていることがわかりました。図書館に入らず、歴史をスキャンしているのかと思った。

だから、10億円の歴史スキャンに関する私の発言は間違っている。数十万件の取引であることは明らかですが、もっと深く見る必要があります。

スルーしてすみませんでした。
 
Renat Fatkhullin:

なるほど、未決済の注文だけがチェックされていることがわかりました。図書館に入らず、歴史をスキャンしているのかと思った。

多くの人が忘れてしまったMQL4です。クロスプラットフォームということではなく、MT5で使うと非常に便利なので使っています(MT4はほとんど使っていません)。

繰り返しになりますが、私はアウトラインに興味はありません。建設的な議論をしたい。これまで

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

MT4-テスター VS MT5-テスター

fxsaber さん 2017.05.08 09:13

1598は1596よりはるかに高速に動作します。また、History-functionsが全く使われていない場所でも機能します。どうやら、 端末自体が走行中に、こうした今まで遅かった機能を内蔵で 起こしてしまったようです。

修正され、良好です。すでに素晴らしいMT5テスターがさらに良くなり、MT4+TDSの機能をカバーするようになれば、非常に良いことだと思います。

このようなテスターの設定は、確かに需要がある場合もあります。そして、そう遠くない将来、MT5でこれが可能になれば最高です。


ZS そうこうしているうちに、比較から1つのボーナスが ほとんど届いてしまいました。もう1つ熟成しているようです。

 

あなたのことではなく、きちんと書かれたアルゴリズムであれば、すべてのティックで履歴に残る必要はないということなのです。