初心者なのですが、HAを新しいウィンドウで表示させたいのですが...。 - ページ 3

 

ありがとうございました

上記のコードでオブジェクトを使用して線を描いていますが、この線はSetIndexStyle(0, DRAW_LINE) でどのような役割を担っているのでしょうか?バッファの役割は理解していますが、なぜバッファがインデックスにリンクされなければならないのか、なぜインデックスがスタイルを持たなければならないのかがわかりません。


上記のコードを使って、ローソク足がカーブしたエッジを持ち、価格チャートのように純粋な長方形でないことをご自身で確認されましたか?

 

すでに説明したとおりです。

矩形が必要な場合は、トレンドラインオブジェクトの代わりに矩形を描画します。

 

こんにちは、Phyさん。

RECTANGLEオプションが動作しないため、ご迷惑をおかけしております。

最後にもう一度試してみてください。この長方形が正しく動作するようになればいいのですが。


#プロパティ indicator_separate_window

#property indicator_buffers 6
#property indicator_color1 CLR_NONE
#property indicator_color2 CLR_NONE


double high[];
double low[];
double open[];
double close[];
double haOpen1[];
double haClose1[];

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0, DRAW_LINE)を設定します。
SetIndexStyle(1, DRAW_LINE)を設定します。
SetIndexStyle(2, DRAW_LINE).SetIndexStyle(2,DRAW_LINE)。
SetIndexStyle(3, DRAW_LINE).SetIndexStyle(3,DRAW_LINE)。
SetIndexStyle(4, DRAW_LINE).SetIndexStyle(4,DRAW_LINE)。
SetIndexStyle(5, DRAW_LINE).SetIndexStyle(5,DRAW_LINE)です。
SetIndexBuffer(0, high)を設定します。
SetIndexBuffer(1, low); SetIndexBuffer(1, low);
SetIndexBuffer(2、open);
SetIndexBuffer(3、close);
SetIndexBuffer(4, haOpen1);
SetIndexBuffer(5, haClose1);
return(0);
}
//+------------------------------------------------------------------+
//|カスタムインジケータ初期化関数|||etc.
//+------------------------------------------------------------------+
int deinit()
{

return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケータイテレーション関数
//+------------------------------------------------------------------+
int start(){

string basename = "Heikin-Ashi";
IndicatorShortName(basename);
int window = WindowFind(basename);

for (int i = Bars-100; i >= 0; i--){.

// これら2つのインデックスは、サブウィンドウの大きさを制御するために使用されます。
// これらは表示されません
high[i] = High[i];
low[i] = Low[i];
double haOpen, haHigh, haLow, haClose,haDiffCo;
haOpen=(haOpen1[i+1]+haClose1[i+1])/2;
haOpen1[i]=haOpen。
haClose=(Open[i]+High[i]+Low[i]+Close[i])/4;
haClose1[i]=haCloseとする。
haHigh=MathMax(haOpen,High[i]);
haLow=MathMin(haOpen,Low[i])。
文字列 name1 = "Heikin-Ashi-HL-"+i;

if(ObjectFind(name1) != -1) ObjectDelete(name1);
ObjectCreate(name1, OBJ_TREND, window, Time[i], haHigh, Time[i], haLow);
ObjectSet(name1, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name1, OBJPROP_RAY, 0);
ObjectSet(name1, OBJPROP_WIDTH, 2);

文字列 name2 = "Heikin-Ashi-OC-"+i;
if(ObjectFind(name2) != -1) ObjectDelete(name2);
ObjectCreate(name2, OBJ_RECTANGLE, window, Time[i], haOpen, Time[i], haClose);
ObjectSet(name2, OBJPROP_WIDTH, 5);
//ObjectSet(name2, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name2, OBJPROP_RAY, 0);

if (haOpen < haClose) {。
ObjectSet(name1, OBJPROP_COLOR, Chartreuse);
ObjectSet(name2, OBJPROP_COLOR, Chartreuse);
}else{
ObjectSet(name1, OBJPROP_COLOR, Red);
ObjectSet(name2, OBJPROP_COLOR, Red)。
}

}

return(0);
}

 

ローソク足がトレンドラインであること

ボディ幅 2 またはより可能性が高い、3

私はあなたがラインの "丸み "について話しているのか分からない


画像を表示する

 
写真をご覧ください。
 

左にスクロールすると、このようになることがあります(緑と赤の混在)。

 

はい、わかりました。

そこに削除すべき古びたバーがあるのでは?

 
ご回答ありがとうございます。
 

バーが重複していないか、何が起きているのか?

 

Phyさん、こんにちは。

もし私が正しければ、問題は私が以下のことをすることに起因しているかもしれません。

SetIndexStyle(0, DRAW_LINE)。
SetIndexStyle(1, DRAW_LINE).SetIndexStyle(1,DRAW_LINE)です。
SetIndexStyle(2, DRAW_LINE)を設定します。
SetIndexStyle(3, DRAW_LINE).SetIndexStyle(3,DRAW_LINE)。
SetIndexStyle(4, DRAW_LINE).SetIndexStyle(4,DRAW_LINE)。
SetIndexStyle(5, DRAW_LINE)を設定します。

私は上記を実行し、バッファを描画するようにし、同時に私はこれを実行します。


if(ObjectFind(name1) != -1) ObjectDelete(name1);
ObjectCreate(name1, OBJ_TREND, window, Time[i], haHigh, Time[i], haLow);
ObjectSet(name1, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name1, OBJPROP_RAY, 0);
ObjectSet(name1, OBJPROP_WIDTH, 2);

文字列 name2 = "Heikin-Ashi-OC-"+i;
if(ObjectFind(name2) != -1) ObjectDelete(name2);
ObjectCreate(name2, OBJ_TREND, window, Time[i], haOpen, Time[i], haClose);
ObjectSet(name2, OBJPROP_WIDTH, 5);
//ObjectSet(name2, OBJPROP_STYLE, STYLE_SOLID).ObjectSet(name2,OBJPROP_STYLE,SOLID)です。
ObjectSet(name2, OBJPROP_RAY, 0);

だから、バッファのデータとオブジェクトの両方が互いに重なって描画されます、私は正しいですか?

私はバッファをデータ保存に使っているだけで、描画はしたくないので、index style codeの設定を削除する必要がありますか?

私は正しいですか?