这个指标的目的是:当前k线的收盘价高于前一k线的最高价时,则标示箭头1(jiantou1);如果当前k线的收盘价低于前一k线的最低价时,则标示箭头2(jiantou2);如果前一个是箭头1则下一个只能显示箭头2,如果前一个是箭头2则下一个只能显示箭头1,这样是为了显示一次进场信号,下一次显示的是出场信号,而不是连续的进入,或连续的出场信号。
问题:1.部分符合定义的k线没有被标示箭头;2实时使用(非使用历史数据)时,出现两个箭头。<div class=\"blockcode\"><div id=\"code_HAz\"><ol>#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
double jiantou1[];
double jiantou2[];
extern int juli=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);
SetIndexBuffer(0,jiantou1);
SetIndexBuffer(1,jiantou2);
SetIndexStyle(0,3,0,EMPTY,Red);
SetIndexStyle(1,3,0,EMPTY,Blue);
SetIndexArrow(0,241);
SetIndexArrow(1,242);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if (counted_bars0) counted_bars--;
int limit=Bars-counted_bars;
int temp=0;
for (int i=0;iHigh[i+1])&&temp!=1)
{
jiantou1[i]=Low[i]-juli*Point;
temp=1;
}
if ((Close[i]