インジケーターに関する雑多な質問 - ページ 7 1234567891011121314...16 新しいコメント honest_knave 2017.02.22 23:47 #61 はい、ただし、コーディングが必要です。例現地時間ブローカーAブローカーB00:00(GMT)01:00(GMT+1)02:00(GMT+2)PERIOD_D1 を使用 することはできません。ブローカーAのD1バーは現地時間23:00に開始します(1時間前)。ブローカーBのD1バーは現地時間22:00に開始します(2時間前)。したがって、iBarShiftとiHighest / iLowest(またはCopyHigh / CopyLow)でH1バーを使用して、手動で希望通りの「日」を作成する必要があります。----ここに、この点を説明する簡単なスクリプトがあります。これをチャートにドロップすると、サーバー時間の 23:00から始まる「日」を囲む長方形が描かれるのがわかると思います。#define strict#property show_inputs#define DAY 86400#define HOUR 3600extern int time_shift = -1; // Hours to shift server time byvoid OnStart() { time_shift*=HOUR; datetime oldest_bar = Time[Bars-1], midnight = oldest_bar-(oldest_bar%DAY); while(midnight<=TimeCurrent()) { datetime day_begin = midnight + time_shift, day_end = day_begin + DAY - 1; double high[], low[]; int high_cnt = CopyHigh(_Symbol, PERIOD_H1, day_begin, day_end, high), low_cnt = CopyLow (_Symbol, PERIOD_H1, day_begin, day_end, low); if(high_cnt>0 && low_cnt>0) { double day_high = high[ArrayMaximum(high)], day_low = low [ArrayMinimum(low)]; string obj_name = TimeToString(day_begin,TIME_DATE); ObjectCreate(0, obj_name, OBJ_RECTANGLE, 0, day_begin, day_high, day_end, day_low); } midnight+=DAY; } } Indicator Miscellaneous Questions Reading price, volume, spread, MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 Max Enrik 2017.02.23 10:51 #62 honest_knave:はい、でもコード化する必要があります。この例を勉強しておく必要がありますね。ありがとうございました。 Max Enrik 2017.02.25 22:11 #63 もう一度、あなたの素晴らしい例のためにたくさん感謝します。 あなたのコメントの後、私は簡単に私の問題を解決しました。---私は、異なるブローカーに自動的に設定された時間オフセットのために何かを試してみましたが、残念ながらそれは機能しませんでした。Q: 私は自動的に別のブローカーのための時間オフセットセットのためのいくつかのコードを書くことができ、それは可能ですか?( 私はまだそれのために何かを試しています )どうもありがとうございました。 Max Enrik 2017.02.26 13:08 #64 以下のコードを試してみましたが、正しい値が得られません。Q: 以下のコードのどこが問題なのでしょうか?( 私は理解できませんでした )datetime start=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_START_TIME);ありがとうございました。 honest_knave 2017.02.26 13:11 #65 Max Enrik:以下のコードを試してみましたが、正しい値が得られません。Q: 以下のコードのどこが問題なのでしょうか?( 私は理解できませんでした )datetime start=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_START_TIME);ありがとうございました。 すべてのブローカーがこの設定を正しく行っているわけではないようです。こちらを ご覧ください。 Max Enrik 2017.02.26 13:20 #66 honest_knave: すべてのブローカーが正しく設定されているわけではないようです。こちらを ご覧ください。チャンスはありません! 私はちょうどプロのプログラマやコードがあきらめたと考えている!?もちろんそうではありません。どうもありがとうございます。( I have idea I will try it at least - later ) honest_knave 2017.02.26 13:32 #67 Max Enrik:チャンスはない!? 私はちょうどプロのプログラマやコードがあきらめたと考えている?もちろん、そうではありません。どうもありがとうございます。( I have idea I will try it at least - later )回避策は常にあります。例えば、H1やM30のバーをさかのぼって、1バーのタイムスパンより大きな時間差を探すことができます(つまり、このギャップ中に市場が閉鎖された)。ただし、週末や祝日、不完全な履歴に注意する必要があります。 Max Enrik 2017.02.26 14:11 #68 honest_knave:回避策は常にあります。 例えば、H1またはM30のバーをさかのぼって、1バーのタイムスパンより大きな時間差を探すことができます(つまり、このギャップ中に市場が閉鎖された)。 ただし、週末や祝日、不完全な履歴に注意する必要があります。有益な コメントをありがとうございました。 Max Enrik 2017.02.26 23:58 #69 私は日付の時間について学ぶ必要があります。なぜなら、これまで私が日付の時間に関連するコードを書こうとしたとき、私はいつもコードのその部分に多くの時間を費やしました。(私のスクリプトを完成させることができたとしても、私はより明確に理解することはありません)。 それで今、私はその日の最初のバー(現在の日の最初のバー1m、5m、15m、30m、1hなど)のデータを取得しようとしましたが、私はできません。( 私は、Google Chromeブラウザの多くの多くのタブは、このことについて関連している - ちょうどナンセンス )だから、誰かがその日の最初のバー(M1、5Mなど)のコードを記述する方法を例と説明で私を助けることができる、してください。もちろん、明日、私はこの懸念について研究を続けるでしょう。事前に多くのことをありがとうございます。 Marco vd Heijden 2017.02.27 12:49 #70 その日の最初のバーは、TimeHour()がカウントを開始した後の最初のバーであるべきです。それはもちろん、M1、M5、M15など、すべて新しいバーを開始するものの最初のバーとなります。 1234567891011121314...16 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
はい、ただし、コーディングが必要です。
例
(GMT)
(GMT+1)
(GMT+2)
PERIOD_D1 を使用 することはできません。
したがって、iBarShiftとiHighest / iLowest(またはCopyHigh / CopyLow)でH1バーを使用して、手動で希望通りの「日」を作成する必要があります。
----
ここに、この点を説明する簡単なスクリプトがあります。
これをチャートにドロップすると、サーバー時間の 23:00から始まる「日」を囲む長方形が描かれるのがわかると思います。
#property show_inputs
#define DAY 86400
#define HOUR 3600
extern int time_shift = -1; // Hours to shift server time by
void OnStart()
{
time_shift*=HOUR;
datetime oldest_bar = Time[Bars-1],
midnight = oldest_bar-(oldest_bar%DAY);
while(midnight<=TimeCurrent())
{
datetime day_begin = midnight + time_shift,
day_end = day_begin + DAY - 1;
double high[],
low[];
int high_cnt = CopyHigh(_Symbol, PERIOD_H1, day_begin, day_end, high),
low_cnt = CopyLow (_Symbol, PERIOD_H1, day_begin, day_end, low);
if(high_cnt>0 && low_cnt>0)
{
double day_high = high[ArrayMaximum(high)],
day_low = low [ArrayMinimum(low)];
string obj_name = TimeToString(day_begin,TIME_DATE);
ObjectCreate(0, obj_name, OBJ_RECTANGLE, 0, day_begin, day_high, day_end, day_low);
}
midnight+=DAY;
}
}
はい、でもコード化する必要があります。
この例を勉強しておく必要がありますね。
ありがとうございました。
もう一度、あなたの素晴らしい例のためにたくさん感謝します。
あなたのコメントの後、私は簡単に私の問題を解決しました。
---
私は、異なるブローカーに自動的に設定された時間オフセットのために何かを試してみましたが、残念ながらそれは機能しませんでした。
Q: 私は自動的に別のブローカーのための時間オフセットセットのためのいくつかのコードを書くことができ、それは可能ですか?
( 私はまだそれのために何かを試しています )
どうもありがとうございました。
以下のコードを試してみましたが、正しい値が得られません。
Q: 以下のコードのどこが問題なのでしょうか?( 私は理解できませんでした )
ありがとうございました。
以下のコードを試してみましたが、正しい値が得られません。
Q: 以下のコードのどこが問題なのでしょうか?( 私は理解できませんでした )
ありがとうございました。
すべてのブローカーが正しく設定されているわけではないようです。こちらを ご覧ください。
チャンスはありません!
私はちょうどプロのプログラマやコードがあきらめたと考えている!?もちろんそうではありません。
どうもありがとうございます。
( I have idea I will try it at least - later )チャンスはない!?
私はちょうどプロのプログラマやコードがあきらめたと考えている?もちろん、そうではありません。
どうもありがとうございます。
( I have idea I will try it at least - later )回避策は常にあります。
例えば、H1やM30のバーをさかのぼって、1バーのタイムスパンより大きな時間差を探すことができます(つまり、このギャップ中に市場が閉鎖された)。
ただし、週末や祝日、不完全な履歴に注意する必要があります。
回避策は常にあります。
例えば、H1またはM30のバーをさかのぼって、1バーのタイムスパンより大きな時間差を探すことができます(つまり、このギャップ中に市場が閉鎖された)。
ただし、週末や祝日、不完全な履歴に注意する必要があります。
私は日付の時間について学ぶ必要があります。なぜなら、これまで私が日付の時間に関連するコードを書こうとしたとき、私はいつもコードのその部分に多くの時間を費やしました。(私のスクリプトを完成させることができたとしても、私はより明確に理解することはありません)。
それで今、私はその日の最初のバー(現在の日の最初のバー1m、5m、15m、30m、1hなど)のデータを取得しようとしましたが、私はできません。
( 私は、Google Chromeブラウザの多くの多くのタブは、このことについて関連している - ちょうどナンセンス )
だから、誰かがその日の最初のバー(M1、5Mなど)のコードを記述する方法を例と説明で私を助けることができる、してください。
もちろん、明日、私はこの懸念について研究を続けるでしょう。
事前に多くのことをありがとうございます。
その日の最初のバーは、TimeHour()がカウントを開始した後の最初のバーであるべきです。
それはもちろん、M1、M5、M15など、すべて新しいバーを開始するものの最初のバーとなります。