int TFk()
{
int K=0;
K=TF_transfer(TF)/TF_transfer(Period());
// Print(TF_transfer(TF)," ",TF_transfer(Period()));//Print (K);if (K<1)return(1);
elsereturn(K);
}
int TF_transfer(ENUM_TIMEFRAMES tf)
{
if (tf==PERIOD_CURRENT) return(0);
if (tf==PERIOD_M1) return(1);
if (tf==PERIOD_M5) return(5);
if (tf==PERIOD_M15) return(15);
if (tf==PERIOD_M30) return(30);
if (tf==PERIOD_H1) return(60);
if (tf==PERIOD_H4) return(240);
if (tf==PERIOD_D1) return(1440);
if (tf==PERIOD_W1) return(10080);
if (tf==PERIOD_MN1) return(43200);
if (tf==PERIOD_M2) return(2);
if (tf==PERIOD_M3) return(3);
if (tf==PERIOD_M4) return(4);
if (tf==PERIOD_M6) return(6);
if (tf==PERIOD_M10) return(10);
if (tf==PERIOD_M12) return(12);
if (tf==PERIOD_H2) return(120);
if (tf==PERIOD_H3) return(180);
if (tf==PERIOD_M6) return(360);
if (tf==PERIOD_H8) return(480);
if (tf==PERIOD_H12) return(720);
return(1);
}
intBars(
string symbol_name, // имя символаENUM_TIMEFRAMES timeframe, // периодdatetime start_time, // с какой датыdatetime stop_time // по какую дату
);
関数を作りたいのですが、よろしくお願いします。
私は現在のTFと推定TFを持っています、関数は、測定がバーであった場合、任意の組み合わせで2つのTFの差を返す必要があります
どうすれば正しく実装できるのか?
私はこのようにしました。
問題は、私はインジケータにこの幸福を必要とするが、それは自分自身を正しく、このコードに初期化することを望んでいないことです。
このように反応します。
2017.09.22 14:23:27.742 donchian_channel_prognoz_MTF (Eu Splice,M5) K=3 Period=5
2017.09.22 14:23:27.776 donchian_channel_prognoz_MTF (Eu Splice,M5) test
2017.09.22 14:23:27.790 donchian_channel_prognoz_MTF (Eu Splice,M15) K=1 Period=15
一番混乱するのは、OnCalculateのボディにすでにあるテストをプリントしてしまうことです!
1回目はタイムフレームが正しく定義されていたのに、2回目は定義されていない...。
何が不思議なんだろう...。
こんな感じでやりました
問題は、私はインジケータにこの幸福が必要ですが、それは奇妙で、このコードに応答して、正しく初期化することを望んでいないことです。
このように反応します。
2017.09.22 14:23:27.742 donchian_channel_prognoz_MTF (Eu Splice,M5) K=3 Period=5
2017.09.22 14:23:27.776 donchian_channel_prognoz_MTF (Eu Splice,M5) test
2017.09.22 14:23:27.790 donchian_channel_prognoz_MTF (Eu Splice,M15) K=1 Period=15
一番混乱するのは、OnCalculateのボディにすでにあるテストをプリントしてしまうことです!
1回目はタイムフレームが正しく定義されていたのに、2回目は定義されていない...。
この不思議が何なのかわからない。
なぜ、そんな面倒なことをしなければならないのか?
その方が楽じゃないですか?
なんだこの紆余曲折は?
そうすれば、もっと楽になるのではないでしょうか?
初心者向けのスレッドなんですね、だからこの可能性を知らなかったんです、ご指摘ありがとうございます。
今、2つのTFで最も信頼できるiBarShiftの 機能を教えてください。
私は、例えば、分足のバーで、上位TF(例えばM15)から指標値を見つけるというタスクを持っています。タイムフレームは任意であるため、解答が複雑になる。
TFは1時間、構造までやったが、M15だとすると、ここで混乱する...。
今、2つのTFで最も信頼できるiBarShiftの関数を教えてください。
私は、例えば、分足のバーで、上位TF(例えばM15)から指標値を見つけるというタスクを持っています。タイムフレームは任意であるため、解答が複雑になる。
TFは1時間、構造までやったが、M15だとここで混乱する...。
このスクリプトを回す:最寄りのバーを検索する
このスクリプトを回す:最寄りのバーを検索する
ありがとうございます。
スレッドは初心者向けなんですね、だからこの機能を知らなかったんです、教えてくれてありがとうございます。
今、2つのTFで最も信頼できるiBarShiftの機能を教えてください。
私は、例えば、分足のバーで、上位TF(例えばM15)からインジケータの値を見つけるというタスクがあります。タイムフレームは任意であるため、解答が複雑になる。
TFは1時間、ストラクチャーを通しましたが、M15だとここで迷うんですよね...。
この場合、mql4の時のようなバーの番号付けを忘れてみてください。mql5では、バータイムですべてがほぼ解決します。困ったときは、Bars()関数を 使えばいいのです。
アレクセイ、mql4はもうずいぶん前から持っているんですよ。
どうやらこれで、私もmql4をよく知らないということがわかったようです。
また、この場合、mql4でそうであったように、バーナンバリングのことは忘れてみてください。mql5では、バータイムですべてがほぼ解決します。ピンチのときは、Bars()関数を使ってみて ください。
四捨五入は大丈夫ですか?
m1の時刻が14:44で、14:30(M15の最初の小節)が必要だとします。
どうやらこれで、私もmql4をよく知らないということがわかったようです...。
四捨五入は大丈夫ですか?
m1の時刻が14時44分で、14時30分(m15の最初のバー)の時刻を取得する必要があるとします。
これは、別のシリーズのものです。14:30のM15のバー期間から、14:44に何を取得する必要があるのか?関数Copy****にPERIOD_M15と 時間14:44を入れて、何が得られるか見てみましょう。そして、その結果が期待したものでなかったとき、また違った問いが出てきます。
別のシリーズのものです。14:30のM15のバー期間から、14:44に何を取得する必要があるのか?関数Copy****にPERIOD_M15と 時間14:44を入れて、何が得られるか見てみましょう。そして、その結果が期待したものでなかったとき、また違った問いが出てきます。
はい、その方向でやっていました。すべてにおいて、私は助けられました。こちらこそ、ありがとうございました。