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

 
SILVERPRINT:
Mql4で テスターのデータではなくインジケータを参照すると、Mql 5の最後のデータも同じように表示 されたのですが?

何もわからないんです。言い換えたり、句読点をつけたりしてみる。

 

標準ライブラリのメソッドを使用して作成されたすべてのインジケータは、手動で 更新する必要がありますか?

2つの方式があります。

RefreshCurrent
Refresh


自動更新が必要 な場合は、最初の1枚が必要ということですね?

そして2つ目のRefreshはデータ配列全体のティックに1回だけ手動で リフレッシュさせるということでしょうか。

 
SILVERPRINT:

標準ライブラリのメソッドを使用して作成されたすべてのインジケータは、手動で 更新する必要がありますか?

2つの方式があります。


自動更新行う 場合は、最初の1枚が必要ということですね?

そして2つ目のRefreshはデータ配列全体のティックに1回だけ手動で リフレッシュさせるということでしょうか。


Expert Advisorにインジケータを作成するコードを示してください。

 
Vladimir Karputov:

何もわからないんです。言い換えたり、句読点をつけたりしてみる。


mql4ではテスターのインデックスゼロのインジケータからの情報で、ヒストリーからフリッパーの日付が出ました。mql5で同じようにibarshiftをしたことがありますか?

 
SILVERPRINT:

mql4では、テスターのインデックスゼロのインジケータからの情報は、履歴から日付のフリッパを与えていました。mql5で同じようにibarshiftをしたことがありますか?


言い換える。句読点をつける。ロシア語で書く。

 
Vladimir Karputov:

EAにインジケータを作成するコードを表示してください。

#include <Indicators\Trend.mqh>
#include <Indicators\Oscilators.mqh>
#include <Indicators\TimeSeries.mqh>

MqlTick infotick;
MqlDateTime currentTime;
CiMA ValueofMA200;
CiMA ValueofMA20;
CiMA ValueofMAHour;
CiATR atr;
CiTime timeh1;
CiTime timeD1;


   sym=_Symbol;
   ValueofMA200.Create(sym,PERIOD_D1,slowma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMA20.Create(sym,PERIOD_D1,fastwma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMAHour.Create(sym,PERIOD_H1,mahours,0,MODE_SMA,PRICE_CLOSE);
   atr.Create(sym,PERIOD_H1,200);
   timeh1.Create(sym,PERIOD_H1);
   timeD1.Create(sym,PERIOD_H1);
   
   timeh1.BufferResize(25);
   timeD1.BufferResize(200);
   
   timeh1.Refresh(PERIOD_H1);
   timeD1.Refresh(PERIOD_D1);

         ValueofMA200.Main(0);
         ValueofMA20.Main(0);
         ValueofMAHour.Main(0);    
         atr.Main(0);
このくらい
 
SILVERPRINT:
このように

はい、標準ライブラリ クラスを使用してインジケータを作成する場合は、Refresh メソッドを使用してデータを取得する必要があります。

 
Vladimir Karputov:

はい、標準ライブラリ クラスを使用してインジケータを作成する場合、データを取得するためにRefresh メソッドを使用する必要があります。

これらの方法はどのように機能するのか、何を使うのが良いのか?

RefreshCurrent
Refresh
RefreshCurrentはtick毎にコストがかかるメソッド だと理解しています。
 
SILVERPRINT:

1)これらの方法はどのように機能するのか?2)どちらを使うのが良いのでしょうか?


1) エディタでこのメソッドに移動します(メソッド名をミドルクリックすると、このメソッドにジャンプします) - これで、このメソッドがどのように動作するかがわかります。メソッドや関数をミドルクリックすると、その関数やメソッドのコードそのものにジャンプするという、普遍的なレシピです。

2)二者択一ではない。クラスで指標を作成 する人もいれば、ハンドル(iMA、iMACD・・・)で作成する人もいます。

 
Vladimir Karputov:

1) エディタでこのメソッドに移動し(メソッド名を中クリックするとこのメソッドに移動します)、メソッドがどのように動作するかを確認します。メソッドや関数をミドルクリックすると、関数やメソッドのコードそのものにジャンプするという、普遍的なレシピです。

2)二者択一ではない。クラスで指標を作成 する人もいれば、ハンドル(iMA、iMACD・・・)で作成する人もいます。


私のマウスには真ん中のボタンがありません、純銀製です)。おそらく、最適な通話に関する私の問題は、すでに何年もかけて解決されたのでしょう。刻みごとに配列全体を更新するのは嫌ですね。

理由: