MT4からMT5への乗り換えの問題。正確には、MT5で一部のアルゴリズムをerrなしで実行できないことです。 - ページ 3

 
Eugeni Neumoin:

という質問に答えるようにしています。データはありません。

ログはツールチップに表示されます。ツールチップのコードが記載されています。時系列が生成されました。W1個の時系列を持つグラフが構築される。Dostapは欠席。iBarShift関数がエラーを発生させる。MT4では、同様のエラーは発生しません。

またしても、コードと作業結果を見せろという要求を無視するのか。

再現性のあるMQL5コードを提供してください。

 
Eugeni Neumoin:

Artemさん、記事考察スレッドで私の投稿を削除したのはあなたですか?フォーラムメンバーのリクエストに応えたのはどこだろう?

このフォーラムのスレッドで提起されたトピックに触れただけです。そして、この軽率な態度に怒りを覚えた。そこで、このフォーラムのスレッドを作成しました。

======

以前、この掲示板で意見が対立したことがあるんです。ここで議論しても仕方ないでしょう。検閲を受けずに大いに発言できる掲示板はたくさんあります。

2005年当時、あるモデレーター(HQ)がAlpariのフォーラムで同じようなことをやっていました。そして、ほぼ全てのフォーラムがAlpariからOnyxに移行しました。

いいえ、私は何も削除していません

 
Vladimir Karputov:

またしても、コードとその結果を見せろという要求を無視するのか。

再現性のあるMQL5コードを提供してください。

コードが5万行ほどあることです。公には掲載しません。

浮いている状況です。でも...別のコードを作成してみます。それも小さくはないでしょう。

そして、それには時間がかかります。

私が紹介している「言語ガイド」のリンク先を読んでいただければと思います。Metakvotesの誰かが、データアクセスはいつでも終了させることができると白黒つけている。

以下、語学ハンドブックからの引用全文です。

データの入手方法

HCC 形式、あるいはすぐに使える HC 形式のデータが入手できても、そのデータが無条件にチャートに表示できたり、mql5 プログラムで使用できたりするとは限りません。

mql5-programから価格データやインジケータの値にアクセスする場合、ある瞬間、ある時点から利用できることが保証されていないことを忘れてはならない。これは、MetaTrader 5がmql5-programに必要なデータの完全なコピーを保存せず、リソースを節約するためにターミナルのデータベースに直接アクセスするという事実と関係があります。

すべての時間枠の価格履歴はHCC形式の共通データから構築されており、サーバーの更新はすべての時間枠のデータ更新と指標の再計算につながります。そ のため、ついさっきまで利用できていたデータであっても、アクセスが拒否 されることがあります。

もっとシンプルなやり方でもいいんです。すでに何人かの方に購入していただいています。このスレッドについて彼らから苦情があれば、そのメッセージをここに公開します。そして、このことは言語の開発者によって規定されていることであることを皆に知らせよう。たとえそのデータがさっきまで利用可能であったとしても、データへのアクセスが拒否されることがある のだ。

 
Eugeni Neumoin:


端末の設定とコード:チャート上のバー 数を入力してください。

 
Vladimir Karputov:

コードと一緒に端末設定を提供:チャートのバー数

バーの本数はデフォルトです。10万人くらいか。そして、上記の例では271本のバーへのアクセスが拒否されています。

 
Eugeni Neumoin:

バーの本数はデフォルトです。10万人くらいか。そして、上記の例では271本のバーへのアクセスが拒否されています。

すでにH1で作業している場合、これは無視できるほどの小節数です。

つまり、再現性のあるコード、端末の設定(チャートのバーの数)。


この最低限がなければ、単に何も議論できない--今のところ、空気である。

 
Eugeni Neumoin:

バーの本数はデフォルトです。10万人くらいか。そして、上記の例では271本のバーへのアクセスが拒否されています。

2分ごとに、インジケータで使用されているすべての時間枠とシンボルからデータを取得する必要があります。

ハンドラOnTimer()で、言い換えれば - タイマーで、指標の動作に必要なすべての時間枠に90秒に一度適用されます。どのコピー機能を使っても構いません。使用する各タイムフレームの最初のバーまたは現在のバーから、例えば「どこにもない」データを取得するだけです。これだけあれば、すべての時間軸のデータを最新の状態に保つことができます。

そして、OnCalculate() の一番最初に、目的の時間枠のデータにアクセスする関数が何を返すかをチェックします。もし、-1を返したら、次のティックの前に終了します。

 
Artyom Trishkin:

2分ごとに、インジケータで使用されているすべての時間枠とシンボルからデータを受信する必要があります。

ハンドラOnTimer()では、言い換えれば - タイマーでは、90秒ごとなど、指標の動作に必要なすべての時間枠に対応しています。どのコピー機能を使っても構いません。使用する各タイムフレームの最初のバーまたは現在のバーから、例えば「どこにもない」データを取得するだけです。これだけあれば、すべての時間軸のデータを最新の状態に保つことができます。

また、OnCalculate()の冒頭で、目的の時間枠のデータにアクセスする関数から何が返されるかをチェックします。もし-1なら、次のティックの前に終了する。

OnCalculate()で問題なし。GUI全体はOnChartEvent()を通して動作します。GUIには400以上のボタンが用意されています。一部のボタンは、タイムスリップと一切連動しません。関数OnCalculate()とOnTrade()は次のティックまで待つことができます。これは心理的に目立たない。そして、OnChartEvent()ではもっと複雑です。ここには人間の心理が絡んでいます。番組利用者がGUIボタンを押す。そして、彼/彼女は自分の望む反応を得ることができません。相手の反応は?そのひとつが、同じボタンをもう一度押すという反応です。多くのボタンを2度押しすると、そのボタンで接続されている機能が無効になるようにしたのです。他の方法でボタンアクションを無効にする、という提案を期待します。しかし、MT4用の同じプログラムがあります。そこでは正常に動作しています。 MT4はグラフィカル・インターフェースとのインタラクションのアルゴリズムが1つで、MT5は別のアルゴリズムであることがわかります。このような同一プログラムの動作は、リジェクトの原因になるだけです。

MT5に翻訳するときに似たようなことをしました - OnChartEvent()からの終了を有効にしたのです。嘘はつきたくない、だからGUIは死んでいく一方だったんだ。

また、私の場合、OnTimer()でのタイムスリリーの参照は5分後に発生します。2分後にやります。どうなるのか確認してみます。

アルテムさん、あなたの提案は以前も役に立ちました。

 
Vladimir Karputov:

H1ですでに動作している場合は、無視できるほどのバー数です。

つまり、再現性のあるコード、端末の設定(チャートのバーの数)。


この最低限がなければ、単に何も議論できない--今のところ、空気である。

私がフォーラムで提起した問題に、これ以上干渉しないでください。

あなたとのコミュニケーションは、以前も今も何も役に立っていない。

フォーラムの他の枝に何かを書き込むことができます。そして、私の枝では、参加しないでください。

 
Artyom Trishkin:

すべてのタイムフレームを2分おきにアクセスするようにしました。OnCalculate()でタイムフレームへのアクセスを確認しても、プログラムの動作に支障はないよう です。

しかし、OnChartEvent()での チェックは動作に影響 します。場合によっては、GUIが動作しないこともあります。

2分に1回、すべてのtfにアクセスしたときのプログラムの動作を観察してみる。

================

ところで、MT5とMT4の違いをもう一つ発見しました。

グラフィカルインターフェースによるグラフィカルツールの バインディングは、ザグザグの極限の数または波マークアップのシンボルに対して行われます。

バインディングは、プログラムが数字や記号を "見た "ときに行われます。その意味するところを説明します。数字や記号にカーソルを合わせると、ツールチップが表示されます。

ツールチップが表示されれば、プログラムはその数字や記号を「見て」いることになります。ツールチップがない場合は、数字や記号は見えないままです。グラフィカルツールは付属していません。そのため、グラフツールはチャート上に表示されません。

例えば、AndrewsのPitchforkがすでにこの数字やシンボルにバインドされている場合(他のグラフィックツールでは確認していません)、MT4ではツールチップが表示されます。しかし、MT5ではツールチップはほとんど表示されません。しかし、指定した番号にリンクしているAndrews' Pitchforkを隠すと、ツールチップは正常に表示されます。

数値の近くに他のグラフィックオブジェクトがあると、MT5がツールチップを表示する際の感度が悪くなるような気がします。しかし、MT5ではMT4にはない時系列の追加更新があるため、このようなことが起こる可能性は否定できません。これらの追加アップデートにより、一部のMT5機能に遅延が発生している可能性があります。(これは私の妄想です。MT5の内部構造は知りません)。

Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи аналитических объектов. Всего в торговой платформе доступно 46 таких инструментов. Среди них имеются геометрические фигуры, различные каналы, инструменты Ганна, Фибоначчи, Эллиотта и многое другое. В...