01-19 18:05发布
文华9能实现跨周期吗
Vars Numeric MinPoint; // 一个最小变动单位,也就是一跳 NumericSeries firstPrice; // 第一次开仓价格 NumericSeries LastPrice; // 最后一次开仓价格 Numeric AddSet(90); // 加仓设置 Numeric SubSet(30); // 减仓设置 Bool FirstEntryCon; // 首次开仓条件Begin FirstEntryCon = ... MinPoint = MinMove*PriceScale; If(MarketPosition==0) { If(FirstEntryCon) { firstPrice = Open; LastPrice = firstPrice; bk(2,firstPrice); } }else If(MarketPosition==1) // 有多仓的情况 { While(CurrentEntries < 4 && High >= LastPrice + AddSet*MinPoint) // 加仓 { LastPrice = LastPrice + AddSet*MinPoint; if(Open > LastPrice) LastPrice = Open; bk(1,LastPrice); } While(CurrentEntries > 0 && Low <= firstPrice - SubSet*MinPoint) // 减仓 { firstPrice = firstPrice - SubSet*MinPoint; if(Open < firstPrice) firstPrice = Open; sp(1,firstPrice); } } 为什么这段代码顺势加仓不显示信号的
Params Numeric AvgLen(3); //boll均线周期参数 Numeric Disp(16); //boll平移参数 Numeric SDLen(12); //boll标准差周期参数 Numeric SDev(2); //boll通道倍数参数Vars Numeric TPrice; //关键价格 NumericSeries AvgVal; //中轨 NumericSeries SDmult; //通道距离 NumericSeries DispTop; //通道高点 NumericSeries DispBottom; //通道低点 Numeric MinPoint; // 一个最小变动单位,也就是一跳 NumericSeries firstPrice; // 第一次开仓价格 NumericSeries LastPrice; // 最后一次开仓价格 Numeric AddSet(30); // 加仓设置 Numeric SubSet(30); // 减仓设置 NumericSeries FirstEntryCon; // 首次开仓条件 NumericSeries FirstEntryCon1; // 首次开仓条件 Numeric N; //下单手数 Numeric SH; //平仓参数 Numeric ZYM; //止盈价位倍数 Numeric ZSM; //止损价位倍数 Numeric NEWP; //最新价 Numeric MINP; //最小变动价位 Numeric RLP,FLP; //涨跌停价 Numeric BIDP,ASKP; //买卖一价 Numeric BAP,SAP; //多空头持仓均价 Numeric BRP,SRP; //多空头可用持仓 Numeric OPFLG; //模型处理标志 Numeric BKDFLG; //买开处理标志 Numeric SKDFLG; //卖开处理标志 Numeric BPDFLG; //买平处理标志 Numeric SPDFLG; //卖平处理标志 Global_Numeric BKID,SKID; //开仓委托 Global_Numeric BPID,SPID; //平仓委托 Global_Numeric BKFLG,SKFLG; //开仓标志 Global_Numeric BPFLG,SPFLG; //平仓标志 Global_Numeric BKM,SKM; //开仓委托手数 Global_Numeric BPM,SPM; //平仓委托手数 Global_Numeric BKP,SKP; //开仓委托价格 Global_Numeric BPP,SPP; //平仓委托价格Begin //------------------------信号发出------------------------// If(1) //信号发出 { //平移boll通道计算 TPrice = Close; //关键价格 AvgVal = Ma(TPrice,AvgLen); SDmult = Std(TPrice,SDLen) * SDev; DispTop = AvgVal[Disp] + SDmult; DispBottom = AvgVal[Disp] - SDmult; FirstEntryCon =High >= DispTop[1]; FirstEntryCon1 =Low <= DispBottom[1]; //系统入场 If(MarketPosition == 0) { If(FirstEntryCon) { firstPrice = Open; LastPrice = firstPrice; bk(1,max(open,firstPrice)); }else If(MarketPosition==1) // 有多仓的情况 { While(CurrentEntries < 4 && High >= LastPrice + AddSet*MinPoint) // 加仓 { LastPrice = LastPrice + AddSet*MinPoint; if(Open > LastPrice) LastPrice = Open; bk(1,LastPrice); }}// If(Low <= DispBottom[1]) // { // SK(DefaultVol,Min(Open,DispBottom[1])); // } // } //系统出场 If(MarketPosition == 1 && BarsSinceEntry > 0) { If(Low <= DispBottom[1]) { SP(DefaultVol,Min(Open,DispBottom[1])); } } // If(MarketPosition == -1 && BarsSinceEntry > 0) // { // If(High >= DispTop[1]) // { // BP(DefaultVol,Max(Open,DispTop[1])); // } //} } //------------------------处理开启------------------------// If(A_IsExchangeOpen() == 1) //如果是开盘状态 { If(BarStatus() == 2) //如果不带入历史值 { If(RunStart() == 1) //如果已初始化成功 { OPFLG = 1; //开启模型处理 } } } //------------------------变量赋值------------------------// If(OPFLG == 1) //变量赋值 { N = 1; //下单手数 ZYM = 3; //止盈价位倍数 ZSM = 2; //止损价位倍数 NEWP = Price("New"); //最新价 BIDP = Price("Bid1"); //买一价 ASKP = Price("Ask1"); //卖一价 RLP = Price("RiseLimit"); //涨停价 FLP = Price("FallLimit"); //跌停价 MINP = Price("MinPrice"); //最小变动价位 BAP = F_BuyAvgPrice(); //多头持仓均价 SAP = F_SellAvgPrice(); //空头持仓均价 BRP = F_BuyRemainPosition(); //多头可用持仓 SRP = F_SellRemainPosition(); //空头可用持仓 BRP = Min(BRP,A_BuyRemainPosition()); //多头可用持仓 SRP = Min(SRP,A_SellRemainPosition()); //空头可用持仓 If(A_IsSHCode() == 1) //如果是上期所合约 { SH = Enum_ExitToday; //平仓参数 } Else //如果非上期所合约 { SH = Enum_Exit; //平仓参数 } } End
这个加仓怎么改?
Vars
Numeric MinPoint; // 一个最小变动单位,也就是一跳
NumericSeries firstPrice; // 第一次开仓价格
NumericSeries LastPrice; // 最后一次开仓价格
Numeric AddSet(90); // 加仓设置
Numeric SubSet(30); // 减仓设置
Bool FirstEntryCon; // 首次开仓条件
Begin
FirstEntryCon = ...
MinPoint = MinMove*PriceScale;
If(MarketPosition==0)
{
If(FirstEntryCon)
{
firstPrice = Open;
LastPrice = firstPrice;
bk(2,firstPrice);
}
}else If(MarketPosition==1) // 有多仓的情况
{
While(CurrentEntries < 4 && High >= LastPrice + AddSet*MinPoint) // 加仓
{
LastPrice = LastPrice + AddSet*MinPoint;
if(Open > LastPrice) LastPrice = Open;
bk(1,LastPrice);
}
While(CurrentEntries > 0 && Low <= firstPrice - SubSet*MinPoint) // 减仓
{
firstPrice = firstPrice - SubSet*MinPoint;
if(Open < firstPrice) firstPrice = Open;
sp(1,firstPrice);
}
}
为什么这段代码顺势加仓不显示信号的
Params
Numeric AvgLen(3); //boll均线周期参数
Numeric Disp(16); //boll平移参数
Numeric SDLen(12); //boll标准差周期参数
Numeric SDev(2); //boll通道倍数参数
Vars
Numeric TPrice; //关键价格
NumericSeries AvgVal; //中轨
NumericSeries SDmult; //通道距离
NumericSeries DispTop; //通道高点
NumericSeries DispBottom; //通道低点
Numeric MinPoint; // 一个最小变动单位,也就是一跳
NumericSeries firstPrice; // 第一次开仓价格
NumericSeries LastPrice; // 最后一次开仓价格
Numeric AddSet(30); // 加仓设置
Numeric SubSet(30); // 减仓设置
NumericSeries FirstEntryCon; // 首次开仓条件
NumericSeries FirstEntryCon1; // 首次开仓条件
Numeric N; //下单手数
Numeric SH; //平仓参数
Numeric ZYM; //止盈价位倍数
Numeric ZSM; //止损价位倍数
Numeric NEWP; //最新价
Numeric MINP; //最小变动价位
Numeric RLP,FLP; //涨跌停价
Numeric BIDP,ASKP; //买卖一价
Numeric BAP,SAP; //多空头持仓均价
Numeric BRP,SRP; //多空头可用持仓
Numeric OPFLG; //模型处理标志
Numeric BKDFLG; //买开处理标志
Numeric SKDFLG; //卖开处理标志
Numeric BPDFLG; //买平处理标志
Numeric SPDFLG; //卖平处理标志
Global_Numeric BKID,SKID; //开仓委托
Global_Numeric BPID,SPID; //平仓委托
Global_Numeric BKFLG,SKFLG; //开仓标志
Global_Numeric BPFLG,SPFLG; //平仓标志
Global_Numeric BKM,SKM; //开仓委托手数
Global_Numeric BPM,SPM; //平仓委托手数
Global_Numeric BKP,SKP; //开仓委托价格
Global_Numeric BPP,SPP; //平仓委托价格
Begin
//------------------------信号发出------------------------//
If(1) //信号发出
{
//平移boll通道计算
TPrice = Close; //关键价格
AvgVal = Ma(TPrice,AvgLen);
SDmult = Std(TPrice,SDLen) * SDev;
DispTop = AvgVal[Disp] + SDmult;
DispBottom = AvgVal[Disp] - SDmult;
FirstEntryCon =High >= DispTop[1];
FirstEntryCon1 =Low <= DispBottom[1];
//系统入场
If(MarketPosition == 0)
{
If(FirstEntryCon)
{
firstPrice = Open;
LastPrice = firstPrice;
bk(1,max(open,firstPrice));
}else If(MarketPosition==1) // 有多仓的情况
{
While(CurrentEntries < 4 && High >= LastPrice + AddSet*MinPoint) // 加仓
{
LastPrice = LastPrice + AddSet*MinPoint;
if(Open > LastPrice) LastPrice = Open;
bk(1,LastPrice);
}
}
// If(Low <= DispBottom[1])
// {
// SK(DefaultVol,Min(Open,DispBottom[1]));
// }
// }
//系统出场
If(MarketPosition == 1 && BarsSinceEntry > 0)
{
If(Low <= DispBottom[1])
{
SP(DefaultVol,Min(Open,DispBottom[1]));
}
}
// If(MarketPosition == -1 && BarsSinceEntry > 0)
// {
// If(High >= DispTop[1])
// {
// BP(DefaultVol,Max(Open,DispTop[1]));
// }
//}
}
//------------------------处理开启------------------------//
If(A_IsExchangeOpen() == 1) //如果是开盘状态
{
If(BarStatus() == 2) //如果不带入历史值
{
If(RunStart() == 1) //如果已初始化成功
{
OPFLG = 1; //开启模型处理
}
}
}
//------------------------变量赋值------------------------//
If(OPFLG == 1) //变量赋值
{
N = 1; //下单手数
ZYM = 3; //止盈价位倍数
ZSM = 2; //止损价位倍数
NEWP = Price("New"); //最新价
BIDP = Price("Bid1"); //买一价
ASKP = Price("Ask1"); //卖一价
RLP = Price("RiseLimit"); //涨停价
FLP = Price("FallLimit"); //跌停价
MINP = Price("MinPrice"); //最小变动价位
BAP = F_BuyAvgPrice(); //多头持仓均价
SAP = F_SellAvgPrice(); //空头持仓均价
BRP = F_BuyRemainPosition(); //多头可用持仓
SRP = F_SellRemainPosition(); //空头可用持仓
BRP = Min(BRP,A_BuyRemainPosition()); //多头可用持仓
SRP = Min(SRP,A_SellRemainPosition()); //空头可用持仓
If(A_IsSHCode() == 1) //如果是上期所合约
{
SH = Enum_ExitToday; //平仓参数
}
Else //如果非上期所合约
{
SH = Enum_Exit; //平仓参数
}
}
End
这个加仓怎么改?
一周热门 更多>