コーディングの方法は? - ページ 328

 
mladen:
カスタムインディケータでは、2つのティックの間に状態(トレンド)を保存することができますが、iMAを使用するとできないからです(ほんの一例です)。

ということは、理論的には、私のEAプログラミングで、stocastic equatorインジケータをiMAインジケータに置き換えれば、動作するはずなのでしょうか?

回答

テランス

 
tkuan77:
つまり、理論的には、EAのプログラミングにおいて、stocastic equatorインジケータをiMAインジケータに置き換えれば、動作するはずなのですね?

採用情報

テランス

テランス

私の経験では、満たすべき条件がもう少し複雑であったり、以前の状態を継承していたりする場合、EAのためにできる最善のことは、それらの条件を持つカスタムインジケータ です。EAのコードがシンプルになる(ロジックの一部がカスタムインジケータに移行されるため)、さらに重要なことは、その条件の結果がどうなるかを「一目で」確認できるようになる(エントリーとイグジットが有益かどうかを即座に示すインジケータがあるため)、などです。

コーディングは少し増えますが、テストの自由度やスピードは格段に上がりますし、結局は儲からないという条件をチェックする時間も短縮できます。

 
mladen:
Terrance

私の経験では、満たすべき条件がもう少し複雑であったり、以前の状態を継承していたりする場合、EAのためにできる最善のことは、それらの条件を備えたカスタムインジケータを作ることです。EAのコードがシンプルになる(ロジックの一部がカスタムインジケータに移行されるため)、さらに重要なことは、その条件の結果がどうなるかを「一目で」確認できるようになる(エントリーやイグジットが利益になるかどうかを即座に示してくれるインジケータができるため)、などです。

少しコーディングが増えるだけですが、より自由で迅速なテストが可能になり、結局のところ利益が出ないことが判明した条件をチェックする時間を節約することができます。

mladenさん、ありがとうございます!なんとか回避する方法を見つけたのですが、EAでテストしてみると、ストキャスティクスが 固定最小値18.93016、固定最大値82.92942を表示していることに気づきました。

私は固定最小値0、固定最大値100を取得しようとしています。これを実現する方法はありますか?

よろしくお願いします。

テランス

 
tkuan77:
mladenさん、ありがとうございます!なんとか回避する方法は見つかりましたが、EAでテストしてみると、ストキャスティクスが固定最小値18.93016、固定最大値82.92942を表示していることに気づきました。

固定最小値0、固定最大値100を取得しようとしています。これを実現する方法はあるのでしょうか?

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

テランス

テランス

ストキャスティクスの「最小値固定」「最大値固定」というのがどういう意味なのか、例を挙げていただかないとよくわからないのですが。ストキャスティクスは、その計算の性質上、0と100で区切られており、その最小値と最大値に達するかどうかは、データそのものと選択した価格にのみ依存します(ストキャスティクスに低価格/高価格のフィールドを使用する場合は、非常にまれですが。ストキャスティクスに安値・高値のフィールドを使用すると、非常に稀ですが、0と100に到達することができます)。

 

こんにちは。

実際のオープンバーの前に、同じ方向の連続したバーの数を表示するインジケータを作ろうと思っています。

tfを変更したときと、新しいバーが開いたときに問題があります。それは正しく番号を更新しません。

助けていただけませんか?

ありがとうございます。

ファイル:
 
dasio:
こんにちは。

実際のオープンバーの前に、同じ方向の連続したバーの数を表示するインジケータを作成しようとしています。

私はtfを変更したときに、新しいバーが開いたときに問題があります。それは正しく番号を更新しません。

助けていただけませんか?

ありがとうございます。

ダシオ

別のロジック(下記の例のように)を試してみてください。

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 LimeGreen

#property indicator_width1 2

double count[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { SetIndexBuffer(0,count); return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

//

//

//

//

//

for(int i=limit; i>=0; i--)

{

count = count;

if (Close>Open) if (count<0) count = 1; else count +=1;

if (Close0) count = -1; else count -=1;

}

return(0);

}
 
mladen:
ダシオ

別のロジックを試してみる(下の例のように)

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 LimeGreen

#property indicator_width1 2

double count[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { SetIndexBuffer(0,count); return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

//

//

//

//

//

for(int i=limit; i>=0; i--)

{

count = count;

if (Close>Open) if (count<0) count = 1; else count +=1;

if (Close0) count = -1; else count -=1;

}

return(0);

}

わかりました。ありがとうございます。試してみます。

 

OK。

これで必要なコードはできた。唯一の問題。数値はx.00000000の形式です。1 , 2 , 3 のような桁のない数字にすることは可能ですか?ありがとうございます。

ファイル:
 
dasio:
よし、これで必要なコードはできた。唯一の問題。番号は、x.00000000の形式です。それは1、2、3のような数字なしでそれを持つことが可能ですか?ありがとうございます。

ダシオ

単純な置き換え

NormalizeDouble(MathAbs(count),1)[/CODE]

with

[CODE]DoubleToStr(MathAbs(count),0)
 
mladen:
ダシオ

置き換えるだけ

NormalizeDouble(MathAbs(count),1)[/CODE]

with

[CODE]DoubleToStr(MathAbs(count),0)

正しいです -.-"

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