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

 

Mrtools

このインジケーターにMTFオプションを追加することは可能でしょうか?

よろしくお願いします。

新しいsfractals.mq4

ファイル:
 

今週末はmrtoolsが休んでいると思うので、このバージョンです。

affandiz:
Mrtools

このインディケータにMTFオプションを追加することは可能でしょうか?

よろしくお願いします。

新しいスフラクタルズ.mq4
ファイル:
 

プログラミングのヘルプを求める

mladen:
T3のStochasticのマルチタイムフレームバージョン(元々ここに掲載されていたもの:Stochastic Oscillator)、これは一体何なのか、どのように機能するのかについて、いくつかの説明があります。

こんにちは、Mladenです。

他のインジケーターコードの対応するルーチンを使って、メインラインがこのインジケーターのシグナルラインと交差したときに矢印とアラートを追加したかったのですが、うまくいきません。

私の試みは何が間違っているのか、ご教授いただけないでしょうか?

よろしくお願いします。

クリスストッフ

 

ありがとうございました

mrtools:
こんにちは、Chrisstoffさん、もう少しでしたね。

MrToolsさん、こんにちは。

あなたの助けをありがとうございます。さて、私はすでにコードを調べて、私の間違いのいくつかを見ました...。

ありがとうございます。

クリスストッフ

削除済み  
mrtools:
こんにちは、Chrisstoffさん、もう少しでしたね。

ありがとうございました

 
mladen:
今週末はmrtoolsが休んでいると思うので、このバージョンです。

どうもありがとうございます.

 
mladen:
今週末はmrtoolsが休んでいると思うので、このバージョンです。

mladenさん、インディを2枚目の写真のように矢印を多く表示させることは可能でしょうか?

icustomでmtfインジケータを作ろうとしたのですが、ノートパソコンがハングアップしてしまいます。

よろしくお願いします。

mtf_sfractals_alert.mq4

ファイル:
[Deleted]  

マルチペア・マルチタイムフレーム

MLadenさん、MrToolsさん、どなたか教えてください。

私は、私が書いたマルチペア・マルチタイムフレームのカスタムインジケータを持っています。私はペアをペア配列に、時間枠をセッション配列に保存しています。 私がしたいことは、最初に私が書いた特別なMACDへのiCustom呼び出しの0から12までの最初の12本のバーを計算し、次にこの時間の間にMACDゼロクロスオーバーとMACDシグナルクロスオーバーを決定することです。 以後はカウントされていないバーのiCustomコールだけでいいんです。

そこで、counted_barsとlimitを標準的な方法で計算し、limitと12でMathMinを実行します。 次に3つのループをセットアップします。1つはペア、1つは時間枠、1つは計算されるバーのためのものです。

私が発見したのは、最初のリミット12が1つのペアで4回呼ばれ(いつも同じペアやチャートペアではない)、次にチャートペアが同じバーで1回呼ばれ、その後計算がリセットされて時間枠リミットが12から2に変わることです。この後、印刷診断では、ペアはそのインデックスで上昇することが一般的です。 しかし、インデックスギャップがあったり、インデックスリセットがあったり、時には診断結果が1行だけになってしまうケースも多々あります。

何が起こっているのか、どなたか説明していただけませんか? この問題は、チャートウィンドウまたは2つのiCustomコールのいずれかにティックを受信することによって引き起こされています。 インジケータが計算の途中で別のティックが到着するとどうなるのでしょうか? インジケータが終了して、次のティックが来てもこのティックは無視されると思っていました。

もう一つの可能性は、印刷された出力の速度が比較的遅いため、Expertsタブでバッファ・オーバーフローが起きているのではと考えました。 しかし、インデックスを調べたところ、その可能性は非常に低いことがわかりました。

最後に、init()関数から計算関数を一度呼び出し、start()関数での特別なケースを不要にすることは可能でしょうか。

以下は関連するコードです。

もし、どなたかご提案があれば、このスレッドかプライベート メッセージで教えていただきたいと思います。 この問題を特定し、解決するためにかなりの時間を費やしたので、あなたのアイデアや提案はありがたいものです。

void Calculate_MAsAndMACDs(int index, int session, int bar, int limit, int counted_bars)

{

文字列pair;

pair=Symbols.Pair;

int previous=bar+1;

macd= iCustom(pair,Session.Period[session],File.MACD, 3,4,3,8,13,false,1,bar);

signal=iCustom(pair,Session.Period[session],File.MACD, 3,4,3,8,13,false,0,bar); macd=iCustom(pair,Session.Period[session],File.MACD,3,4,3,8,13,false,0,bar);

Print(Symbols," Counted Bars-b ",index," ",bar," ",Bars," ",IndicatorCounted()," ",limit," ",counted_bars);

MACD.Trend=1。

if(macd<signal) MACD.Trend=-1.If(macd<signal)とする。

if(macd > signal && macd[previous] < signal[previous]) {MACD.CrossOverTime=Time; MACD.CrossOverTimeValue=1;}.

if(macd signal[previous]) {MACD.CrossOverTime=Time; MACD.CrossOverTimeValue=-1;}; if(macd signal[previous]) {MACD.CrossOverTime=Time; MACD.CrossOverTimeValue=-1;}.

if(MACD.CrossOverTime == 0) MACD.CrossOverTime=Time[ActiveCrossOverBars+1].MACD.CrossOverTime=Time[ActiveCrossOverBars+1];

if(macd >0. && macd[previous] <0.) {MACD.CrossedTime=Time; MACD.CrossedTimeValue=1; }// Print("crossed up ",bar," ",MACD.CrossedTimeValue);}; } if(macd 0. && macd[previous] <0.) {MACD.CrossedTime=Time;MACD.CrossedTimeValue=Time; }// if(macd 0.

if(macd 0.) {MACD.CrossedTime=Time; MACD.CrossedTimeValue=-1;}// Print("crossed dn ",bar," ",MACD.CrossedTimeValue);}.

//if(Symbols == "XAUUSD")

Print(Symbols," Counted Bars-b ",index," ",bar," ",Bars," ",IndicatorCounted()," ",limit," ",counted_bars," ",DoubleToStr(macd,7)," ",DoubleToStr(macd[previous],7)," ",TimeToStr(MACD.CrossedTime,TIME_MINUTES)," ",TimeToStr(Time,TIME_MINUTES)," ",MACD.CrossedTimeValue).となります。

if(MACD.CrossedTime == 0) MACD.CrossedTime=Time[ActiveCrossOverBars+1]。

if(macd >= macd[previous]) MACD.Slope=1; else MACD.Slope=-1;

MACD.Signal.Trend=1。

if(signal<signal[previous])MACD.Signal.Trend=-1;

}

int start()

{

int Y.Height,session,index,xpos,counted_bars=IndicatorCounted(), elements=ActiveCrossOverBars+2;

if(counted_bars<0)戻り値(-1)。

if(counted_bars>0)counted_bars--。

int limit = MathMin(Bars-counted_bars,Bars-1);

limit = MathMin(limit,elements); int limit = MathMin(limit,elements);

for(int i=0;i<Session.Order.Number;i++)

{

session=Session.Order.Number(セッション数)

for(index=0;index<Symbols.Number;index++)の場合。

{

Print(Symbols," Counted Bars-a ",index," ",-1," ",Bars," ",IndicatorCounted()," ",counted_bars," ",limit).Print(Symbols," Counted Bars-a ",index," ",-1," ",Bars," ",Indicated_bars," ",-1);

ArrayResize(macd,elements);ArrayResize(signal,elements)。

for(int k=limit;k>=0;k--) Calculate_MAsAndMACDs(index, session, k, limit, counted_bars);

}

}

return(0);

ファイル:
diagnostics.jpg  216 kb
 

こんにちは、私はMTFバージョンでこのインディケータを作るためにあなたの助けを必要としています...

ありがとうございました。

ファイル:
ut_fast.mq4  26 kb
 

mladen様、mrtools様

MTFオプションを追加していただけませんか?

MTFを追加していただけないでしょうか?

お時間をいただきありがとうございます。

ダン