カスタムシンボル。エラー、バグ、質問、提案。 - ページ 32

 

CustomTicksReplaceとCustomTicksAddは、TICK_FLAG_BUYとTICK_FLAG_SELLのフラグを保持 しません。その結果、デルタタイプの指標はカスタムシンボルでは 機能しません。なぜ、開発者はこれらの国旗を保存しないことにしたのでしょうか?

 

MT5 3041です。このサービスでは、カスタム商品の 気配値(ティックとバーの両方)を作成し、更新します。

このチャート上で動作するExpert Advisorで呼び出されるSymbolInfoDoubleとSymbolInfoTickが、ある時点で「ハング」することがわかりました。マーケット概要で相場が変わり、チャートが更新され、iCloseとCopyTicksRangeが実際のデータを取得しますが、SymbolInfoXXXは古い情報を提供します。

解析の過程で、これらの「ハング」を検出するための最も単純なコードにたどり着きましたが、もっと早い段階で、反対側の問題を示しました:SymbolInfoXXXは iCloseに比べて、単に容赦なく遅れている のです肉眼で見ることができます。


そのようなEAをあなたのカストマーチャートで動かしてみてください。

int OnInit(void)
{
        EventSetMillisecondTimer(10);
        return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
        EventKillTimer();
        Comment("");
}

void OnTimer(void)
{
        MqlTick tick;
        SymbolInfoTick( _Symbol, tick );

        Comment( "SymbolInfoInteger( _Symbol, SYMBOL_TIME ) = ", TimeToString( SymbolInfoInteger( _Symbol, SYMBOL_TIME ), TIME_SECONDS ),
                                        "\nSymbolInfoDouble( _Symbol, SYMBOL_BID ) = ", SymbolInfoDouble( _Symbol, SYMBOL_BID ),
                                        "\ntick.time = ", TimeToString( tick.time, TIME_SECONDS ),
                                        "\ntick.bid = ", tick.bid,
                                        "\niClose[0] = ", iClose( _Symbol, PERIOD_CURRENT, 0 ) );
}

(OnTimerはOnTickに変更可能で、効果は同じです)

同様のラグがあるのでしょうか?

 
Andrey Khatimlianskii #:

同じようなブレーキはありますか?

カスタムキャラクターを更新していないため確認できない。

 
Alain Verleyen #:

すでに議論されていることですが。

SYMBOL_VOLUME_MAXを最初に設定する。

 
Andrey Khatimlianskii カスタム商品の 気配値(ティックとバーの両方)を作成し、更新します。

このチャート上で動作するExpert Advisorで呼び出されるSymbolInfoDoubleとSymbolInfoTickが、ある時点で「ハング」することがわかりました。マーケット概要では相場が変わり、チャートは更新され、iCloseとCopyTicksRangeは実際のデータを取得しますが、SymbolInfoXXXは古い情報を提供します。

解析の過程で、これらの「ハング」を検出するための最も単純なコードにたどり着きましたが、もっと早い段階で、反対側の問題を示しました:SymbolInfoXXXは iCloseに比べて、単に執拗に遅れている のです肉眼で見ることができます。


そのようなEAをあなたのカストマーチャートで動かしてみてください。

(OnTimerはOnTickに変更可能、本質は変わらない)

同様のスローダウンはありますか?

ダニを更新するために使用しているサービスを教えてください。少しでもお役に立てればと思いますし、お役に立てれば幸いです。

 
Slava #:

Slavaさん、SymbolInfoDoubleとSymbolInfoTickはスロー/ハングする必要がありますか?

再生しているのか?

ブレーキングを測定するコードを書くと、視覚効果だけでは不十分?

 
Andrey Khatimlianskii #:

SymbolInfoXXXは iCloseと比べると信じられないくらい遅い んです。肉眼で見ることができます。

誰も答えてくれないので、何か馬鹿なことを言ったのでしょう。

時々、正常に動作し、チャート情報がほぼ同期して更新されます。また、SymbolInfoXXXが数十秒ハングアップすることがありますが、計測せずに見えています。

カストラムツールのデータ受信機構に異常がある。また、問題はSymbolInfoXXX関数のみで、iCloseやCopyTicksRangeは問題なく動作します。

 
Andrey Khatimlianskii #:

また、SymbolInfoXXXが数十秒ハングアップすることがありますが、これは計測しなくてもわかります。

キャズムツールデータ取得の仕組みがおかしいのでは...?また、問題はSymbolInfoXXX関数のみで、iCloseやCopyTicksRangeは問題なく動作します。

SymbolInfoXXXは、実行速度が変化するので、サーバから何かを引っ張ってきているのでしょう。もちろん、この関数の動作は一般的には非常にわかりにくいものです。つまり、あるメソッドが直接的に何らかの後ろ向きのものを取得しようとしているのです。カスタムで動くiTimeと動かないiTimeが あるんです。私はまだ理解していない、どのような原理で

 
Andrey Khatimlianskii #:

また、問題はSymbolInfoXXX関数のみで、iCloseやCopyTicksRangeは問題なく動作します。

あなたのテストを試しましたが、すべて全く同じでした - 数秒の遅れ。

楽器 Silv-12.21. ММВБ, ブローカー БКС.でも、そんなことはどうでもいいんでしょうね。

 
RusPro #:

SymbolInfoXXXは実行速度が可変であるため、サーバーから何かを引っ張ってきているのでしょう。もちろん一般的には、この関数の動作は混乱を招く。直接的に使用する方法と、逆に使用する方法があることがわかった。カスタムで動くiTimeと動かないiTimeが あるんです。どういう原理で動いているのか、まだ 理解できていません。

カスタムツールの話ではなく、カスタムの話です。定義によれば、それらに関するすべての情報はターミナルで利用可能であり、何もサーバーに行く必要はありません。

理由: