MG4スクリプトとアドバイザーをサポートするテスター - ページ 4

 

皆さんも壁に頭をぶつけたり、ぬるま湯を工夫したり...。しかし、Integerの 言うとおりです。

整数

その通りです。特に、自分の優れた地位の権威を利用すること。

どの言語も、贅沢なものを除けば同じです。どれも、どんなダミーでも21日で習得できるものばかりです。for, while, if, switchはすべて表記が違うかもしれませんが、原理的には何の違いもありません。重要なのは演算子の書き方ではなく、その言語が相互作用するインフラです。この点で、MT4とMT5は別世界のものです。

全てにおいての違い。MT4では右から左へ、MT5では左から右へ、インジケータ内のバーのナンバリングで、小さなことから始めます。より重要なもの、つまり集計位置と取引履歴データの整理の続きです。しばしば必要とされるものの最大の違いは - データの引用符や指標にアクセスする方法で、データのコピーは、その後、左から右へインデックスを作成し、右から左へ、バーの時間は、範囲に含まれるかどうか、チェックが必要です。CodeBaseのiBarShift()関数の議論を一手に引き受けましょう。

MT4ではEAの安定稼働のためにOrderSelect()の戻り値をチェックすればよかったのですが、MT5では最後のティックのデータまで毎ステップでチェックする必要があります。また、MT5のプログラミングは、落とし穴が多いので、たくさん悩んで初めてわかる微妙なところがあります。


 
Renat:

この掲示板に書かれていないこと。

なぜかというと、責任がないからです。何でも言っていいんですよ。

言語はやはり違う。5のインジケーターのコードが4で機能するとは限りません。容量が足りない
 
Vinin:
言語はやはり違う。5のインジケーターコードが4で機能するとは限りません。容量が足りない
4のインジケーターコードは4でも使える方が良い。そして、機能は不要になる
 
borilunad:
のインジケーターコードが4でも使えるともっといいんですけどね。そして、機能も必要ないでしょう。
働いているのです。修正または再コンパイルされない限り
 
Vinin:
働いているのです。修正・再コンパイルしない限り
テーマ」は何も変えていないのですが、「ターミナル」を670番台から711番台に更新した際、テスターでどれを使っても重くなったので報告したのですが、標準のMAで実験し始め、未熟さで今までできなかったことがいろいろと見つかりました。今は満足して仕事をしています。災難と言われる8を購入したことだけが不満で、それだけをやり、あとはすべてVistaでやるつもりでした。Vistaが存続している間はVistaを継続し、その後は誰も信用せずに購入し、石鹸やWebサイトなどはこの8thに任せるしかないのでしょう。:)
 
Renat:

MetaTrader 4は、履歴の深さに制限があり、タイムフレームが分かれており、Open/High/Low/Close/Time[xxx]を介してそのシンボルバーへ直接アクセスが可能です。このようなダイレクトアクセスは、リソースやCPUコストの面で実装が非常に高価になります。他のExpert Advisorや端末との競合を避けるため、各Expert Advisorはこのデータの独自のローカルコピーを持っていることを考慮してください。

これは本当にユーザーの問題ではなく、あなたの問題です。つまり、端末のデータアクセスの問題をユーザーに転嫁していると言えるでしょう。

つまり、コーディングスキルのハードルを上げるか、無効なコードが大量に発生し、MT4の便利な直接アクセスよりも悪化し、非効率になるかのどちらかです。

実際、あなたのソリューションの中には、非常に議論を呼ぶものもあります。

 
TheXpert:

これは本当にユーザーの問題ではなく、あなたの問題です。つまり、端末のデータアクセスの問題をユーザーに転嫁していると言えるでしょう。

つまり、コーディングスキルのレベルを上げるか、MT4の便利な直接アクセスよりはるかに悪い、効果のない、曲がったコードの束を得るかのどちらかです。

一般的に、あなたのソリューションの中には、非常に議論を呼ぶものがあります。


全文を読む - これ以上使えないという直接的な理由付けがある。

また、ユーザーがブレーキやリソースの過剰使用について後で責めることがないよう、要求されたデータについてより効果的な制御を行うようにしました。

簡単な例:ユーロドルM1のExpert Advisorで10年の履歴がある場合、現在のチャートは約200mbかかる。MT4モデルでは、各ティックで 200MBをエキスパートのシャドースナップショットに(たとえ控えめにでも)複製しなければならず、200MBのメモリを失うことになります。MT5では、このようなキャッシュのためのメモリ消費はまったくなく、Expert Advisorはほとんどの場合、履歴の小さな部分のみを要求し、それをローカル配列に置き、最大速度でそれを使って動作します。

 
Renat:

遅延や過剰なリソース消費を後で責められることのないよう、要求されたデータに対してより効果的な制御を行うようにしたのです。

全文読ませていただきました。不可能ではありません。チャートのタイムフレームを集めると、Expert Advisorのタイムフレームも同じように集めることができ、非常に効果的です。

なんでユーザーがブレーキ踏んだら殺されると思ってるんだ?

MT4モデルでは、EAのシャドウスナップショットに対して、200MBを1ティックごとに(たとえ控えめにでも)複製しなければならず、200MBのメモリを浪費することになるのです。MT5にはそのようなキャッシュのためのメモリ費用が全くなく、Expert Advisorはおそらく履歴の小さな塊だけを要求し、それをローカル配列に置き、それを最大速度で動作させるでしょう。

スマートキャッシュを作る(経験あり)、残りはメモリに残さない。
 

内部効率的なエコシステムと仮想マシンを 備えた独自のターミナルエンジンを書いて、それから話をしよう。私たちは過去4つのプラットフォームをこのように書き、何度もアーキテクチャを改良してきました。だから、私たちの判断は、実際の経験によって正当化されるのです。

そうでなければ、「やれ、スマートキャッシュだ、悪用されないぞ、などというアドバイスには応えられない。

 
Integer:

その通りです。特に、自分の優れた地位の権威を利用すること。

どの言語も、特に贅沢なものを除けば、同じようなものです。どれも、どんなダミーでも21日で習得できるものばかりです。for, while, if, switchはすべて表記が異なるかもしれませんが、根本的に何かが変わるわけではありません。重要なのは演算子の書き方ではなく、言語と相互作用するインフラです。この点で、MT4とMT5は別世界のものです。

何事にも違いがあります。MT4では右から左へ、MT5では左から右へ、インジケータ内のバーの番号付けについてです。

...

MT5では、デフォルトでMT4と番号の付け方が逆になっているのみです。実は、アレイはどの方向にも反転させることができるのです。関連項目:配列、バッファ、タイムスケールにおけるインデックスの方向性

整数

...

続いて、より本質的なこととして、集計ポジションと取引履歴データの整理があります。

...

また、MT4では、OrderCloseBy()を使ってサーバーに追加注文を送ることで商品の反対側のポジションをカバーしなければならず、様々な理由で常にうまくいかないという問題がありました。そのため、追加で注文をチェックし、再送信しなければ、取引システムのロジック全体が壊れてしまうのです。

MT5では、集約的な位置づけのため、すべてを許容範囲内に簡略化しています。今では、例えば、損益分岐点をどうするかということを心配する必要すらありません。この愚かな質問は、MT4にのみ関係します。結局のところ、集約されたポジションの建値がBreakevenレベルである。勝ちポジションの場合、追加注文を出すことなくサーバー上で自動的に決済されるため、すべてがシンプルになりました。

すなわち、集約的なポーズを犠牲にして、コードの量を必要かつ十分なレベルまで削減し、また、それらに必要な冗長な命令やチェックも削減したのです。

整数

MT4ではOrderSelect()の戻り値をチェックすればよかったのですが、MT5では最後のティックのデータでも毎ステップチェックする必要があります。MT5のプログラミングは、落とし穴が多いので、たくさん悩んで初めて身につく、より繊細な部分があります。

MT5では、誰も追加チェックを使うことを強制していません。MT4と同じように、サーバーから正しく読み込まれていないもの、あるいは全く読み込まれていないけれども初期化されただけのものを、チェックなしで処理しようとすればよいのです。この場合、性能もMT4に対応し、つまりテスターの中だけですべてがうまくいき、デモやリアル口座で無意味なことを見ることになります。

つまり、MT5での追加チェックの増加は、取得した情報の品質を確認するためのものである。MT4では、このようなチェック機能がないため、重要なケースでは、ターミナルから受け取った、意思決定のために処理する必要がある情報が信頼できるかどうかを確認することができません。端末がサーバーから必要なものをすべて正しくダウンロードしたことを願うしかないが、それを確かめる方法はない--正しいかどうかをチェックするものは何もないのだ。


一般に、MT5への攻撃は、新しいターミナルに切り替えたくない人のための腐った言い訳か、MT5の名前だけは聞いたことがあるが、どこにあるのか知らない人の発明でしかないのです。

MT4は、素敵なバランスカーブを描くためのテスターで、多かれ少なかれ「取引」に適した原始的なアルゴリズムを作成するための昨日のターミナルです。ポケットに入れてパンに貼ることもできず、さびしいスレでの自慢にしか使えないので、きれいなバランスカーブを描くことに興味がない人は、MT5に乗り換える必要があります。