externint iOpenHour = 6;
int start()
{
int b, scannedhour;
datetime bartime;
double dibsclose, dibsopen, prevdayrange[4]; // prevdayrange Array Categorys ( 1 EURUSD, 2 GBPUSD, 3 USDCHF, 4 USDJPY )//----------------------------------------------------------------------------------------------// EURUSD PREV DAY RANGE CALCfor(b=0; b<=24; b++) // scans the last 24 bars on eurusd
{
bartime = iTime("EURUSD", 60, b); // checks the open time of each bar
scannedhour = TimeHour(bartime); // extracts the hour of that barif ( scannedhour == iOpenHour ) // Check to see if scanned hour = Dibs hour
{
dibsclose = iOpen("EURUSD", 60, b); // Get the open value of that bar (Close of 6gmt day)
dibsopen = iOpen("EURUSD", 60, b+24); // Get the value of the bar 24 bars before the Dibs bar (Open of 6gmt day)
prevdayrange[1] = (dibsclose-dibsopen); // Calculate the range of the Dibs day
} // End of if statement
} // End of for statement//----------------------------------------------------------------------------------------------// GBPUSD PREV DAY RANGE CALCfor(b=0; b<=24; b++) // scans the last 24 bars on eurusd
{
bartime = iTime("GBPUSD", 60, b); // checks the open time of each bar
scannedhour = TimeHour(bartime); // extracts the hour of that barif ( scannedhour == iOpenHour ) // Check to see if scanned hour = Dibs hour
{
dibsclose = iOpen("GBPUSD", 60, b); // Get the open value of that bar (Close of 6gmt day)
dibsopen = iOpen("GBPUSD", 60, b+24); // Get the value of the bar 24 bars before the Dibs bar (Open of 6gmt day)
prevdayrange[2] = (dibsclose-dibsopen); // Calculate the range of the Dibs day
} // End of if statement
} // End of for statement//----------------------------------------------------------------------------------------------// USDCHF PREV DAY RANGE CALCfor(b=0; b<=24; b++) // scans the last 24 bars on eurusd
{
bartime = iTime("EURUSD", 60, b); // checks the open time of each bar
scannedhour = TimeHour(bartime); // extracts the hour of that barif ( scannedhour == iOpenHour ) // Check to see if scanned hour = Dibs hour
{
dibsclose = iOpen("USDCHF", 60, b); // Get the open value of that bar (Close of 6gmt day)
dibsopen = iOpen("USDCHF", 60, b+24); // Get the value of the bar 24 bars before the Dibs bar (Open of 6gmt day)
prevdayrange[3] = (dibsclose-dibsopen); // Calculate the range of the Dibs day
} // End of if statement
} // End of for statement//----------------------------------------------------------------------------------------------// USDJPY PREV DAY RANGE CALCfor(b=0; b<=24; b++) // scans the last 24 bars on eurusd
{
bartime = iTime("USDJPY", 60, b); // checks the open time of each bar
scannedhour = TimeHour(bartime); // extracts the hour of that barif ( scannedhour == iOpenHour ) // Check to see if scanned hour = Dibs hour
{
dibsclose = iOpen("USDJPY", 60, b); // Get the open value of that bar (Close of 6gmt day)
dibsopen = iOpen("USDJPY", 60, b+24); // Get the value of the bar 24 bars before the Dibs bar (Open of 6gmt day)
prevdayrange[4] = (dibsclose-dibsopen); // Calculate the range of the Dibs day
} // End of if statement
} // End of for statement//----------------------------------------------------------------------------------------------Comment("EURUSD RANGE=", prevdayrange[1], //Display Ranges of each pair"GBPUSD RANGE=", prevdayrange[2],
"USDCHF RANGE=", prevdayrange[3],
"USDJPY RANGE=", prevdayrange[4]);
return(0);
}
OK、私はprevdayrangeが唯一の配列であるようにそれを修正しました。今、何らかの理由でコードのUSDJPYセクションが動作していません。これは他の4つのステートメントと同じで、iopen'sでペアを変更し、正しい配列の値にしています...
以下はその内容です ---> http://clip2net.com/s/13WDY
コメント関数に スペースを入れる方法と、次の行にプリントさせる方法を教えてください。
OK、私はprevdayrangeが唯一の配列であるようにそれを修正しました。今、何らかの理由でコードのUSDJPYセクションが動作していません。これは他の4つのステートメントと同じで、iopen'sでペアを変更し、正しい配列の値にしています...
以下はその内容です ---> http://clip2net.com/s/13WDY
コメント関数にスペースを入れる方法と、次の行に表示させる方法を教えてください。
配列の最初の要素は0です。配列に4つの要素がある場合、最後の要素は4ではなく3です ;-)https://docs.mql4.com/basis/variables
コメント()
さて、このコードは、新しい6:00キャンドルが開いたときに、それは情報を更新しないことを除いて、それが意図されているものをほとんど行っています。現在のローソク足が6:00のローソク足である場合、私はそれがそのバーのオープンをスキャンし、24バー戻ってそのバーのオープンをスキャンし、すべての計算を行い、現在のバーが6:00バーではない場合、それは最後の6:00ローソク足を見つけるまでバーステップバックし続けたいと思います。それは大丈夫ステップバックしているようですが、現在のろうそくが6:00である場合は好きではないようです。それを解決することはできません。伝説は、問題を見つけることができますか?
コードはここに投稿するにはあまりにも膨大になってきているので、私はソースコードをアップロードしなければならなかった
ステップバックはOKのようですが、現在のローソク足が6:00の場合は気に入らないようです。それを解決することはできません。レジェンドはこの問題を発見できるでしょうか?
これはStrategy Testerを使用しているのでしょうか? もしそうなら・・・。
Nope Raptor これはライブチャートでのことですが、変更すべきでしょうか?
ただ、声に出して考えてみただけで、それで何かが解決するかどうかはわかりません。Nope Raptor これはライブチャートでのことですが、変更すべきでしょうか?
声に出して考えてみただけです。それで何か解決するかどうかはわかりません。すべてがうまく機能しているように見えますが、それが意味をなすのであれば、現在のバーの後ろにない限り、6:00バーを拾うことはありません。
Raptorさん、ありがとうございました。
すべてがうまく機能しているように見えますが、それが意味をなすのであれば、現在のバーの後ろにない限り、6:00バーを拾うことはありません。
Raptorさん、ありがとうございました。
はい私はあなたが言っていることを理解すると思います、それは時間が05:59から06:00に変わるとき更新しません... .
私はテストにMBTを使用しており、現在のH1バーのサーバー 時間は04:00なので、私はiOpenHourを5に設定し、20分後に何が起こるか見てみましょう。
OK、私は同じ問題を持っている、現在のキャンドルが05:00に開いたときに更新されません... ...興味深いです。