静的配列 ? - ページ 6

 

その平易な英語の説明の中にあまりにも多くのコードがある.

フラクタルは、指標バッファに 格納されている、あなたはどのように理解していますか? あなたが理解するのに役立ついくつかのコードを書いていない場合... .

あなたは、指標のバッファを読み取ることができますし、フラクタルをあちこちバー番号を見つける、バー番号から、ろうそくの値を取得することができます。. .

 
RaptorUK:

その平易な英語の説明の中にあまりにも多くのコードがある.

フラクタルは、指標バッファに格納されている、あなたはどのように理解していますか? あなたが理解するのに役立ついくつかのコードを書いていない場合は、... .

あなたは、指標のバッファを読み取ることができますし、フラクタルをあちこちバー番号を見つける、バー番号から、ろうそくの値を取得することができます。. .

インジケータのバッファが どのように保存されるのか、完全に理解しているわけではありません。


そして、これはまさに私がやりたかったことで、フラクタルから、バー番号を見つけ、ローソクの値を取得します。

私はそれを続けるだろうが、私はおそらくインディケータがバッファに値を格納する方法を知っている場合、私はそれについてより明確になるだろう。

感謝

 

v1, v2 & v3という3つのバッファがあり、その他にval1, val2 & val3という3つのダブルがあり、計算に使用されています。

val1とval2はiFractalsによって生成された値を保持し、この値は、各バーで一つずつ計算され、while ループはBarsで始まるバーをループし、ゼロにすべての方法を減少させる ... ...

だから、各バーごとにフラクタル値を計算し、MODE_UPPERのためのv1とMODE_LOWERのためのv2に格納されている、v1のためにを通して動作することができます... .

順番に各バーについて。もしval1が0より大きければ、その小節番号のバッファv1のバッファ値は、その小節のHighに設定されます。ループがBarsから 0までの小節の途中であると想像して、それが小節番号4934にあると想像しましょう、フラクタルは小節番号4934で計算され、値が0より大きければv1[4934]はHigh[4934]、言い換えればv1のバッファの4935番目の要素は小節番号4934のハイに設定されています ... 忘れてないのは配列が0から始まっていることだけです

最後に、あなたが理解する必要がある小さな複雑さがあります ... インジケータを実行すると、各フラクタル高値と安値から次のものまでドットのラインが表示されます ... 今、バー番号4933にいると想像してください val1の値は0より大きくない、今何が起こるかというと、このバーのバッファ値はこのバー高さに設定されておらず、バッファの前のエントリと同じ値に設定されています ... この場合は i+1という 意味で、thileループでiは ダウンカウントされているので、前です。

ループが終了し、すべてのバーのフラクタルが計算されると、バッファのすべてのエントリが 値を含むようになります。... これはあまり役に立ちません。コードを少し変更 する必要があります。

私がここに書いたことを読んでください。もし、何が起こっているのか理解できないのなら、このコードをいじる必要はないでしょう。もし、あなたが理解できれば、あなたは前進することができます ... ... 質問があれば、どうぞ。

 
RaptorUK:

v1, v2 & v3という3つのバッファがあり、その他にval1, val2 & val3という3つのダブルがあり、計算に使われています。

val1とval2はiFractalsによって生成された値を保持し、この値は、各バーで一つずつ計算され、while ループはBarsで始まるバーをループし、ゼロにすべての方法を減少させる ... ...

だから、各バーごとにフラクタル値を計算し、MODE_UPPERのためのv1とMODE_LOWERのためのv2に格納されている、v1のためにを通して動作することができます... .

順番に各バーについて。もしval1が0より大きければ、その小節番号のバッファv1のバッファ値はその小節のHighに設定されます。ループがBarsから 0までの小節の途中であると想像して、それが小節番号4934にあると想像しましょう、フラクタルは小節番号4923で計算されます、もし値が0より大きいならv1[4394]はHigh[4394]、言い換えればv1バッファの4395番目の要素は小節番号4394のハイに設定されています ... 忘れてないですか Array start at 0

最後に、あなたが理解する必要がある小さな複雑さがあります ... インジケータを実行すると、各フラクタル高値と安値から次のものまでドットのラインが表示されます ... 今、バー番号4933にいると想像してください val1の値は0より大きくない、今何が起こるかというとこのバーに対するバッファの値は、このバーハイに設定されていないですがバッファの前のエントリと同じ値に設定されています ... この場合前とは i+1、whileループ内でiは ダウンカウントされているからです。

ループが終了し、すべてのバーのフラクタルが計算されると、バッファのすべてのエントリが値を含むようになります。... これはあまり役に立ちません。コードを少し変更 する必要があります。

私がここに書いたことを読んでください。もし、何が起こっているのか理解できないのなら、このコードをいじる必要はないでしょう。もし理解できなかったら、このコードをいじくる必要はありません。

インジケータがどのように動作しているかは、あなたが説明したとおりです。また、バッファがどのように値を保存しているかも理解しているつもりです。そのため、印刷するために再コード化したときに、期待した結果が得られなかったので、混乱していました。

しかし、バッファがどのように異なるかを理解し、実際に要素数を宣言していないため、バッファから印刷できなかったという大きな大きなハードルを克服しました

Ok moving on.
私は、小節番号4934への あなたの参照のいくつかのタイプミスがあると仮定しているフラクタルは 小節番号4923で 計算され、4933を 読み取る必要があります。
また、0より大きい値の場合、v1[4394]はHigh[4394]に設定 されます==私は、同様に4923/33への前の参照に従うことを意味すると仮定 しますが、私はそれが要素番号がバー番号よりも高いであることを理解している。

誤字脱字があれば訂正してください。

いずれにせよ、これらはタイプミスであり、この意味を理解していると仮定します。

私は、v3を作成し、それを宣言し、同様の方法で初期化することで、それを印刷したり、そこから値を取得できるようにすることを考えました。
当初はHigh[i]が0より大きい時、そのBarのためにi-1をprintして保存されている値を取り出すことができるかもしれないと考えていました。
あるいは、v1[i] = v1[1-1]として、この時にv1[i]をプリントすることも考えましたが、その部分はうまくいかず、また、要素数が宣言されていないため、プリント部分をクリアすることが出来ませんでした。

このため、v3とは別の方式で、要素数を宣言した配列を作成し、その棒グラフのフラクタル値を抽出したいだけで、実は同じなのです。

ここがデザインで困っているところなので、もう少しやりこんでみます

ありがとうございました。

 
Agent86:

私は、あなたが説明したように、インジケータがどのように動作しているのか理解しています。そのため、印刷するために再コード化したときに、期待した結果が得られなかったので、混乱していたのです。

しかし、バッファがどのように異なるかを理解することで、大きなハードルを克服しました。

OK次に進みます。
私は、小節番号4934への 参照にいくつかのタイプミスがあると仮定しています、フラクタルは小節番号4923で 計算され、4933を 読む必要があります。
また、0より大きい値の場合、v1[4394]はHigh[4394]に設定 されます== 私は、同様に4923/33への前の参照に従うことを意味すると仮定 しますが、私はそれが要素番号がバー番号よりも高いであることを理解しています。

誤字脱字があったら訂正お願いします。

誤字脱字はごめんなさい .. .正しい値で文章を直しました.. .私は朝一番に良いものではありません;-)

このコードが役に立つ前に、小さな修正が必要なことがお分かりになりますか?

 
    for(i=Bars; i >= 0; i--)
     {
     val3=iFractals(NULL, 0, MODE_UPPER,i);
     if(val3>0)
      {
      double v3[1000];
      v3[i]=High[i];
      Print ("v3[", i, "]= ", v3[i], " if");
      }
     else          
         {
         v3[i]=v3[i+1];
         Print ("v3[", i, "]= ", v3[i], " else");
         }
     }
主な原因は、バッファの宣言がうまくいかず、printステートメントで常に0を出力してしまうことでした。

私はここから処理することができるかもしれないと思います。
私は今、私が求める値を得ています。少なくとも、これまでのところ、私は正しい道を歩んでいるのかもしれません。

2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[5]= 1.3361 if
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[6]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[7]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[8]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[9]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[10]= 1.3343 if
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[11]= 1.3399 else


再びありがとうございます
 
を本当に必要としていないのでは?
 
RaptorUK:
あなたは本当に他のものを必要としないのでは?

そうですね