[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 333

 

議論するつもりはない!やってみれば、何が問題なのかがわかるはずです。これからこの問題に遭遇する人のために書いておきます。時間軸が逆になっているので、チャートが逆になっているんです。インジケーターのテキストを掲載します。READYこのグラフを見ると、非常に興味深い入力を検出することができます。MASDよりも早く、正確に入るような気がします

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 レッド

double Buf_0[1000],Bears_array[1000],Bulls_array[1000],Line1[1000],Line2[1000];
int init()
{
SetIndexBuffer(0,Buf_0)を設定。
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2) を設定します。
を返します。
}
extern double PeriodPower=13;
extern double MA_Period=5;

int start()
{
int i=Bars-IndicatorCounted()-1;
while(i>=0)
{
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
ArraySetAsSeries(Bears_array,true); // iMAOnArray 関数でインデックスの同期をとるために適用される
ArraySetAsSeries(Bulls_array,true)。
Line1[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMMA,i);
Line2[i]=iMAOnArray(Bulls_array,0,MA_Period,0,MODE_SMMA,i);
Buf_0[i]=(Line2[i]+Line1[i])/Point/10;

i--;
}
を返します。
}


 
Stepan241 писал(а)>>

議論するつもりはない!やってみれば、何が問題なのかがわかるはずです。これからこの問題に遭遇する人のために書いておきます。時間軸が逆になっているので、チャートが逆になっているんです。インジケーターのテキストを掲載します。READYこのグラフを見ると、非常に興味深い入力を検出することができます。MASDよりも早く、正確に入るような気がします。

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 レッド

double Buf_0[1000],Bears_array[1000],Bulls_array[1000],Line1[1000],Line2[1000];
int init()
{
SetIndexBuffer(0,Buf_0)を設定。
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2) を設定します。
を返します。
}
extern double PeriodPower=13;
extern double MA_Period=5;

int start()
{
int i=Bars-IndicatorCounted()-1;
while(i>=0)
{
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
ArraySetAsSeries(Bears_array,true); // iMAOnArray 関数でインデックスの同期をとるために適用される
ArraySetAsSeries(Bulls_array,true)。
Line1[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMMA,i);
Line2[i]=iMAOnArray(Bulls_array,0,MA_Period,0,MODE_SMMA,i);
Buf_0[i]=(Line2[i]+Line1[i])/Point/10;

i--;
}
を返します。
}

ねじ込み式ですが、普通にできます。

インジケータは最大8個のバッファを含むことができる。一部、中間計算に使用する場合があります。

しかし、性能が重要でないなら、はい、そのようにすることができます。

 
Vinin >> :

遊んでもいいし、普通にやってもいい。

インジケーターには、最大8個のバッファを搭載することができます。一部、中間計算に使用できるものもあります。

とはいえ、自分自身やパフォーマンスにとって致命的でないのであれば、そう、そういうやり方もありでしょう。

普通という概念は相対的なものです。権利という概念もそうです。これは、どちらかというと哲学的な問いかけです。OPTIMALな方法でアルゴリズムを実装することを心がけました。ONEサイクルでインジケータを構築するために。同じ結果を得ることができる一方で、ハードウェアの負荷が最も少ない方法だと私は考えています。

>> そして、バッファーは8つあり、戦時にはその数が54.5にもなることについては、サッパーなら誰でも知っていることである。:-)

 
Stepan241 писал(а)>>

ノーマルは相対的なものです。権利の概念もそうです。これは、どちらかというと哲学的な問いかけです。OPTIMALな方法でアルゴリズムを実装することを心がけました。インジケーターがONEサイクルで構築されるように。私見では、結果が正しくても、ハードウェアへの負荷が一番少ないと思います。

バッファーは約8個、戦時には54個半にもなり、技術者なら誰でも知っている。:-)

すべてを1つのループで行い、最小限のバッファを使用することも可能ですが、それはまた別の話です。

バッファではなく、配列に対する操作にはかなりの時間がかかります。そのため、1つのループにすべてを詰め込むよりも、いくつかのループを作る方が簡単で、かつスピーディでした。

インジケーターの動作の意味での高速化。

 
Vinin >> :

1サイクルですべてを処理し、最小限のバッファで済ませることも可能ですが、それはまた別の話です。

バッファではない)配列を使った操作はどれも時間がかかる。そのため、1つのループにすべてを詰め込むよりも、いくつかのループを作る方が簡単で、かつスピーディにできるのです。

インジケーターの性能の意味での高速化。

教えてください、ヴィン ちゃん!あなたのアイデアを参考にして、どんな絵が描けるか試してみましたか?

 
Vinin >> :

1つのループですべてを処理し、最小限のバッファしか使わないことも可能ですが、それはまた別の話です。

バッファではない)配列を使った操作は、どれも時間がかかります。そのため、1つのループにすべてを詰め込むよりも、いくつかのループを作る方が簡単で、かつスピーディにできるのです。

インジケーターの性能の意味での高速化。

Vinin さんへ、自分のアイデアをじっくり考えてみようと思いましたか?

int start()
{
int i, limit=Bars-IndicatorCounted()-1;
for (i=limit;i>=0;i--){。
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
}
for (i=limit;i>=0;i--){。
MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_EMA,i)とした。
MA_Bulls[i]=iMAOnArray(Bulls_array,100,MA_Period,0,MODE_SMA,i)とする。
}
を返します。
}

最初のループで、ブルとベアの配列を形成しているそうですね。2サイクル目では、この2つの配列が平滑化される。そんなに気に入ったのなら、結果を見ればすべてがわかるはずです。



 


AGRAPHIC GRAPHICをじっくりとご覧ください。

 
Stepan241 писал(а)>>

この手のインジケーターコード全般の話でした。

ファイル:
test.mq4  2 kb
 
私のバージョンとあなたのバージョンの速度を比較する
 

私もそう思います。正常に出力され、すべてが正しい。次のような出力を表示させればよかったのです。

Buf_0[i]=(Line2[i]+Line1[i])/Point/10;

別のループで行う必要があります。私はFORループが好きなので、あなたのバージョンを好みます。お世話になり、ありがとうございました。