1

以下は、javascript ですが、株式および取引ソフトウェアに適応したすべての Javascript EFS です。

したがって、次の例では: high() は単純に 1 分バーの価格の高値です。すべてのバーは毎分高値と安値 (その分の価格) を処理します。

さて、ループの使い方がわかりました。ただし、作成したループ内の値にアクセスするのが困難です。

var Source2 = high();
 var vValue2   = Source2.getValue(15);

for (h = -15; h < 0; h++)       {  
     vValue2 = Math.max(vValue2, Source2.getValue(-h)); 

 if (vValue2 == Source2.getValue(-h))        { 
        barIndex2 = getCurrentBarIndex()-h; 
       }
}

ここで、これがすべてうまくいっていると仮定して、値を返します (この場合は、エントリーポイントから 15 バー先を見据えた最高値)。ただし、次のようなループを処理するための条件を作成したいと考えています (すべてバックテストの目的で)。

  • (vValue2 +1) を返したいです。たとえば、'vValue2' は最高値 (15 本のバー) として返されましたが、これが最高バーでなくても 'vValue2 +1 バー' の値を知りたいです。
  • 次のような複数の条件が満たされた場合にのみループが値を返す方法はありますか? この戻り値のバー ('h' +1) の LOW が ('h') && ('h' +2)、('h'+3)、('h'+4)、すべて High が ('h') より小さい。

基本的に、ループを開始するために複数のIF条件を追加したいですか?? または、ループが値を返した後に IF 条件を追加することになっていますか?

  • 必要なことが可能かどうか、またはループごとにループを使用して目的の結果を得る必要があるかどうかはわかりません。
4

1 に答える 1

1

for次のように、ループで複数の条件を使用できます。

for (h = -15; (h < 0 && something == somethingElse); h++)

break次のような方法でループから抜け出すこともできます。

for (h = -15; h < 0; h++)       { 
    if(blah == 1)break;  // breaks out of loop completely
}
于 2012-09-25T14:33:02.960 に答える