Mt4 サポート終了。 - ページ 33 1...262728293031323334353637383940...47 新しいコメント Реter Konow 2017.09.11 12:45 #321 開始時間にも問題がある。何かが、バーの開始を適切なタイミングで登録していない。後で考えよう。 Vladimir Pastushak 2017.09.11 12:46 #322 Nikolai Semko: ピーター、私もうまくいかないんです。 あなたのプログラミングスタイルはおかしい。OnInitやOnTimerの変数やループを含めて、このようなものを1つのプロシージャにまとめてもよいでしょう。このコードが邪魔になるので、使いたい人がいれば。同じ内容のプロシージャーが20個以上ある場合はどうすればよいのでしょうか?何しろ、ここに 実装されているのですから。ピーターは安易に逃げようとはしない...。 Vladimir Pastushak 2017.09.11 12:48 #323 Реter Konow: また、開始時間にも問題があります。何かが正しいタイミングでバーの開始を登録しない。後で考えよう。小節の開始は必ずしも正確なタイミングではありません。 バーが完全に省略されることもあります。 Реter Konow 2017.09.11 12:48 #324 Nikolai Semko: ピーター 私もうまくいかないんです。 あなたのプログラミングスタイルはおかしい。これらをOnInitやOnTimerの変数やループをすべて1つのプロシージャにまとめることができるのです。このパッケージが邪魔になるので、使いたい人がいれば。同じ内容のプロシージャーが20個以上ある場合はどうするのですか?何しろ、ここに 実装されているのですから。分単位で見るとうまくいくのですが、小節の先頭を適切なタイミングでロックすることができません。待ち時間が長いので、他の時間軸では確認していません。スタイルについては、もうどうでもいい。タイマーからすべてを取り出して、別の関数に入れればいいのです。私は、あくまでもソリューションそのものについて考えていたのであって、その統合による将来のバリエーションについて考えていたわけではありません。 Реter Konow 2017.09.11 12:50 #325 Vladimir Pastushak: バーのスタートは、必ずしも時間通りとは限りません。 はい、気づきました、後で修正します。 Alexey Viktorov 2017.09.11 13:01 #326 Реter Konow:もし、本当に600もの商品をマーケットオーバービューに登録している人が、1ティック ごとに各商品、各タイムフレームの新しいバーの到着をチェックするとしたら、高くつくかもしれないな...と思っていたんです。私自身はトレードをしないので、この関数が実際に何回呼ばれるべきかは正確にはわかりません。 new bar 関数のシンボルとタイムフレームの二重ループは、シンボルとタイムフレームの数が非常に多く、数百のシンボルの各ティックで関数が呼び出される場合にのみ、負荷が増加する可能性があります。それならば、ドミトリーの言うとおりかもしれない。 関数内のループを1つ短くしました。 ただ、忘れてください。このアクションに特化した私のクラスの例です。もちろん、名作ではありませんが、私のものであり、私を理解し、働いてくれています。 class CNewBar { protected: MqlRates newBarRates[]; public: bool newBar(); bool newBar(ENUM_TIMEFRAMES timeframe, datetime & tOld); };/********************************************************************/ bool CNewBar::newBar() { static datetime timeLastBar; if(CopyRates(_Symbol, PERIOD_CURRENT, 0, 1, newBarRates) < 0) return(false); bool ret = timeLastBar != newBarRates[0].time; if(ret) timeLastBar = newBarRates[0].time; return(ret); }/********************************************************************/ bool CNewBar::newBar(ENUM_TIMEFRAMES timeframe, datetime & tOld) { if(CopyRates(_Symbol, timeframe, 0, 1, newBarRates) < 0) return(false); datetime tNew = newBarRates[0].time; bool ret = tOld != tNew; if(ret) tOld = tNew; return(ret); }/********************************************************************/現在のTFだけで判断したい場合は、パラメータなしで関数を呼び出す必要があります。したがって、.mqhに配置されている場合は、ライブラリを添付する必要があります。#include <путь_папка\имя_файла.mqh> CNewBar newBar;で、OnTick()の中で呼び出されます。if(newBar.newBar()) Print("Новый бар на текущем ТФ");他のTFを定義する必要がある場合は、必要に応じて、グローバル変数やスタティック変数のレベルで、各期間やシンボルの変数を宣言します。static datetime oldD1 = 0, oldH1 = 0; if(newBar.newBar(PERIOD_H1, oldH1) && newBar.newBar(PERIOD_D1, oldD1) Print("Открылся новый день и новый час");この方法は、必要な TF 以外のチャートで作業する場合に有効で、Expert Advisor が動作するチャートの偶発的な切り替えによる問題から保護されます。 Dmitry Fedoseev 2017.09.11 13:02 #327 Nikolai Semko: ピーター 私もうまくいかないんです。アルゴリズムはかなり高速ですが、時間の無駄です。でも、まだうまくいっていない。理解する時間がない。 プログラミングのスタイルが変わっていますね。OnInitやOnTimerの変数やループを含めて、このようなものを1つのプロシージャにまとめてもよいでしょう。使いたい人がいても、こんなものでは邪魔になる。同じ内容のプロシージャーが20個以上ある場合はどうするのですか?ここに 実装されています。もしかして、「速い」の意味がわからない? Dmitry Fedoseev 2017.09.11 13:14 #328 Alexey Viktorov:あ、吐き出して...。このアクションに特化した私のクラスの例です。もちろん、傑作というわけではありませんが、私のものであり、私のために機能しているのです。現在のTFだけで判断したい場合は、パラメータなしの関数が呼ばれます。したがって、.mqhに配置する場合は、ライブラリを接続する必要があります。で、OnTick()の中で呼び出されます。他のTFを決めたい場合は、グローバル変数やスタティック変数のレベルで、必要に応じて、各期間やシンボルごとに変数が宣言されます。この方法は、必要な TF 以外のチャートで作業する場合に有効で、Expert Advisor が動作するチャートの偶発的な切り替えに関連する問題から保護されます。自分がどんなバカを発揮したのか、全くわかっていない、無茶苦茶だ。しかし、皆さんは私の意見に興味がないようなので、具体的にどのような場所かは紹介しません))) Andrey Kisselyov 2017.09.11 13:14 #329 Alexey Viktorov:あ、吐き出して...。このアクションに特化した私のクラスの例です。もちろん、傑作というわけではありませんが、私のものであり、私のために機能しているのです。現在のTFだけで判断したい場合は、パラメータなしの関数が呼ばれます。したがって、.mqhに配置されている場合は、ライブラリを添付する必要があります。で、OnTick()の中で呼び出されます。他のTFを決定する必要がある場合は、グローバル変数または静的変数のレベルで、各期間と、必要に応じて、シンボルに対して宣言されます。この方法は、目的のチャート以外で作業する場合に有効で、Expert Advisorが動作するチャートの偶発的な切り替えによる問題から保護されます。 そして、他のシンボルについてはどうですか?タスクは、任意のfのための市場の概要から任意のシンボルの変更オフを識別することであった。 リーズナブル。 Реter Konow 2017.09.11 13:15 #330 Alexey Viktorov:あ、吐き出して...。このアクションに特化した私のクラスの例です。もちろん、傑作というわけではありませんが、私のものであり、私のために機能しているのです。現在のTFだけで判断したい場合は、パラメータなしの関数が呼ばれます。したがって、これを.mqhに配置する場合は、ライブラリーを含める必要があります。で、OnTick()の中で呼び出されます。私は他の時間枠を決定したい場合は、グローバル変数または静的変数のレベルで、必要に応じて、各期間とシンボルに宣言されています。この方法は、目的のチャート以外で作業する場合に有効で、Expert Advisorが動作するチャートの偶発的な切り替えの問題から保護されます。あなたのソリューションはうまく機能していますか?うまくいけば、すべてがうまくいく。 何百台もの楽器の場合はどうでしょうか。重なることはないのでしょうか。 1...262728293031323334353637383940...47 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ピーター、私もうまくいかないんです。
あなたのプログラミングスタイルはおかしい。OnInitやOnTimerの変数やループを含めて、このようなものを1つのプロシージャにまとめてもよいでしょう。このコードが邪魔になるので、使いたい人がいれば。同じ内容のプロシージャーが20個以上ある場合はどうすればよいのでしょうか?何しろ、ここに 実装されているのですから。
ピーターは安易に逃げようとはしない...。
また、開始時間にも問題があります。何かが正しいタイミングでバーの開始を登録しない。後で考えよう。
小節の開始は必ずしも正確なタイミングではありません。
バーが完全に省略されることもあります。ピーター 私もうまくいかないんです。
あなたのプログラミングスタイルはおかしい。これらをOnInitやOnTimerの変数やループをすべて1つのプロシージャにまとめることができるのです。このパッケージが邪魔になるので、使いたい人がいれば。同じ内容のプロシージャーが20個以上ある場合はどうするのですか?何しろ、ここに 実装されているのですから。
分単位で見るとうまくいくのですが、小節の先頭を適切なタイミングでロックすることができません。
待ち時間が長いので、他の時間軸では確認していません。
スタイルについては、もうどうでもいい。タイマーからすべてを取り出して、別の関数に入れればいいのです。私は、あくまでもソリューションそのものについて考えていたのであって、その統合による将来のバリエーションについて考えていたわけではありません。
バーのスタートは、必ずしも時間通りとは限りません。
もし、本当に600もの商品をマーケットオーバービューに登録している人が、1ティック ごとに各商品、各タイムフレームの新しいバーの到着をチェックするとしたら、高くつくかもしれないな...と思っていたんです。
私自身はトレードをしないので、この関数が実際に何回呼ばれるべきかは正確にはわかりません。
new bar 関数のシンボルとタイムフレームの二重ループは、シンボルとタイムフレームの数が非常に多く、数百のシンボルの各ティックで関数が呼び出される場合にのみ、負荷が増加する可能性があります。それならば、ドミトリーの言うとおりかもしれない。
関数内のループを1つ短くしました。
ただ、忘れてください。
このアクションに特化した私のクラスの例です。もちろん、名作ではありませんが、私のものであり、私を理解し、働いてくれています。
現在のTFだけで判断したい場合は、パラメータなしで関数を呼び出す必要があります。
したがって、.mqhに配置されている場合は、ライブラリを添付する必要があります。
#include <путь_папка\имя_файла.mqh> CNewBar newBar;
で、OnTick()の中で呼び出されます。
他のTFを定義する必要がある場合は、必要に応じて、グローバル変数やスタティック変数のレベルで、各期間やシンボルの変数を宣言します。
この方法は、必要な TF 以外のチャートで作業する場合に有効で、Expert Advisor が動作するチャートの偶発的な切り替えによる問題から保護されます。
ピーター 私もうまくいかないんです。アルゴリズムはかなり高速ですが、時間の無駄です。でも、まだうまくいっていない。理解する時間がない。
プログラミングのスタイルが変わっていますね。OnInitやOnTimerの変数やループを含めて、このようなものを1つのプロシージャにまとめてもよいでしょう。使いたい人がいても、こんなものでは邪魔になる。同じ内容のプロシージャーが20個以上ある場合はどうするのですか?ここに 実装されています。
もしかして、「速い」の意味がわからない?
あ、吐き出して...。
このアクションに特化した私のクラスの例です。もちろん、傑作というわけではありませんが、私のものであり、私のために機能しているのです。
現在のTFだけで判断したい場合は、パラメータなしの関数が呼ばれます。
したがって、.mqhに配置する場合は、ライブラリを接続する必要があります。
で、OnTick()の中で呼び出されます。
他のTFを決めたい場合は、グローバル変数やスタティック変数のレベルで、必要に応じて、各期間やシンボルごとに変数が宣言されます。
この方法は、必要な TF 以外のチャートで作業する場合に有効で、Expert Advisor が動作するチャートの偶発的な切り替えに関連する問題から保護されます。
自分がどんなバカを発揮したのか、全くわかっていない、無茶苦茶だ。しかし、皆さんは私の意見に興味がないようなので、具体的にどのような場所かは紹介しません)))
あ、吐き出して...。
このアクションに特化した私のクラスの例です。もちろん、傑作というわけではありませんが、私のものであり、私のために機能しているのです。
現在のTFだけで判断したい場合は、パラメータなしの関数が呼ばれます。
したがって、.mqhに配置されている場合は、ライブラリを添付する必要があります。
で、OnTick()の中で呼び出されます。
他のTFを決定する必要がある場合は、グローバル変数または静的変数のレベルで、各期間と、必要に応じて、シンボルに対して宣言されます。
この方法は、目的のチャート以外で作業する場合に有効で、Expert Advisorが動作するチャートの偶発的な切り替えによる問題から保護されます。
リーズナブル。
あ、吐き出して...。
このアクションに特化した私のクラスの例です。もちろん、傑作というわけではありませんが、私のものであり、私のために機能しているのです。
現在のTFだけで判断したい場合は、パラメータなしの関数が呼ばれます。
したがって、これを.mqhに配置する場合は、ライブラリーを含める必要があります。
で、OnTick()の中で呼び出されます。
私は他の時間枠を決定したい場合は、グローバル変数または静的変数のレベルで、必要に応じて、各期間とシンボルに宣言されています。
この方法は、目的のチャート以外で作業する場合に有効で、Expert Advisorが動作するチャートの偶発的な切り替えの問題から保護されます。
あなたのソリューションはうまく機能していますか?うまくいけば、すべてがうまくいく。
何百台もの楽器の場合はどうでしょうか。重なることはないのでしょうか。