出现错误
//------------------------------------------------------------------------
// 简称: hl999
// 名称: 红绿999
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params

Vars
  
 
    Plot plt_line5;   
    
    
    Series<Bool> dtpl;
    
    Series<Bool>  ktpl;
    

Defs
    //此处添加策略函数
   

Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
    OnInit()
    {plt_line5.figure(0);
    }  
    
OnBar(ArrayRef<Integer> indexs)
{

dtpl= ma(c,10)<ma(c,20) and   ma(c,5)<ma(c,10) and ma(c,20)<ma(c,30) ;
        if(dtpl==True           )
        
     { plt_line5.icon("多投下", 40, "ICO4");
         
     }
           if(  ma(c,5)<ma(c,10)        )
        
     { plt_line5.icon("多投下1", 10, "you");
         
     }
            if( ma(c,10)<ma(c,20)  )
        
     { plt_line5.icon("多投下2", 20, "you");
         
     }
              if(  ma(c,20)<ma(c,30)    )
        
     { plt_line5.icon("多投下3", 30, "you");
         
     }
     
 
     
     ktpl= (ma(c,5)>ma(c,10) and ma(c,10)>ma(c,20)  and  ma(c,20)>ma(c,30) );
     
       if(  ktpl==True               )
        
        { plt_line5.icon("空投上", 70, "ICO5");
     }
     
   
        if(   ma(c,5)>ma(c,10)               )
        
        { plt_line5.icon("空投上1", 100, "youshou");
     }
           if(  ma(c,10)>ma(c,20)              )
        
        { plt_line5.icon("空投上2", 90, "youshou");
     }
           if(  ma(c,20)>ma(c,30)         )
        
        { plt_line5.icon("空投上3", 80, "youshou");
     }
     

} 

正确情况下 上面的要都都有图才会出现绿色箭头 下面的也是需要3层都有图才出现红色箭头  但是 上面有的不满足条件就出现绿色箭头 下面满足条件却没有出现红色箭头

一目均衡图的编写出现错误
TBQUANT用久了就会出现错误?
多图层 KD 指标 随时间变化出现错误
求助,代码出现错误,但我检查不出来
数据错误:999指数出现错误(SR/HC/FU/RU/JM/J/SM/RU)
求助 !!基础数据的读取 后 订阅相应代码出现错误!!!
data3.LowD(1) 条件下引用出现错误
15分钟周期中引用60分钟周期的数据,出现错误
错误信息如何解读?
不用marketposition,自己用标识开仓,会出现自动修改标识数值的问题,导致交易错误

您好,上代码吧,否则想帮也帮不了啊。

感觉这种花里胡哨的策略,夏普也高不到哪里去

代码模式有啊点开就有


//------------------------------------------------------------------------ // 简称: hl999 // 名称: 红绿999 // 类别: 策略应用 // 类型: 用户应用 // 输出: Void //------------------------------------------------------------------------ Params Vars Plot plt_line5; Series<Bool> dtpl; Series<Bool> ktpl; Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作 OnInit() {plt_line5.figure(0); } OnBar(ArrayRef<Integer> indexs) { dtpl= ma(c,10)<ma(c,20) and ma(c,5)<ma(c,10) and ma(c,20)<ma(c,30) ; if(dtpl==True ) { plt_line5.icon("多投下", 40, "ICO4"); } if( ma(c,5)<ma(c,10) ) { plt_line5.icon("多投下1", 10, "you"); } if( ma(c,10)<ma(c,20) ) { plt_line5.icon("多投下2", 20, "you"); } if( ma(c,20)<ma(c,30) ) { plt_line5.icon("多投下3", 30, "you"); } ktpl= (ma(c,5)>ma(c,10) and ma(c,10)>ma(c,20) and ma(c,20)>ma(c,30) ); if( ktpl==True ) { plt_line5.icon("空投上", 70, "ICO5"); } if( ma(c,5)>ma(c,10) ) { plt_line5.icon("空投上1", 100, "youshou"); } if( ma(c,10)>ma(c,20) ) { plt_line5.icon("空投上2", 90, "youshou"); } if( ma(c,20)>ma(c,30) ) { plt_line5.icon("空投上3", 80, "youshou"); } }

我写的是均线多头排列 ma(c,5)>ma(c,10) and (ma(c,10)>ma(c,20)  and  ma(c,20)>ma(c,30)  这个很简单 但是无法正确显示出来图案 出现很多错误


Params


Vars

 

   Plot plt_line5;  

   

   

   Series<Bool> dtpl;

    Series<Bool> dtpl1;

     Series<Bool> dtpl2;

      Series<Bool> dtpl3;

   

   

   Series<Bool>  ktpl;

     Series<Bool>  ktpl1;

       Series<Bool>  ktpl2;

         Series<Bool>  ktpl3;

   


Defs

   //此处添加策略函数

 


Events

   //此处实现事件函数

   

   //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作

   OnInit()

   {plt_line5.figure(0);

   }  

   

OnBar(ArrayRef<Integer> indexs)

{


dtpl= ma(c,10)<ma(c,20) and   ma(c,5)<ma(c,10) and ma(c,20)<ma(c,30) ;

       if(dtpl==True           )

       

    { plt_line5.icon("多投下", 40, "ICO4");

       

    }

          if(  ma(c,5)<ma(c,10)        )

       

    { plt_line5.icon("多投下1", 10, "you");

       

    }

           if( ma(c,10)<ma(c,20)  )

       

    { plt_line5.icon("多投下2", 20, "you");

       

    }

             if(  ma(c,20)<ma(c,30)    )

       

    { plt_line5.icon("多投下3", 30, "you");

       

    }

   

   

    ktpl1=ma(c,5)>ma(c,10);

     ktpl2=ma(c,10)>ma(c,20) ;

    ktpl3= ma(c,20)>ma(c,30);

   

   

   

    ktpl= (ma(c,5)>ma(c,10) and ma(c,10)>ma(c,20)  and  ma(c,20)>ma(c,30) );

   

      if(  ktpl1==True  and  ktpl2==true and   ktpl3==True           )

       

       { plt_line5.icon("空投上", 70, "ICO5");

    }

   

   

   

   

   

       if(   ma(c,5)>ma(c,10)               )

       

       { plt_line5.icon("空投上1", 100, "youshou");

    }

          if(  ma(c,10)>ma(c,20)              )

       

       { plt_line5.icon("空投上2", 90, "youshou");

    }

          if(  ma(c,20)>ma(c,30)         )

       

       { plt_line5.icon("空投上3", 80, "youshou");

    }

   


}


ma0510=ma(c,5)<ma(c,10);

ma1020=ma(c,10)<ma(c,20);

ma2030=ma(c,20)<ma(c,30);


//dtpl= ma(c,10)<ma(c,20) and   ma(c,5)<ma(c,10) and ma(c,20)<ma(c,30) ;

dtpl= ma0510 and   ma1020 and ma2030;

....打完答案不小心全删了....


序列函数的问题

dtpl= ma(c,10)<ma(c,20) and   ma(c,5)<ma(c,10) and ma(c,20)<ma(c,30) ;

这里面三个条件

只要第一个算出来是false ,后面就不计算了

导致后面几个函数的序列数据不全

算出来的结果就不是你想要的


这句改成下面这种写法就是你想要的输出了

ma0510=ma(c,5)<ma(c,10);

ma1020=ma(c,10)<ma(c,20);

ma2030=ma(c,20)<ma(c,30);



//dtpl= ma(c,10)<ma(c,20) and   ma(c,5)<ma(c,10) and ma(c,20)<ma(c,30) ;

dtpl= ma0510 and   ma1020 and ma2030;


好的我试试


好了谢谢