int i, limit;
limit = prev_calculated == 0 ? rates_total-1 : rates_total-prev_calculated;
double buffer[]; // это промежуточный буфер для расчётаArraySetAsSeries(buffer, true); // это сам знаешьfor(i = limit; i >= 0; i--)
{
Buffer[i]=open[i]; // в комментарии не нуждается
BufferBMA[i] = NormalizeDouble(iMAOnArray(Buffer, 0, 5, 0, MODE_LWMA, i), _Digits); // Я воспользовался этим буфером чтобы не описывать ещё один
if(rates_total-i >= rates_total-50) // Всё основное действо...
{
ArrayCopy(buffer, Buffer, 0, i, 5); // Копируем в дополнительный буфер часть основного
BufferMA[i] = NormalizeDouble(iMAOnArray(buffer, 0, 5, 0, MODE_LWMA, 0), _Digits); // и вычисляем среднее значение с указанным периодом
}
}
return(rates_total);
違うコードがあることを推測していたのでしょうか?上記のスクリーンショットでも、直近の100本がカウントされていますが、実際にはすべてのバーがカウントされ、バッファにコピーされたのは100本だけです。はい、そしてなぜ一度にコードを掲載しないのですか?そんな答えはなかったはずだ。私は実質的に答えただろう、何が言いたいのか理解できない?何が起こっているのか、何がカウントされているのか、上記のような欠陥があるのか、コードからすぐに確認することができます。そして、その画面からは何が見えてくるのか。結果以外の何ものでもない。すでに述べた結果については、さまざまな方法で到達することができるが、計算時間を短縮するという目下の課題に対しては、そのすべてが受け入れられるとは限らない。
説得力がある。前に撮った分もあるはず...。申し訳ございませんでした。
その結果が上のスクリーンショットです。
説得力がある。前に撮った分もあるはず...。申し訳ございません。
その結果が上のスクリーンショットです。
どんだけくだらないこと吹き込んでんだよ。
アレクセイ・ヴィクトロフ
殴り合いの喧嘩を始められるのはあなただけです。今、私と一緒にこのような口調でやり取りをしたフォーラムメンバーが何人いるか数えてみてください。 消えろ、サタン。
先ほどの回答。
どんだけくだらないこと吹き込んでんだよ。何を証明しようとしてるんだ?
あなたには何もない。
そして、誰のために、何のために?
自分の楽しみのために。私の脳を乾燥させないため、そして同時に、もしかしたら人々のためになるかもしれない。クソみたいなことばっかり...消えろ、サタン...
説得力がある。前に撮った分もあるはず...。申し訳ございません。
その結果が上のスクリーンショットです。
SMMAモードを試す :)