MT4 iMAOnArrayとiBandsOnArrayの要素数が計算に与える影響について - ページ 7 123456789 新しいコメント Dmitry Fedoseev 2016.05.03 15:38 #61 Alexey Viktorov:if(rates_total-i >= rates_total-100); の後、計算するバーが残り100本となったときに、iMAOnArray()関数がまずALL配列を再計算するということでしょうか? いいえ、半分だけです。 Sergey Efimenko 2016.05.03 16:25 #62 Alexey Viktorov:if(rates_total-i >= rates_total-100); の後、計算するバーが残り100本となったときに、iMAOnArray() 関数はまず配列全体を再計算するということでしょうか?iMAOnArray配列に格納されたデータから計算された移動平均の値を返します。doubleiMAOnArray()doublearray[],// 配列inttotal,// 要素の数intma_period,//期間intma_shift,// 平均のシフト 量intma_method,// 平均化手法.int shift//シフト);パラメータarray[][in] データを格納した配列。ぜんすう [in]計算する要素 数。0は配列の全要素を意味します。その通り、iMAOnArray の最初の呼び出しで size の値を 0 にすると、確かに配列全体が計算され、その後、最後の値かせいぜい最後の 2 つの値だけが計算されるようですが、誰が考えても、すべてを再計算する可能性があります...。だから、減速しているのです。そのため、オフセットで取得したいバーの数は関係なく、とにかく配列全体をカウントしています。 [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 MT4 iMAOnArray and iBandsOnArray [ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you Alexey Viktorov 2016.05.03 16:45 #63 Sergey Efimenko: iMAOnArray配列に格納されたデータから計算された移動平均の値を返します。doubleiMAOnArray()doublearray[],// 配列inttotal,// 要素の数intma_period,//期間intma_shift,// 平均のシフト 量intma_method,// 平均化手法.int shift//シフト);パラメータarray[][in] データを格納した配列。ぜんすう [in]計算する要素 数。0は配列の全要素を意味します。その通り、iMAOnArray の最初の呼び出しで size の値を 0 にすると、確かに配列全体が計算され、その後、最後の値かせいぜい最後の 2 つの値だけが計算されるようですが、誰が考えても、すべてを再計算する可能性があります...。だから、減速しているのです。そのため、オフセットで取得したいバーの数は関係なく、とにかく配列全体をカウントしています。 だから、勘違いしてしまったんです。また、複雑な計算をしないとブレーキがかからないのはなぜですか? Sergey Efimenko 2016.05.03 17:09 #64 Alexey Viktorov: それなら、私が間違っていたんですね。では、なぜ複雑な計算をしなくてもラグが発生しないのでしょうか? コードから呼び出すと遅くなるのに、単にチャートに重ねるだけでは遅くならないのはなぜか、そこが疑問です。まあ、どこに答えがあるのかは、開発者しかわからないでしょうけど。私のチャートには複雑なインジケータがたくさんあり、中には再帰的ループまで使っているものもあり、「長く考える」ことになっていますが、これは単純な作業で計算にとても時間がかかるものなのです。 Alexey Viktorov 2016.05.03 17:21 #65 Sergey Efimenko: それが問題で、コードから呼び出すとラグが発生するのに、チャートに重ねるだけではラグが発生しないのはなぜか。まあ、どこに答えがあるのかは、開発者しかわからないんですけどね。私のチャートには複雑なインジケータがたくさんあり、中には再帰ループまで使っているものもあり、「長く考える」ことが前提になっていますが、これは単純な作業で計算に時間がかかってしまうのです。単純なチャートオーバーレイのことではありません。そのテストコードについてです。そこに呼ばれるのであって、スーパーインポーズではない。それでも、配列の一部をコピーしているくだりは打ち破ったつもりです。また、MODE_LWMAでも配列全体をカウントするのと同じように再計算されます。赤は全履歴で計算されます。緑が直近の50小節。 Dmitry Fedoseev 2016.05.03 17:48 #66 Alexey Viktorov:...それでも、配列の一部をコピーしているくだりは打ち破ったつもりです。また、MODE_LWMAでも配列全体をカウントするのと同じように再計算されます。...彼も倒した。 Sergey Efimenko 2016.05.03 18:00 #67 Alexey Viktorov:単純なチャートオーバーレイのことではありません。そのテストコードについてです。オーバーレイではなく、そこに呼び出されるのです。それでも、配列の一部をコピーしているくだりは打ち破ったつもりです。また、MODE_LWMAでも配列全体をカウントするのと同じように再計算されます。赤は全歴史をカウントしています。緑が直近の50小節。 あなたは私の投稿を一字一句読んでいるような印象を受けるのですが。勝つって何?早速、そのようなアイデア(バー 計算制限のある類似のコード)を得たと書き、試してみたところ、パフォーマンスが上がらない原因は配列はまだ完全に計算されます(合計=0)、あなたは(バッファに記入)最後の100要素のみをコピーするという事実は、減速の計算を変更しない、それはバッファ内の要素を取得していないブレーキ、および配列平均の計算は、いずれかの完全に計算されます(合計=0)または結果を与えるだけ最初のN要素(合計=N)、および方向インデックスの変更が望ましい効果を与えていない間に最後のを必要とします。 Alexey Viktorov 2016.05.03 18:18 #68 Sergey Efimenko: 私の投稿を一字一句、あるいは一文一文読んでいるような印象を受けるのですが、いかがでしょうか。勝つって何?早速、そのようなアイデア(バー 計算制限のある類似コード)があると書き、早速、試してみたところ、性能向上は得られなかった、とのことです。配列はまだ完全に計算されています(total=0)、最後の100要素だけをコピー(バッファに埋める)しても計算は遅くなりません、要素をバッファに入れるのではなく、平均的な配列の計算です、完全に計算されるか(total=0)、最初のN要素だけ(total=N)結果を出します、最後のは必要です、インデックスの方向を変えても望ましい効果は出ません。どうやら私のメッセージも既読スルーされているようです...。前のコードが合わない、どこで間違えたのかがわかった。最後のスクリーンショットは、最後の50本のバーだけをカウントしていますが、別の方法を示しています。どうせ動かないだろう」という反応を期待して、すぐにコードを掲載しなかったのは......。コードは秘密ではありませんので、お手持ちのインジケータでどのように動作するか確認したい場合は、私にお知らせください。ドミトリー・フェドセーエフ 彼も勝ちました。 と煽ることしかできない。今の私のように、この口調でコミュニケーションをとる会員が何人いるか数えてみてください。消えろ、サタン。 Dmitry Fedoseev 2016.05.03 19:04 #69 Alexey Viktorov:... 騒ぐことしかできない。あなたが今、私に話しているように、その口調で話している掲示板のユーザーが何人いるか数えてみてください。消えろ、サタン。そうやって、あなたのような方とお話をしてきました。ここにはあなたたちの連合がいるんですよ。昨日も、ここで配列コピー 方式の失敗について書かれていましたね。LWMAに向けられたもので、うまくいきました。EMAで確認するほど怠け者でもないし、聖なる力の宿主?教会にロウソクを立てましたか?泣き言ばかり言って、その度に「そっか、間違えたんだ。戦いです。ちょっとでもセンスがあれば、とっくにこのトピックの問題は解決していることがわかるはずです。 もう一度目立ちたかったのに、角を飛ばされてすぐにサタンに嘆いたんだろ。男! Sergey Efimenko 2016.05.03 19:22 #70 Alexey Viktorov:どうやら私のメッセージも既読スルーされているようです...。前のコードが合わない、どこで間違えたのかがわかった。最後のスクリーンショットは、最後の50本のバーだけをカウントしていますが、別の方法を示しています。どうせ動かないだろう」という反応を期待して、すぐにコードを掲載しなかったのは......。コードは秘密ではないので、自分のインジケータでどのように動作するか確認したい場合は、教えてください。 違うコードがあることを推測していたのでしょうか?上記もスクリーンショットですが、直近の100本がカウントされていますが、実際には全てのバーがカウントされていますが、バッファにコピーされるのは100本だけです。はい、そしてなぜ一度にコードを掲載しないのですか?そんな答えはなかったはずだ。私は実質的に答えただろう、何が言いたいのか理解できない?何が起こっているのか、何がカウントされているのか、上記のような欠陥があるのか、コードからすぐに確認することができます。そして、その画面からは何が見えてくるのか。結果以外の何ものでもない。すでに述べた結果については、さまざまな方法で到達することができるが、計算時間を短縮するという目下の課題に対しては、そのすべてが受け入れられるとは限らない。 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
if(rates_total-i >= rates_total-100); の後、計算するバーが残り100本となったときに、iMAOnArray()関数がまずALL配列を再計算するということでしょうか?
if(rates_total-i >= rates_total-100); の後、計算するバーが残り100本となったときに、iMAOnArray() 関数はまず配列全体を再計算するということでしょうか?
iMAOnArray
配列に格納されたデータから計算された移動平均の値を返します。
doubleiMAOnArray()
doublearray[],// 配列
inttotal,// 要素の数
intma_period,//期間
intma_shift,// 平均のシフト 量
intma_method,// 平均化手法.
int shift//シフト
);
パラメータ
array[]
[in] データを格納した配列。
ぜんすう
[in]計算する要素 数。0は配列の全要素を意味します。
その通り、iMAOnArray の最初の呼び出しで size の値を 0 にすると、確かに配列全体が計算され、その後、最後の値かせいぜい最後の 2 つの値だけが計算されるようですが、誰が考えても、すべてを再計算する可能性があります...。だから、減速しているのです。そのため、オフセットで取得したいバーの数は関係なく、とにかく配列全体をカウントしています。
iMAOnArray
配列に格納されたデータから計算された移動平均の値を返します。
doubleiMAOnArray()
doublearray[],// 配列
inttotal,// 要素の数
intma_period,//期間
intma_shift,// 平均のシフト 量
intma_method,// 平均化手法.
int shift//シフト
);
パラメータ
array[]
[in] データを格納した配列。
ぜんすう
[in]計算する要素 数。0は配列の全要素を意味します。
その通り、iMAOnArray の最初の呼び出しで size の値を 0 にすると、確かに配列全体が計算され、その後、最後の値かせいぜい最後の 2 つの値だけが計算されるようですが、誰が考えても、すべてを再計算する可能性があります...。だから、減速しているのです。そのため、オフセットで取得したいバーの数は関係なく、とにかく配列全体をカウントしています。
それなら、私が間違っていたんですね。では、なぜ複雑な計算をしなくてもラグが発生しないのでしょうか?
それが問題で、コードから呼び出すとラグが発生するのに、チャートに重ねるだけではラグが発生しないのはなぜか。まあ、どこに答えがあるのかは、開発者しかわからないんですけどね。私のチャートには複雑なインジケータがたくさんあり、中には再帰ループまで使っているものもあり、「長く考える」ことが前提になっていますが、これは単純な作業で計算に時間がかかってしまうのです。
単純なチャートオーバーレイのことではありません。そのテストコードについてです。そこに呼ばれるのであって、スーパーインポーズではない。
それでも、配列の一部をコピーしているくだりは打ち破ったつもりです。また、MODE_LWMAでも配列全体をカウントするのと同じように再計算されます。
赤は全履歴で計算されます。緑が直近の50小節。
...
それでも、配列の一部をコピーしているくだりは打ち破ったつもりです。また、MODE_LWMAでも配列全体をカウントするのと同じように再計算されます。
...
彼も倒した。
単純なチャートオーバーレイのことではありません。そのテストコードについてです。オーバーレイではなく、そこに呼び出されるのです。
それでも、配列の一部をコピーしているくだりは打ち破ったつもりです。また、MODE_LWMAでも配列全体をカウントするのと同じように再計算されます。
赤は全歴史をカウントしています。緑が直近の50小節。
私の投稿を一字一句、あるいは一文一文読んでいるような印象を受けるのですが、いかがでしょうか。勝つって何?早速、そのようなアイデア(バー 計算制限のある類似コード)があると書き、早速、試してみたところ、性能向上は得られなかった、とのことです。配列はまだ完全に計算されています(total=0)、最後の100要素だけをコピー(バッファに埋める)しても計算は遅くなりません、要素をバッファに入れるのではなく、平均的な配列の計算です、完全に計算されるか(total=0)、最初のN要素だけ(total=N)結果を出します、最後のは必要です、インデックスの方向を変えても望ましい効果は出ません。
どうやら私のメッセージも既読スルーされているようです...。前のコードが合わない、どこで間違えたのかがわかった。最後のスクリーンショットは、最後の50本のバーだけをカウントしていますが、別の方法を示しています。
どうせ動かないだろう」という反応を期待して、すぐにコードを掲載しなかったのは......。コードは秘密ではありませんので、お手持ちのインジケータでどのように動作するか確認したい場合は、私にお知らせください。
彼も勝ちました。
...
騒ぐことしかできない。あなたが今、私に話しているように、その口調で話している掲示板のユーザーが何人いるか数えてみてください。消えろ、サタン。そうやって、あなたのような方とお話をしてきました。ここにはあなたたちの連合がいるんですよ。
昨日も、ここで配列コピー 方式の失敗について書かれていましたね。LWMAに向けられたもので、うまくいきました。EMAで確認するほど怠け者でもないし、聖なる力の宿主?教会にロウソクを立てましたか?
泣き言ばかり言って、その度に「そっか、間違えたんだ。
戦いです。ちょっとでもセンスがあれば、とっくにこのトピックの問題は解決していることがわかるはずです。
もう一度目立ちたかったのに、角を飛ばされてすぐにサタンに嘆いたんだろ。男!
どうやら私のメッセージも既読スルーされているようです...。前のコードが合わない、どこで間違えたのかがわかった。最後のスクリーンショットは、最後の50本のバーだけをカウントしていますが、別の方法を示しています。
どうせ動かないだろう」という反応を期待して、すぐにコードを掲載しなかったのは......。コードは秘密ではないので、自分のインジケータでどのように動作するか確認したい場合は、教えてください。