マルチタイムフレーム・インディケーター - ページ 474

 
john1368:
これをMTFにしてください

それがデコンパイルされたコードであっても、このスレッドを参照してください :https://www.mql5.com/en/forum/179650

このスレッドには、同じインジケータ(悪名高い太陽風)の別の生まれ変わりがたくさんあります。

 

mtfjapanese candlestick indicatorが必要です。

何か良い方法はないでしょうか?

 
nicobo78:
私はmtf日本のローソク足インディケータを必要とする任意のヘルプをお願いします。

このリンクは、キャンドルスティックチャート - Wikipedia, フリー百科事典を 参照してください。

また、このインジケータを試してみてください:カスタムキャンドル任意の時間frame.mq4

 

H1ティックでシンプルな移動平均戦略テスターを 作ろうとしていますが、これらのフォーラムで提供されているmovingaverage_mtfコードの助けを借りてH4 MAを使用しています。しかし、奇妙なH4移動平均値を取得します。

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420) を使用する場合、H4バーの時間を正しくコピーしているかどうか疑問です。

Strategy Testerでマルチフレーム・インジケータを使用することは可能ですか?

 
rickyponting:
H1ティックでシンプルな移動平均戦略テスターを作ろうとしていますが、これらのフォーラムで提供されているmovingaverage_mtfコードの助けを借りてH4 MAを使用しています。しかし、奇妙なH4移動平均値を取得します。

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420) です。

Strategy Testerでマルチフレーム・インジケータを使用することは可能ですか?

書き方が間違っていなければ、この行の最後のパラメータは:

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420);

420ではなく、240であるべきです。

 
rickyponting:
H1ティックでシンプルな移動平均戦略テスターを作ろうとしていますが、これらのフォーラムで提供されているmovingaverage_mtfコードの助けを借りてH4 MAを使用しています。しかし、奇妙なH4移動平均値を取得します。

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),420);

Strategy Testerでマルチフレーム・インジケータを使用することは可能ですか?

PS: そうです、Strategy Testerで 複数のタイムフレームのインディケータを使うことは可能ですが、他のタイムフレームの現在の(開いた)バーを使わないように注意してください、さもないと偽のポジティブな結果を得ることになります(その場合、メタトレーダーストラテジーテスターは「未来を知っている」ことになります)。

 

すみません、コードに240を使用しているのですが、まだ結果が出ません。どなたか、Strategy Testerで マルチフレームSMAが使われている参考コードを貼り付けていただけませんか?

 
rickyponting:
申し訳ありませんが、コードに240を使用していますが、まだ結果は出ていません。どなたか、ストラテジーテスターでマルチフレームSMAが使用されている参考コードを貼り付けていただけませんか?

こちらはマルチタイムフレームsmaを使用したシンプルなEAで、ストラテジーテスターでも 使用できます(SmaTimeFrameパラメータでsmaのターゲットタイムフレームを選択します)。

extern int SmaPeriod = 14;

extern int SmaPrice = PRICE_CLOSE;

extern int SmaTimeFrame = 0;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int smaShift = iBarShift(NULL,SmaTimeFrame,Time[0]);

double smaValue = iMA(NULL,SmaTimeFrame,SmaPeriod,0,MODE_SMA,SmaPrice,smaShift);

Comment(DoubleToStr(smaValue,Digits));

return(0);

}
 

あなたのコードに基づいて、私は配列内の異なる時間枠のMA値で渡すために、以下のコードを試してみました...しかし、MA値が配列に渡されることはありません...すべてのゼロを示す。

extern int SmaPeriod = 14;

extern int SmaPrice = PRICE_CLOSE;

extern int SmaTimeFrame = 1440;

int init() { return(0); }.

int deinit() { return(0); }.

int start()

{

int counted_bars, limit,i;

int BarShift[];

double ExtMA[],smaValue;

counted_bars=IndicatorCounted();

limit=Bars-counted_bars;

for(i=0;i<limit;i++)

{

BarShift= iBarShift(NULL,SmaTimeFrame,Time).ExtMA=iMA(NULL)です。

ExtMA = iMA(NULL,SmaTimeFrame,SmaPeriod,0,MODE_SMA,SmaPrice,BarShift);

}

return(0)

 
rickyponting:
あなたのコードに基づいて、私は配列で異なる時間枠のMA値を渡すために、以下のコードを試してみました...しかし、MA値は配列に渡されません...すべてゼロを示していますplsは助けてください。

extern int SmaPeriod = 14;

extern int SmaPrice = PRICE_CLOSE;

extern int SmaTimeFrame = 1440;

int init() { return(0); }.

int deinit() { return(0); }.

int start()

{

int counted_bars, limit,i;

int BarShift[];

double ExtMA[],smaValue;

counted_bars=IndicatorCounted();

limit=Bars-counted_bars;

for(i=0;i<limit;i++)

{

BarShift= iBarShift(NULL,SmaTimeFrame,Time).ExtMA=iMA(NULL)です。

ExtMA = iMA(NULL,SmaTimeFrame,SmaPeriod,0,MODE_SMA,SmaPrice,BarShift);

}

戻り値(0)

配列のサイズを教えてください。

配列を初期化していないので、配列のサイズがゼロになっています。配列が正しいサイズであることを確認してください。また、IndicatorCounted()はEAでは動きません。他の方法でその値を取得する必要があります(一つの方法は、内蔵されたBars変数の値をチェック し、EAに格納されている値と比較することです)。