请教老师,这个源码怎样修改? [开拓者 TB]
-
咨询内容:
老师,您好!
以下源码,我是用在30分钟线,固定每天14:30时的数据作为下一交易日的开仓条件。但在14:30这条K线上如果刚好达到条件,就会出信号,这样不就是未来函数了。请问如何修改,才能不在这条K线上出信号?谢谢!
/*
开多:MA13,MA26(布林中轨),MA34,在每天下午收盘时最后一条K线上(基准K线),呈多头排列。
1A.开仓:多空判断为开多,基准K线收盘价在MA13之上,则最低价小于或等于MA13开多仓。
平仓:以开仓价以上1%止盈,开仓价以下1%止损。
*/
Params
Numeric Hands(1);
Numeric MA13Length(13);
Numeric MA34Length(34);
Numeric BOLLLength1(26);
Numeric BOLLLength2(26);
Numeric Offset(2);
Vars
NumericSeries MA13; //13周期均线
NumericSeries MA34; //34周期均线
NumericSeries UpLine; //指标上轨
NumericSeries DownLine; //指标下轨
NumericSeries MidLine; //指标中轨
Numeric Band;
NumericSeries JX13; //13周期均线值
NumericSeries JX34; //34周期均线值
NumericSeries SPJ; //收盘价
NumericSeries SG; //上轨值
NumericSeries XG; //下轨值
NumericSeries ZG; //中轨值
NumericSeries TRADEFLAG;//控制当天只能交易一次
Numeric MinPoint; // 一个最小变动单位,也就是一跳
Numeric MyEntryPrice; // 开仓价格,本例是开仓均价,也可根据需要设置为某次入场的价格
Numeric TakeProfitSet(0.01); // 止赢设置
Numeric StopLossSet(0.01); // 止损设置
Numeric MyExitPrice; // 平仓价格
Begin
MidLine = AverageFC(Close,BOLLLength1);
Band = StandardDev(Close,BOLLLength2,2);
UpLine = MidLine + Offset * Band;
DownLine = MidLine - Offset * Band;
PlotNumeric("UpLine",UpLine);
PlotNumeric("DownLine",DownLine);
PlotNumeric("MidLine",MidLine);
MA13=AverageFC(Close,MA13Length);
MA34=AverageFC(Close,MA34Length);
PlotNumeric("MA13",AverageFC(Close,MA13Length));
PlotNumeric("MA34",AverageFC(Close,MA34Length));
//------------------以上是指标公式------------------
if(time==0.1430)
{
SG=UpLine;
XG=DownLine;
ZG=MidLine;
JX13=MA13;
JX34=MA34;
SPJ=C;
}
PlotNumeric("SG",SG);
PlotNumeric("XG",XG);
PlotNumeric("ZG",ZG);
//-----------固定收盘时布林位置----------------
if((TrueDate(0)!=TrueDate(1)) && MarketPosition==0)
{
TRADEFLAG =0;
}
if (TRADEFLAG<1 && JX13>ZG && ZG>JX34 && SPJ>JX13 && L<=JX13)
{
Buy(Hands,Min(JX13,OPEN));
TRADEFLAG =1;
}
//-----------以上是开仓语句----------------
MinPoint = MinMove*PriceScale;
MyEntryPrice = AvgEntryPrice;
If(MarketPosition==1) // 有多仓的情况
{
If(High >= MyEntryPrice + MyEntryPrice*TakeProfitSet*MinPoint) // 止赢条件表达式
{
MyExitPrice = MyEntryPrice + MyEntryPrice*TakeProfitSet*MinPoint;
Sell(Hands,Max(MyExitPrice,OPEN));
}
else if(Low <= MyEntryPrice - MyEntryPrice*StopLossSet*MinPoint)// 止损条件表达式
{
MyExitPrice = MyEntryPrice - MyEntryPrice*StopLossSet*MinPoint;
Sell(Hands,Min(MyExitPrice,OPEN));
}
}
//-----------以上是止盈止损语句----------------
End
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 或微信:cxhjy888 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容