技术部老师请帮忙修改一下代码
代码没有交易信号,已经修改多次了就是找不到原因,加载了图表只有画出了上下轨,突破了没有开仓信号,一开始以为是止损代码问题,然后也把止损删除了还是不行,如果可以麻烦老师帮忙加上ATR止损修改一下,日内交易收盘平仓。由于要引用昨天日线高低价,之前在论坛问过老师说直接引用highD和lowD说是不可以的,然后我就试用订阅日线的方式是否正确,请老指点,谢谢!!加载5分钟级别 Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); } Params Numeric RangEndTime(95000); Numeric TradeEndTime(145000); Numeric ATRS(12); Numeric ATRZS(1.5); Numeric ATRLength(12); Numeric lost(1); Vars Series<Numeric> upperBand; Series<Numeric> LowerBand; Series<Numeric> ATRVal; Numeric myExitprice1; Numeric myExitprice2; Series<Numeric> Falg; Events OnInit() { SubscribeBar(Data0.Symbol,"1D",Data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { Range[0:0] { Commentary("data1.High[1]:="+Text(data1.High[1])); Commentary("data1.Low[1]:="+Text(data1.Low[1])); } IF(CurrentBar==0 or Date<>Date[1]) { upperBand=High; LowerBand=Low; } Else IF(Time<=RangEndTime*0.000001) { upperBand=Max(High,upperBand); LowerBand=Min(Low,LowerBand); } Else IF(Time>= TradeEndTime*0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else IF(TrueDate(0)!=TrueDate(1)) { Falg=0; } IF(Falg==0) { IF(marketposition==0 && Close> upperBand && Close>data1.High[1]) { Buy(lost,Max(Open,upperBand)); Falg= Falg+1; Commentary("多头开仓"); } } IF(Falg==0) { IF(marketposition==0 && Close<LowerBand && Close<data1.Low[1] ) { SellShort(lost,Min(Open,LowerBand)); Falg= Falg+1; Commentary("空头开仓"); } } PlotNumeric("upperBand",upperBand); PlotNumeric("LowerBand",LowerBand); }