si摆动指标如下
Vars
Numeric K( 0 );
Numeric R( 0 );
Numeric H0C1( 0 );
Numeric L0C1( 0 );
Numeric H0L0( 0 );
Numeric C1O1( 0 ) ;
Numeric SIValue;
Events
OnBar(ArrayRef<Integer> indexs)
{
Range[0:DataSourceSize() - 1]
{
H0C1 = Abs( High - Close[1] ) ;
L0C1 = Abs( Low - Close[1] ) ;
H0L0 = High - Low ;
C1O1 = Abs( Close[1] - Open[1] ) ;
If (H0C1 >= L0C1)
{
K = H0C1 ;
If(H0C1 >= H0L0)
{
R = H0C1 - 0.5 * L0C1 + 0.25 * C1O1;
}Else
{
R = H0L0 + 0.25 * C1O1 ;
}
}Else
{
K = L0C1;
If (L0C1 >= H0L0)
{
R = L0C1 - 0.5 * H0C1 + 0.25 * C1O1;
}Else
{
R = H0L0 + 0.25 * C1O1 ;
}
}
If(R <> 0 )
{
SIValue = 50 * ( ( ( Close - Close[1] ) + 0.50 * ( Close - Open ) + 0.25* ( Close[1] - Open[1] ) ) / R ) * K / 1000;
}Else
{
SIValue = 0 ;
}
PlotNumeric("SI",SIValue);
PlotNumeric("零线",0);
}
}
麻烦老师把这个指标改成 SI大于0做多,si小于0空做空,万分感谢了,
因为你只有开仓条件,没有平仓条件,
所以按照做多开仓前平空单,做空之前平多单
SI大于0做多,si小于0空做空有以下两种编程情况
第一种,SI大于0做多,si小于0做空
第二种情况,SI上穿0做多,si下穿0做空
通过初步观察,两种情况的结果都不理想,思路需要调整一下,重新编写,
更多编程服务可以添加企业微信
老师麻烦把这两种情况的代码发给我看看啊,我是初学者好多不懂呢!我扫你的那个微信不行啊加不了你,你加我微信吧15011729901
我想SI大于0做多,si小于0空做空,谢谢啦