怎么实现30分钟破boll上轨,10s周期上止盈止损
怎么实现30分钟破boll上轨买入,10s周期上止盈止损
怎么实现30分钟破boll上轨买入,10s周期上止盈止损
然后有个基础要点 跨周期的,所有交易内容尽量都放在最小周期 高周期的数据赋值传过去就行了
回复:好 ,按老师的思路改改,在测试测试
回复:怎么大小周期,都有交易
交易记录才两条,短周期,不可能不交易!
Range[1:1] //长周期 30min Range[0:0] //短周期10s 但是,这个测试结果不低,都是长周期交易,短周期没有 搞不明白,怎么回事?
Range[0:0] //短周期 { //止损止盈 If ( MarketPosition > 0) { //... MinPoint = MinMove*PriceScale; // 一个最小变动单位, 也就是一跳 =当前公式应用商品的最小变动量*当前公式应用商品的计数单位。 MyEntryPrice =Data[1]. AvgEntryPrice; // 开仓价格= 获得当前持仓的平均建仓价格 If(MarketPosition == 1 And BarsSinceEntry >= 1) // 有多仓的情况 { If(Data[0].High >= MyEntryPrice + TakeProfitSet*MinPoint) // 止赢条件表达式 最高价≥开仓价+止盈数*最小变动单位 { MyExitPrice = MyEntryPrice + TakeProfitSet*MinPoint; //平仓价格=开仓价+止盈数*最小变动单位 // 如果该 Bar 开盘价即跳空触发, 用开盘价代替 If(Data[0].Open > MyExitPrice) MyExitPrice = Data[0].Open; //如果开盘价>平仓价格,则平仓价=开盘价 Sell(0,MyExitPrice); //按平仓价卖出 }Else If(Data[0].Low <= MyEntryPrice - StopLossSet*MinPoint) // 止损条件表达式,如果最低价≤开仓价-止损数*最小变动单位 { MyExitPrice = MyEntryPrice - StopLossSet*MinPoint; //平仓价=开仓价-止损数*最小变动单位 // 如果该 Bar 开盘价即跳空触发, 则用开盘价代替 If(Data[0].Open < MyExitPrice) MyExitPrice = Data[0].Open; //开盘价<平仓价,开盘价赋值给平仓价 Sell(0,MyExitPrice); } } } } }
Params Numeric Length(14); //长的 Numeric SlowLength(3); //慢的 Numeric SmoothLength(3); //平整的 Vars Series<Numeric> HighestValue; //高点序列 Series<Numeric> LowestValue; //低点序列 Series<Numeric> KValue; Series<Numeric> JValuemy; Numeric SumHLValue; Numeric SumCLValue; Numeric DValue; Numeric MinPoint; // 一个最小变动单位, 也就是一跳 Numeric MyEntryPrice; // 开仓价格, 例中为开仓均价, 可设置为某次入场价 Numeric TakeProfitSet(5); // 止赢设置 Numeric StopLossSet(3); // 止损设置 Numeric MyExitPrice; // 平仓价格 Events OnBar(ArrayRef<Integer> indexs) { Range[1:1] //长周期 { MinPoint = MinMove*PriceScale; HighestValue = HighestFC(High, Length); //求最高(High,14) LowestValue = LowestFC(Low, Length); //求最低(Low,14) SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength); //快速求和(最高-最低,3) SumCLValue = SummationFC(Close - LowestValue,SlowLength); //快速求和(收盘价-最低,3) If(SumHLValue <> 0) // 最高-最低≠0 { KValue = SumCLValue/SumHLValue*100; // 这个就k值; }Else { KValue = 0; } DValue = AverageFC(KValue,SmoothLength); //D为平均值(kv,3) JValuemy=3*KValue - 2*DValue; PlotNumeric("K",KValue); //k就是kvalue PlotNumeric("D",DValue); //"D",DValue PlotNumeric("J",3*KValue - 2*DValue); //"J",3*KValue - 2*DValue PlotNumeric("Ref1",20); PlotNumeric("Ref2",80); } Range[1:1] { if ( JValuemy>=80 and JValuemy[1]<80 ) { Buy(1,Close); }
分解成2个问题 30分钟破boll上轨买入 和 10s周期上止盈止损 单独写会不会写 然后才是跨周期的问题