初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 158

 
pronych:

OnCalculateイベントなど、内部から指標の強制更新をトリガーするにはどうすればよいですか?

そのため、修正しない場合(以下は、発生しうる問題点)。

またはタイマーで(この ようなもの)。

 
Silent:

そのため、直らなければ(以下、起こりうる問題点)。

タイマーでもいい(何でもいい)。

なるほど。))社内の機能を聞いてみましたか?

 
pronych:

なるほど。))社内の機能を聞いてみましたか?

私はしていません、一般的にはそうです(メタドライバがSDに書いたと思います)、フォーラムで何度か質問が出ました。

デベロッパーからの反応は、あったとしても、わからない。

PSは便利かもしれません。

MQL5による多通貨ボラティリティ・インディケータの 開発

価格乖離分析のための多通貨対応インジケータの開発

ここに掲載されているはずなのですが、見つけられませんでした。

1つ目では、エラーが発生した場合

CCanvas canvasの40行目、エラー

未解決の静的変数 'CCanvas::m_default_colors' です。

つける

uint CCanvas::m_default_colors[9]={0};

ずっと前に議論していたのに、確認していない、何が変わったのか。

Разработка мультивалютного индикатора волатильности на MQL5
Разработка мультивалютного индикатора волатильности на MQL5
  • tol64.blogspot.com
В этой статье рассмотрим разработку мультивалютного индикатора волатильности. Начинающий разработчик на MQL5 может столкнуться с некоторыми сложностями при разработке мультивалютных индикаторов, но после прочтения этой статьи всё станет намного проще. Основные вопросы при разработке мультивалютного индикатора относятся к синхронизации данных...
 

さて、メタドライバーに挑戦してみましょう。もしかしたら、開発者の回答について、何かヒントを与えてくれるかもしれません。ボロディ...

Володя (песня измученного ангольского народа)
Володя (песня измученного ангольского народа)
  • my.mail.ru
Песня посвящена ангольскому революционеру одному из командиров MPLA, убитому в 1975 году (в Луанде в честь него названа одна из улиц). Валодя – это было его боевое прозвище. После 75го года песня про Валодю была очень популярна в Анголе. Где только я ни слышал это имя, Незабываемое для сынов Анголы. Володя, Володя, Володя, славный защитник ангольского народа! Володя, Володя, Володя, противник империалиста, Который собирается установить режим...
 
pronych:

さて、メタドライバーに挑戦してみましょう。もしかしたら、開発者の回答について、何かヒントを与えてくれるかもしれません。ボロディ...

質問の意味がよくわからなかったのですが、普通のテロップを出せとは言ってません。逆にサイレントが......、要するに、お互いに希望し合っていたようなものです。

間接的なケースは、TERMINAL_MAX_BAR 以外のデータを要求すると、チャート上のすべてのインジケータがリフレッシュされることが判明した後、すでにあったものです。

ボタンチャートのリローダを 作り直し、新しいバージョンでサービスデスクに送りました。 コメントで「また動くといいのですが...」と尋ねました。何も言われない・・・大丈夫だった・・・それで特集を組んだんだから。

;)

--

まあ、厳密に言えばバグではないんだけどね。 ターミナルがクラッシュするわけでもなく、それほど遅くなるわけでもなく、ただチャートのデータが更新されるだけ。 そこでやっていることは理解できる。 例えば、既存のデータ以外のリクエスト→ターミナルがデータをロードしようとし、その後チャートが更新される。 シンプルで効率的。 犠牲者がいないのになぜ変更するの?

// 「内部からインジケータを再計算する」ことについて、問題がよくわかりません。 質問が明確ではありません。 内部では、インジケータは自分自身のマスターであり、好きなように再計算しているのです。しかし、外部信号を使用する場合は別問題です。そして、回転させる...。

 

男、やめといた方がいいかもね))

prev_calculated が具体的にインジケータのレンダリングにどのような影響を与えるかは、よくわかりません。

私の場合、OnCalculate()とタイマーの両方でリフレッシュを試みています。マルチインストゥルメント。

行の取得に失敗すると、次のティックまたはタイマーまで機能が中断され、描画は行われませんが、初期化されていない(と思われる)値がどこからかチャートに表示されます。

Init()内にArrayInitialize(Buffer ,...)が存在するが。

どこかにバグがあるのかもしれませんね。割と稀に起こるので、なかなか捕まらないんですよね。

OnCalculate()で強制的にキューイングする通常の機能で、ティックが稀なチャートのマルチインストルメントインデックスでのタンバリンプレイを最小にすることができるようになると思われます。

ちなみに、ヘルプに書いてあります ;)

Все необходимые расчеты пользовательских индикаторов необходимо размещать в предопределенной функции OnCalculate().

PS.チップ」の件、了解しました。

PSPS/今回のケースでは、EAにインジケータを使わず、数値計算で対応した方が確実な気がします。そして別途、可視化のためのインジケータを用意。

でも、そうすると同じことを2回計算しなければならなくなる。

 
MetaDriver:

質問の意味がよくわからなかった。 常連のティックコールに頼んだわけではないのだが。サイレントが...、要するに、お互いに頼っていたんだと思います。

...

これは本心です。

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

エラー、バグ、質問

メタドライバー さん 2013.08.03 17:55

"

MetaTrader5を入力端末として使用する場合は、「MetaTrader5」機能を使用する必要があります。

私の目的には必ずしも適していませんが、一般的なケースでは、多くの「週末の問題」が取り除かれるでしょう。

Forトレーディング、自動売買システム、トレーディング戦略のテストに関する専門家。

バグ、バグ、質問

メタドライバー, 2013.08.03 18:02

私もそう思います。

また、選択したシンボルのprev_calculatedを 強制的に全てリセットする「コマンド」もあると便利です。その後のダニ発生とのコンボが良いのでしょう。



 

視覚テストの際、Expert Advisorでインジケータを再初期化した瞬間、古い設定のインジケータがテスターのチャート上に表示され続けます(実際、再初期化のたびに「平行線」が1本追加されています)。新しいハンドルを取得する前に毎回IndicatorReleaseを実行してみましたが、役に立ちません。

コードで新しいハンドルを取得する。

void f_indicator_reinit()
 { 
    
   IndicatorRelease(firstHandle);
   IndicatorRelease(secondHandle);
   IndicatorRelease(thirdHandle);
   IndicatorRelease(fourthHandle);  

   bughelper=bughelper+1;
   
   firstHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,HotPink,HotPink,10,MODE_SMA,PRICE_CLOSE,1);
   secondHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,White,White,10,MODE_SMA,PRICE_CLOSE,2);   
   thirdHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,Red,Red,10,MODE_SMA,PRICE_CLOSE,3);   
   fourthHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,Gold,Gold,10,MODE_SMA,PRICE_CLOSE,4); 
 }  

bughelper変数を導入したのは、入力パラメータを変更しないとインジケータが 再計算されないからです。

 
Silent:

そういうことなんです。

TERMINAL_MAX_BARの外側のデータを要求することで、再計算の問題を解決しました。

そして、チャートは一般的に更新されるので、要求がインジケータ内から行われるか、外部プログラムから行われるかは問題ではありません。 主要なことは、プログラム(要求者)がこのシンボルと時間枠のデータを要求するということです。

実際、私は「マシン上で」チャートを更新する必要があるケースに遭遇したことはありません。 私は自分のボタンに完全に満足しています // 上のリンクを参照してください。

ティック生成(チャート更新なし)では、問題は解決されませんが、私はあまり解決していません - 多くの場合、多くの方法で回避できます(主にタイマーを使用する)。

 
IndicatorRelease(firstHandle);
Функция возвращает ошибку 4014 - 

err_function_not_allowed

4014

システム関数の呼び出しが許可されていない

IndicatorRelease() が呼び出されない理由は何でしょうか?