Params
Vars
Series<Numeric> tj;
Bool cond;
Events
OnBar(ArrayRef<Integer> indexs)
{Range[0:DataSourceSize() - 1]
{
tj=AverageFC(Close,20);
cond=crossover(c,tj) and data1.tj>data1.tj[1];
if(data0.MarketPosition!=1 and cond)
{
data0.buy(1,data0.close[0]);
}
If(data0.MarketPosition==1 and BarsSinceEntry>1 and EntryPrice>1 and ((h[1]>EntryPrice*1.008 )))
{
data0.Sell(0,data0.c[1]);
}
If(data0.MarketPosition==1 and BarsSinceEntry>1 and EntryPrice>1 and ((l[1]<EntryPrice*0.992 )))
{
data0.Sell(0,data0.c[1]);
}
}
}
//以上代码data0为1分钟,data1为15分钟,代码data1.tj>data1.tj[1],会产生偷价,data1.tj[1]>data1.tj[2],又会产生滞后性,不能反映实时情况。哪位大佬帮我看看,怎么写为好,能保证实时性。
这跟跨周期没什么关系吧
要解决你的问题就需要一些数学能力
给定一个未知数价格,以这个未知数价格tj,然后只要tj=tj[1],就能解出来这个未知数价格是多少。实际上,这个未知数就是盘中 导致你条件成立的实时价格,那么接下来只要写 当价格突破这个解的时候,开平仓就行了
难点主要在于你要解析你的指标算法,完整这个方程的计算。这个方程本身可能不难,主要看你有没有这个数学能力