指标紧急求助

楼主  收藏   举报   帖子创建时间:  2019-05-05 15:08 回复:0 关注量:991
这个指标的目的是:当前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]
打赏