インジケーターに関する雑多な質問 - ページ 6 12345678910111213...16 新しいコメント Marco vd Heijden 2016.11.26 13:45 #51 彼はよく見ると答えました。 Max Enrik 2016.11.26 13:54 #52 Marco vd Heijden:もし、タイムフレームを切り替えるのであれば、タイマーは良い選択肢ではありません。OnInit() 関数で行を作成し、OnTick() または OnTimer() 関数で行を更新することができます。また、OnDeint()関数のObjectsDeleteAll()に注目してください。これは、新しいフレームで再び作成する前に、すべてが削除されることを確認します。---さらに、新しいローソク 足が発生するたびに行を更新したい 場合は、前のページの例と最後の例を組み合わせて、次のようにすることができます。...もし他に 問題が あれば、コードを示して ください。私はあなたの最新のコメントを研究した。別の2つの偉大なコメント。そのコードは似ているように見えますが(あなたの#18のコメント)、私にとっては非常に異なっています。そうそう、フレームを切り替えるとタイマーを破壊してしまうんですよね。しかし、私のインジケータはPERIOD_**に一度だけ更新されるので、これは非常に便利です。そうそう。init()関数でメインラインを 作成し、OnTimer()関数で更新している。(以下のコードを見てもらえば、より明確に理解できると思います)...新しいキャンドルは、あなたが組み合わせることができます...もっと何か問題があれば...---------------------------------------------------------------------------------------------------------------------------------------------------------------------私が言ったように、それはより多くの時間を必要と する一つの問題があります。今、私はあなたに私のインジケータコードのいくつかを示す必要があります。そして、私は私の指標で'switch operator & ObjectMove()' を使用しない。マルコ以下のコードが良いのか悪い のか、教えてください。また、 switch()とObjectMove() を私のインジケーターに取り入れる ことは可能でしょうか?(なぜ私が先に質問しているかというと、時間がかかるからです。)(ご覧の通り、私はあなたの#18コメントからより多くの利益を得ました - そして今、私は私の下のコードとあなたの最新の二つの素晴らしいコメントの間でジレンマに直面しています)//|+--------------------------------------------------------------------------------+int init(){ EventSetMillisecondTimer( 1250 ); _CreateLines_M5(); return(INIT_SUCCEEDED);}//|+--------------------------------------------------------------------------------+int start(){ return(0);}//|+--------------------------------------------------------------------------------+int deinit(){ ObjectsDeleteAll( 0, _prefix ); return(0);}//|+--------------------------------------------------------------------------------+void OnTimer(){ //--- if ( _dt_Prd_M5 != iTime( Symbol(), _prd_M5, 0 ) ) { _dt_Prd_M5 = iTime( Symbol(), _prd_M5, 0 ); _CreateLines_M5(); } return;}//|+--------------------------------------------------------------------------------+void _CreateLines_M5( ){ //--- int _dayCnt_M5 = _prd_cnt + 0; int _cnt_M5 = iBarShift( Symbol(), 0, iTime( Symbol(), PERIOD_W1, _dayCnt_M5 ) ); for ( i = 0; i < _cnt_M5; i++ ) { _time_M5 = Time[i]; _prdCvrt_M5 = PeriodSeconds( _prd_M5 ); _timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5; _vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr( _timeCvrt_M5, TIME_DATE|TIME_MINUTES ); if ( _Period < PERIOD_M15 ) { if ( ... TimeHour( _timeCvrt_M5 ) == 12 ) { ObjectCreate ( _vlineName_M5, OBJ_VLINE, 0, _timeCvrt_M5, 0 ); } } } return;}では、よろしくお願いします。 Indicator Miscellaneous Questions MQL4からMQL5への移植 Alain Verleyen 2016.11.26 14:47 #53 Keith Watford:私は他の人のことは知りませんが、あなたのフォント、色、太字、斜体などの組み合わせは気が散って迷惑だと思います。実際、私はこの記事を読むのが面倒でした。 このトピックの始まりから、私はこれらのコメントの上に「ジャンプ」していることに完全に同意します。 Marco vd Heijden 2016.11.26 15:23 #54 Max Enrik:あなたの最新のコメントをリサーチしました。別の2つの素晴らしいコメント。そのコードは似ているように見えますが(#18のコメント)、私にとっては非常に異なっています。そうそう、フレームを切り替えたときに'Timer'が破壊されるのを感じていました。しかし、私のインジケータはPERIOD_**に一度だけ更新されるので、これは非常に便利です。そうそう。init()関数でメインラインを 作成し、OnTimer()関数で更新している。(以下のコードを見てもらえば、より明確に理解できると思います)...新しいキャンドルは、あなたが組み合わせることができます...もっと何か問題があれば...---------------------------------------------------------------------------------------------------------------------------------------------------------------------私が言ったように、それはより多くの時間を必要と する一つの問題があります。今、私はあなたに私のインジケータコードのいくつかを示す必要があります。そして、私は私の指標で'switch operator & ObjectMove()' を使用しない。マルコ以下のコードが良いのか悪い のか、教えてください。また、 switch()とObjectMove() を私のインジケーターに取り入れる ことは可能でしょうか?(なぜ私が先に質問しているかというと、時間がかかるからです。)(ご覧の通り、私はあなたの#18コメントからより多くの利益を得ました - そして今、私は私の下のコードとあなたの最新の二つの素晴らしいコメントの間でジレンマに直面しています)//|+--------------------------------------------------------------------------------+int init(){ EventSetMillisecondTimer( 1250 ); _CreateLines_M5(); return(INIT_SUCCEEDED);}//|+--------------------------------------------------------------------------------+int start(){ return(0);}//|+--------------------------------------------------------------------------------+int deinit(){ ObjectsDeleteAll( 0, _prefix ); return(0);}//|+--------------------------------------------------------------------------------+void OnTimer(){ //--- if ( _dt_Prd_M5 != iTime( Symbol(), _prd_M5, 0 ) ) { _dt_Prd_M5 = iTime( Symbol(), _prd_M5, 0 ); _CreateLines_M5(); } return;}//|+--------------------------------------------------------------------------------+void _CreateLines_M5( ){ //--- int _dayCnt_M5 = _prd_cnt + 0; int _cnt_M5 = iBarShift( Symbol(), 0, iTime( Symbol(), PERIOD_W1, _dayCnt_M5 ) ); for ( i = 0; i < _cnt_M5; i++ ) { _time_M5 = Time[i]; _prdCvrt_M5 = PeriodSeconds( _prd_M5 ); _timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5; _vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr( _timeCvrt_M5, TIME_DATE|TIME_MINUTES ); if ( _Period < PERIOD_M15 ) { if ( ... TimeHour( _timeCvrt_M5 ) == 12 ) { ObjectCreate ( _vlineName_M5, OBJ_VLINE, 0, _timeCvrt_M5, 0 ); } } } return;}あなたに幸運がありますように。もしうまくいったら、そしてそうでなかったら、続けてみてください。 Max Enrik 2016.11.26 15:25 #55 Marco vd Heijden:もしうまくいったら、そしてうまくいかなかったら、続けてみてください。 ありがとうございました。 Max Enrik 2017.02.19 02:27 #56 #ブローカータイム - リオープン私はあちこちのフォーラムを読んだ。多分私の解決はそれらのどちらかである。しかし、私は理解していなかった。このコメントの前に、もう一度試してみました。しかし、私は解決策を見つけることができません。 だから、私は2つのブローカー、AとBを持っています。A: Vlineオブジェクトは、正しい時間を配置します。例:時間2017.02.180:00、Vラインオブジェクトも同じ時間を配置。B: Vlineオブジェクトが間違った時刻に配置された場合(私が間違っているかもしれません)。時刻は2017.02.181:00ですが、Vラインオブジェクトは0:00に配置されています。 だから、誰かが私の懸念を理解する場合、任意のコメントは私のために良いだろう。良い週末をお過ごしください。 honest_knave 2017.02.19 08:07 #57 Max Enrik:#ブローカータイム - リオープン私はあちこちのフォーラムを読んだ。多分私の解決はそれらのどちらかである。しかし、私は理解していなかった。このコメントの前に、もう一度試してみました。しかし、私は解決策を見つけることができません。 だから、私は2つのブローカー、AとBを持っています。A: Vlineオブジェクトは、正しい時間を配置します。例:時間2017.02.180:00、Vラインオブジェクトも同じ時間を配置。B: Vlineオブジェクトが間違った時刻に配置された場合(私が間違っているかもしれません)。時刻は2017.02.181:00ですが、Vラインオブジェクトは0:00に配置されています。 だから、誰かが私の懸念を理解する場合、任意のコメントは私のために良いだろう。良い週末をお過ごしください。 コードを参照してくださいする必要があります Max Enrik 2017.02.22 18:58 #58 以下のコードは、2つの異なるブローカーで私に異なる結果を提供します。( 私の前のコメントは、あなたが私を理解するのに役立つ可能性があります )事前にありがとうございます。void PerioDay() {// High ObjectSet("PeriodHigh",OBJPROP_PRICE1,iHigh(Symbol(),PERIOD_D1,0)); ObjectSet("PeriodHigh",OBJPROP_PRICE2,iHigh(Symbol(),PERIOD_D1,0)); ObjectSet("PeriodHigh",OBJPROP_TIME1,TimeCurrent()); ObjectSet("PeriodHigh",OBJPROP_TIME2,TimeCurrent() -(TimeCurrent()-iTime(Symbol(),PERIOD_D1,0)));// Low ObjectSet("PeriodLow",OBJPROP_PRICE1,iLow(Symbol(),PERIOD_D1,0)); ObjectSet("PeriodLow",OBJPROP_PRICE2,iLow(Symbol(),PERIOD_D1,0)); ObjectSet("PeriodLow",OBJPROP_TIME1,TimeCurrent()); ObjectSet("PeriodLow",OBJPROP_TIME2,TimeCurrent() -(TimeCurrent()-iTime(Symbol(),PERIOD_D1,0))); } honest_knave 2017.02.22 19:43 #59 iHighとiLowの値がブローカーによって異なるということであれば、それはごく一般的なことです。2つの理由。1.ブローカーによって価格が微妙に異なる、および2.ブローカーのサーバーのGMTオフセットが異なる場合、バーは異なる時刻に開始されます。 Max Enrik 2017.02.22 21:05 #60 honest_knave:iHighとiLowの値がブローカーによって異なるということであれば、それはよくあることです。 2つの理由があります。 1.ブローカーによって価格がわずかに異なる、および 2.ブローカーのサーバーのGMTオフセットが異なる場合、バーは異なる時刻に開始されます。つまり、時間だけが違うのです。ということで、この問題を解決するチャンスはないのでしょうか?どうもありがとうございます。 12345678910111213...16 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もし、タイムフレームを切り替えるのであれば、タイマーは良い選択肢ではありません。
OnInit() 関数で行を作成し、OnTick() または OnTimer() 関数で行を更新することができます。
また、OnDeint()関数のObjectsDeleteAll()に注目してください。これは、新しいフレームで再び作成する前に、すべてが削除されることを確認します。
---
さらに、新しいローソク 足が発生するたびに行を更新したい 場合は、前のページの例と最後の例を組み合わせて、次のようにすることができます。
...
もし他に 問題が あれば、コードを示して ください。
私はあなたの最新のコメントを研究した。
別の2つの偉大なコメント。そのコードは似ているように見えますが(あなたの#18のコメント)、私にとっては非常に異なっています。
そうそう、フレームを切り替えるとタイマーを破壊してしまうんですよね。しかし、私のインジケータはPERIOD_**に一度だけ更新されるので、これは非常に便利です。
そうそう。init()関数でメインラインを 作成し、OnTimer()関数で更新している。
(以下のコードを見てもらえば、より明確に理解できると思います)
...新しいキャンドルは、あなたが組み合わせることができます...
もっと何か問題があれば...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
私が言ったように、それはより多くの時間を必要と する一つの問題があります。今、私はあなたに私のインジケータコードのいくつかを示す必要があります。そして、私は私の指標で'switch operator & ObjectMove()' を使用しない。
マルコ
以下のコードが良いのか悪い のか、教えてください。
また、 switch()とObjectMove() を私のインジケーターに取り入れる ことは可能でしょうか?(なぜ私が先に質問しているかというと、時間がかかるからです。)
(ご覧の通り、私はあなたの#18コメントからより多くの利益を得ました - そして今、私は私の下のコードとあなたの最新の二つの素晴らしいコメントの間でジレンマに直面しています)
int init()
{
EventSetMillisecondTimer( 1250 );
_CreateLines_M5();
return(INIT_SUCCEEDED);
}
//|+--------------------------------------------------------------------------------+
int start()
{
return(0);
}
//|+--------------------------------------------------------------------------------+
int deinit()
{
ObjectsDeleteAll( 0, _prefix );
return(0);
}
//|+--------------------------------------------------------------------------------+
void OnTimer()
{
//---
if ( _dt_Prd_M5 != iTime( Symbol(), _prd_M5, 0 ) )
{
_dt_Prd_M5 = iTime( Symbol(), _prd_M5, 0 );
_CreateLines_M5();
}
return;
}
//|+--------------------------------------------------------------------------------+
void _CreateLines_M5( )
{
//---
int _dayCnt_M5 = _prd_cnt + 0;
int _cnt_M5 = iBarShift( Symbol(), 0, iTime( Symbol(), PERIOD_W1, _dayCnt_M5 ) );
for ( i = 0; i < _cnt_M5; i++ )
{
_time_M5 = Time[i];
_prdCvrt_M5 = PeriodSeconds( _prd_M5 );
_timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5;
_vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr( _timeCvrt_M5, TIME_DATE|TIME_MINUTES );
if ( _Period < PERIOD_M15 )
{
if (
...
TimeHour( _timeCvrt_M5 ) == 12
)
{
ObjectCreate ( _vlineName_M5, OBJ_VLINE, 0, _timeCvrt_M5, 0 );
}
}
}
return;
}
では、よろしくお願いします。
私は他の人のことは知りませんが、あなたのフォント、色、太字、斜体などの組み合わせは気が散って迷惑だと思います。実際、私はこの記事を読むのが面倒でした。
あなたの最新のコメントをリサーチしました。
別の2つの素晴らしいコメント。そのコードは似ているように見えますが(#18のコメント)、私にとっては非常に異なっています。
そうそう、フレームを切り替えたときに'Timer'が破壊されるのを感じていました。しかし、私のインジケータはPERIOD_**に一度だけ更新されるので、これは非常に便利です。
そうそう。init()関数でメインラインを 作成し、OnTimer()関数で更新している。
(以下のコードを見てもらえば、より明確に理解できると思います)
...新しいキャンドルは、あなたが組み合わせることができます...
もっと何か問題があれば...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
私が言ったように、それはより多くの時間を必要と する一つの問題があります。今、私はあなたに私のインジケータコードのいくつかを示す必要があります。そして、私は私の指標で'switch operator & ObjectMove()' を使用しない。
マルコ
以下のコードが良いのか悪い のか、教えてください。
また、 switch()とObjectMove() を私のインジケーターに取り入れる ことは可能でしょうか?(なぜ私が先に質問しているかというと、時間がかかるからです。)
(ご覧の通り、私はあなたの#18コメントからより多くの利益を得ました - そして今、私は私の下のコードとあなたの最新の二つの素晴らしいコメントの間でジレンマに直面しています)
int init()
{
EventSetMillisecondTimer( 1250 );
_CreateLines_M5();
return(INIT_SUCCEEDED);
}
//|+--------------------------------------------------------------------------------+
int start()
{
return(0);
}
//|+--------------------------------------------------------------------------------+
int deinit()
{
ObjectsDeleteAll( 0, _prefix );
return(0);
}
//|+--------------------------------------------------------------------------------+
void OnTimer()
{
//---
if ( _dt_Prd_M5 != iTime( Symbol(), _prd_M5, 0 ) )
{
_dt_Prd_M5 = iTime( Symbol(), _prd_M5, 0 );
_CreateLines_M5();
}
return;
}
//|+--------------------------------------------------------------------------------+
void _CreateLines_M5( )
{
//---
int _dayCnt_M5 = _prd_cnt + 0;
int _cnt_M5 = iBarShift( Symbol(), 0, iTime( Symbol(), PERIOD_W1, _dayCnt_M5 ) );
for ( i = 0; i < _cnt_M5; i++ )
{
_time_M5 = Time[i];
_prdCvrt_M5 = PeriodSeconds( _prd_M5 );
_timeCvrt_M5 = _time_M5 - ( _time_M5 % _prdCvrt_M5 ) + _prdCvrt_M5;
_vlineName_M5 = _prefix + "PERIOD_M5 - " + TimeToStr( _timeCvrt_M5, TIME_DATE|TIME_MINUTES );
if ( _Period < PERIOD_M15 )
{
if (
...
TimeHour( _timeCvrt_M5 ) == 12
)
{
ObjectCreate ( _vlineName_M5, OBJ_VLINE, 0, _timeCvrt_M5, 0 );
}
}
}
return;
}
あなたに幸運がありますように。
もしうまくいったら、そしてそうでなかったら、続けてみてください。
もしうまくいったら、そしてうまくいかなかったら、続けてみてください。
#ブローカータイム - リオープン
私はあちこちのフォーラムを読んだ。多分私の解決はそれらのどちらかである。しかし、私は理解していなかった。
このコメントの前に、もう一度試してみました。しかし、私は解決策を見つけることができません。
だから、私は2つのブローカー、AとBを持っています。
- A: Vlineオブジェクトは、正しい時間を配置します。例:時間2017.02.180:00、Vラインオブジェクトも同じ時間を配置。
- B: Vlineオブジェクトが間違った時刻に配置された場合(私が間違っているかもしれません)。時刻は2017.02.181:00ですが、Vラインオブジェクトは0:00に配置されています。
だから、誰かが私の懸念を理解する場合、任意のコメントは私のために良いだろう。良い週末をお過ごしください。
#ブローカータイム - リオープン
私はあちこちのフォーラムを読んだ。多分私の解決はそれらのどちらかである。しかし、私は理解していなかった。
このコメントの前に、もう一度試してみました。しかし、私は解決策を見つけることができません。
だから、私は2つのブローカー、AとBを持っています。
- A: Vlineオブジェクトは、正しい時間を配置します。例:時間2017.02.180:00、Vラインオブジェクトも同じ時間を配置。
- B: Vlineオブジェクトが間違った時刻に配置された場合(私が間違っているかもしれません)。時刻は2017.02.181:00ですが、Vラインオブジェクトは0:00に配置されています。
だから、誰かが私の懸念を理解する場合、任意のコメントは私のために良いだろう。良い週末をお過ごしください。
以下のコードは、2つの異なるブローカーで私に異なる結果を提供します。
( 私の前のコメントは、あなたが私を理解するのに役立つ可能性があります )
事前にありがとうございます。
{
// High
ObjectSet("PeriodHigh",OBJPROP_PRICE1,iHigh(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodHigh",OBJPROP_PRICE2,iHigh(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodHigh",OBJPROP_TIME1,TimeCurrent());
ObjectSet("PeriodHigh",OBJPROP_TIME2,TimeCurrent() -(TimeCurrent()-iTime(Symbol(),PERIOD_D1,0)));
// Low
ObjectSet("PeriodLow",OBJPROP_PRICE1,iLow(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodLow",OBJPROP_PRICE2,iLow(Symbol(),PERIOD_D1,0));
ObjectSet("PeriodLow",OBJPROP_TIME1,TimeCurrent());
ObjectSet("PeriodLow",OBJPROP_TIME2,TimeCurrent() -(TimeCurrent()-iTime(Symbol(),PERIOD_D1,0)));
}
iHighとiLowの値がブローカーによって異なるということであれば、それはごく一般的なことです。
2つの理由。
1.ブローカーによって価格が微妙に異なる、および
2.ブローカーのサーバーのGMTオフセットが異なる場合、バーは異なる時刻に開始されます。
iHighとiLowの値がブローカーによって異なるということであれば、それはよくあることです。
2つの理由があります。
1.ブローカーによって価格がわずかに異なる、および
2.ブローカーのサーバーのGMTオフセットが異なる場合、バーは異なる時刻に開始されます。
つまり、時間だけが違うのです。
ということで、この問題を解決するチャンスはないのでしょうか?
どうもありがとうございます。