1_High[i - end of day]を見つける方法。 Close[i]-Open[i+1] のシンプルなサイクルを持っていますが、High[i - end of day]を見つける必要があります。例えば、from[i],[1],[2] and to the end of day (PERIOD_H1) .どうすればいいのかわからない。iHigh」機能もありますが、ちょっと違うんです。
#property indicator_separate_window#property indicator_buffers1#property indicator_label1 "longBars"#property indicator_color1 clrBlue#property indicator_width1 2//---углубление в историю на...externint barsToProcess = 100;
//---indicators Buffersdouble longBarsBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
SetIndexBuffer(0,longBarsBuffer);
SetIndexStyle(0,DRAW_HISTOGRAM);
IndicatorDigits(Digits);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int counted_bars=IndicatorCounted(),
limit;
if (counted_bars<0) return(-1);
if (counted_bars>0)
counted_bars--;
limit=Bars-counted_bars;
if(limit>barsToProcess)
limit=barsToProcess;
double longValue;
for(int i=0;i<limit;i++)
{
longValue = Close[i+1]-Open[i+3];
//--- само условиеif(longValue>0)
//---собственно что необходимо получить: если на i-том баре выполнилось условие(i>0), то находим High от этого бара и //---до конца этого дня,я имею ввиду максимум всего этого промежутка. Примерно: Если условие выполнилось
//---на i=12h,то High от 12 до 00:00,//--- если i=01:00, то High от 01:00 до 00:00, если i=22:00, то High от 22:00 до 00:00. Как то так. Возможно ли это реализовать? //---Может я не правильно сделал цикл? Как его правильно организовать?
longBarsBuffer[i]=High[от i - и до конца дня] - то что необходимо получить.
else
longBarsBuffer[i]=0.0;
そう、その質問、「ハイは、現在のものの残りの部分です。 of the day. "ちょっとわかりにくいですね。本当にこの日に未来を見ようとしたのかと思うほど、思い当たる節があります。ちょっとずれていますね。を数えたかったのですが、_ハイあとは現行品。 価格配列の先頭から最後から2番目の日(昨日)までのすべてのデータが揃っているためです。そして、最後(今日)の一日は、終了次第、再計算されるはずです。そうでなければ、あなたが言ったように、未来を 見ようとしているように見えてしまうでしょう。価格配列の先頭から始まり、最後(昨日の日)まで移動すると、その後のバーをチェックするたびにHighが変化します。 そのため、Highを残りの部分から引く方法を質問しました。言い忘れましたが、現在の日はまだ完成していないので、考慮されていません。すみません、すぐには理解できませんでした :) .このような計算をどのように整理したらよいか、アドバイスをお願いします。そんなことが可能なのか?
そう、その質問、「ハイは、現在のものの残りの部分です。 of the day. "では、ちょっとわかりにくいですね。この日、未来を見ようとしたのだろうと、今になって思いました。ちょっと語弊がありますね。を数えたかったのですが、_ハイ♪ the rest of the current one ♪ 価格配列の先頭から最後から2番目の日(昨日)までのすべてのデータが揃っているためです。そして、最後(今日)の一日は、終了次第、再計算すること。そうでなければ、あなたが言ったように、未来を 見ようとしているように見えてしまうでしょう。価格配列の先頭から始まり、最後(昨日の日)まで移動すると、その後のバーをチェックするたびにHighが変化します。 そのため、Highを残りの部分から引く方法を質問しました。言い忘れましたが、現在の日はまだ完成していないので、考慮されていません。すみません、すぐには理解できませんでした :) .そのような計算を整理する方法を教えてください。そんなことが可能なのか?
そう、その質問、「ハイの残りは、現在のものです。 of the day. "では、ちょっとわかりにくいですね。この日、未来を見ようとしたのだろうと、今になって思いました。ちょっと語弊がありますね。を数えたかったのですが、_ハイ♪ the rest of the current one ♪ 価格配列の先頭から最後から2番目の日(昨日)までのすべてのデータが揃っているためです。そして、最後(今日)の一日は、終了次第、再計算すること。そうでなければ、あなたが言ったように、未来を 見ようとしているように見えてしまうでしょう。価格配列の先頭から始まり、最後(昨日の日)まで移動すると、その後のバーをチェックするたびにHighが変化します。 そのため、Highを残りの部分から引く方法を質問しました。言い忘れましたが、現在の日はまだ完成していないので、考慮されていません。すみません、すぐには理解できませんでした :) .そのような計算を整理する方法を教えてください。そんなことが可能なのか?
アルゴリズムは明確であり、それを理解した。例題を実行したところ、すべてうまくいきました。
ありがとうございました。
また、最初の質問(マキシマムについて)ですが、どのように実装するのか、もう少し詳しく説明してください。できれば、小さなアルゴリズムをお願いします。上手なんですね :)
自分以外の人に理解されるのは嬉しい。
これこそ、私たちが必要としているものです。終了までの残り時間に関係なく、その日の最高値を表示します。
質問の理解が正しければ
自分以外に理解してくれる人がいて嬉しい。
それは、まさに正しいことなのです。どんなに時間が経っても高電流日。
質問の理解が正しければ
微妙に違うんですね、私の理解では。そういうものなんです。
まあ、それこそ以前からアドバイスされていたことではあるのですが。
しかし、iHighest(NULL, MODE_HIGH, bar+1, 1) は、この区間で他のすべての高値より高いバーのインデックスを 返すのに対し、質問者は現在の日の高値について聞いています。
まあ、それこそ以前からアドバイスされていたことではあるのですが。
しかし、iHighest(NULL, MODE_HIGH, bar+1, 1) は、この区間で他のすべてのものより高いバーインデックス Highを返し、あなたは現在の日のHighについて質問しました。
私は、「iHighest(NULL, MODE_HIGH, bar+1, 1) は、この区間で 他のすべてのバーより 高いバー Highのインデックスを 返す」ことに同意します。そして、ハイの意味 残日 その日のうちに
もう少しわかりやすく説明すると...。
あまり叱らないでください :) ...どうすればいいのか説明してください。
私は、「iHighest(NULL, MODE_HIGH, bar+1, 1) は、この区間で 他のすべてのバーより 高いバー Highのインデックスを 返す」ことに同意します。そして、ハイの意味 残基 その日のうちに
もう少し具体的に説明すると...。
できればあまり叱らないでください :) ...やり方を説明してもらえますか?
最初は単純なタイプミスかと思ったが、今となっては間違いない、未来を見据えるのか?それなら、『バック・トゥ・ザ・フューチャー』の博士にしかできないことがある。
ドクは私を助けられないと思う...彼は間違ったビジネスをしているのだ:)
そう、その質問、「ハイは、現在のものの残りの部分です。 of the day. "ちょっとわかりにくいですね。本当にこの日に未来を見ようとしたのかと思うほど、思い当たる節があります。ちょっとずれていますね。を数えたかったのですが、_ハイあとは現行品。 価格配列の先頭から最後から2番目の日(昨日)までのすべてのデータが揃っているためです。そして、最後(今日)の一日は、終了次第、再計算されるはずです。そうでなければ、あなたが言ったように、未来を 見ようとしているように見えてしまうでしょう。価格配列の先頭から始まり、最後(昨日の日)まで移動すると、その後のバーをチェックするたびにHighが変化します。 そのため、Highを残りの部分から引く方法を質問しました。言い忘れましたが、現在の日はまだ完成していないので、考慮されていません。すみません、すぐには理解できませんでした :) .このような計算をどのように整理したらよいか、アドバイスをお願いします。そんなことが可能なのか?
ドクは私を助けられないと思う...彼は間違ったビジネスをしているのだ:)
そう、その質問、「ハイは、現在のものの残りの部分です。 of the day. "では、ちょっとわかりにくいですね。この日、未来を見ようとしたのだろうと、今になって思いました。ちょっと語弊がありますね。を数えたかったのですが、_ハイ♪ the rest of the current one ♪ 価格配列の先頭から最後から2番目の日(昨日)までのすべてのデータが揃っているためです。そして、最後(今日)の一日は、終了次第、再計算すること。そうでなければ、あなたが言ったように、未来を 見ようとしているように見えてしまうでしょう。価格配列の先頭から始まり、最後(昨日の日)まで移動すると、その後のバーをチェックするたびにHighが変化します。 そのため、Highを残りの部分から引く方法を質問しました。言い忘れましたが、現在の日はまだ完成していないので、考慮されていません。すみません、すぐには理解できませんでした :) .そのような計算を整理する方法を教えてください。そんなことが可能なのか?
ご質問を理解するために努力します。High among bars 1) 前日と今日の日付、または2) 今日の日付だけを探す必要があるのでしょうか?iHighest() で解決できるかも?
親愛なる友人たちへ、私が実現したいことをできる限り説明しよう...。...........................................................................
見てください、価格の配列があります、_1.02.2015.から15.12.2015(今日の日)までとしましょう、PERIOD_H1 を取ります。
1_簡単な計算式_val=Close[i]-Open[i]をとります。
2_set simple condition if (val>0) - check should start from _1.02.2015.
-例えばある小節で条件を満たした場合、この小節から今日の終わりまで_Highを求めます。例えば、こんな感じです。Close[4]-Open[4]>0, すなわち、インデックス[i=4]のバーが_1.02に属していると仮定します。2015 10:00 なので、この日の 10:00 から この日の終わりである 00:00 まで、_High を見つけることができます。また、別の日にうまくいった場合にも、同じ原理で行動します。そして、それは価格配列全体を貫くのです。2015.02.1~2015.12.14(最終日)までの計算を開始すべき、なぜ最終日まで、-最終日がまだ完了しておらず、全日のHighが不明なためです。最終日が終わるとすぐに、その状態もチェックします。2015.02.1.から2015.12.14(ペナルト) までのデータがわかっているので、-tryingto look into the future :) という感じにはならないでしょう。
- 条件を満たさない場合 - 何もせず、空の値を配列に書き込みます。
それが実は、全体の「考え方」なんです。どうすればいいのか、ループで定義するのか......考えられない!
ドクは私を助けられないと思う...彼は間違ったビジネスをしているのだ:)
そう、その質問、「ハイの残りは、現在のものです。 of the day. "では、ちょっとわかりにくいですね。この日、未来を見ようとしたのだろうと、今になって思いました。ちょっと語弊がありますね。を数えたかったのですが、_ハイ♪ the rest of the current one ♪ 価格配列の先頭から最後から2番目の日(昨日)までのすべてのデータが揃っているためです。そして、最後(今日)の一日は、終了次第、再計算すること。そうでなければ、あなたが言ったように、未来を 見ようとしているように見えてしまうでしょう。価格配列の先頭から始まり、最後(昨日の日)まで移動すると、その後のバーをチェックするたびにHighが変化します。 そのため、Highを残りの部分から引く方法を質問しました。言い忘れましたが、現在の日はまだ完成していないので、考慮されていません。すみません、すぐには理解できませんでした :) .そのような計算を整理する方法を教えてください。そんなことが可能なのか?
その場合、iHighest()に戻りますが、何本目のバーからカウントするか、またどのバーから カウントするかは、iBarShift()を使用して計算する必要があります。
ループで行う方法を教えてください。正しいやり方がわからない。