投资者咨询:MQ软件中期货的加减仓的代码怎么写 (文华财经wh9)
来源:文华财经 日期:2018-4-24 20:20
我想写一个最多三次加仓的软件,加仓的条件是当前价格是成本价的1.2倍时加仓一次,回撤到成本的1.1倍时平三分之一仓,回撤到成本时平仓;依次内推每增加10%加仓一次,每回撤10%时平三分之一的仓;只增加三次仓;超过三次后,价格以最高价做参考回撤,每回撤5%,平仓三分之一;求大师们指点;谢谢,刚接触MQ不懂怎么下手;
技术人员回复
日期:2018-4-24 20:51
投资者咨询:MQ软件中期货的加减仓的代码怎么写 (文华财经wh9)
来源:文华财经 日期:2018-4-24 20:20
1、是持仓的均价;
2、从第一次开仓的价格开始的最高价;
不好意思没有描述清楚,白天比较忙,没有及时回复;
技术人员回复
日期:2018-4-25 20:31
技术人员回复
日期:2018-4-28 10:49
请参考:
Setting
AddTimes:3;
Params
Numeric N(3);
Vars
Numeric Xpos;//首次开仓的位置
Numeric CON;//首次开仓的位置
Numeric HH;//首次开仓的位置
Begin
//开仓
If( CrossDown(Ma(Close,3),Ma(Close,10)) &&BKVol ==0)
{
Buy(n);//首次开仓条件
}
Xpos=BarsLast(Cross(BKVol>0,0.5))+1;//首次开仓的位置
//加仓
If( Close>=0.2*(Close-BKPriceAv)+BKPriceAv &&BKVol >= 1)
{
Buy(n);//当前价格是成本价的1.2倍时加仓一次
}
//平仓
CON = Count(BKVol>Ref(BKVol,1),Xpos);//加仓次数
HH = HHV(High,Xpos);//开仓以来最高价
If(CON<3 && Exist(Close>=1.2*BKPriceAv,Xpos)&& Close<=1.1*BKPriceAv &&BKVol >= 1)
{
Sell(Ceiling(BKVol/3,1));//回撤到成本的1.1倍时平三分之一仓
}
If(CON>=3&&Close<HH-(HH-BKPriceAv)*0.5&&BKVol >= 1)
{
Sell(Ceiling(BKVol/3,1));//回撤到成本的1.1倍时平三分之一仓
}
If( Close<BKPriceAv&&BKVol >= 1)
{
Sell(BKVol);//回撤到成本时平仓
}
End
投资者咨询:MQ软件中期货的加减仓的代码怎么写 (文华财经wh9)
来源:文华财经 日期:2018-4-24 20:20
每次加仓手数不同如何设置
技术人员回复
日期:2018-6-5 15:49
请参考:
Setting
AddTimes:3;
Params
Numeric N(3);
Vars
Numeric Xpos;//首次开仓的位置
Numeric CON;//首次开仓的位置
Numeric HH;//首次开仓的位置
Begin
//开仓
If( CrossDown(Ma(Close,3),Ma(Close,10)) &&BKVol ==0)
{
Buy(n);//首次开仓条件
}
Xpos=BarsLast(Cross(BKVol>0,0.5))+1;//首次开仓的位置
//加仓
If( Close>=0.2*(Close-BKPriceAv)+BKPriceAv &&BKVol >= 1)
{
Buy(BKVol *1.5);//当前价格是成本价的1.2倍时加仓一次
}
//平仓
CON = Count(BKVol>Ref(BKVol,1),Xpos);//加仓次数
HH = HHV(High,Xpos);//开仓以来最高价
If(CON<3 && Exist(Close>=1.2*BKPriceAv,Xpos)&& Close<=1.1*BKPriceAv &&BKVol >= 1)
{
Sell(Ceiling(BKVol/3,1));//回撤到成本的1.1倍时平三分之一仓
}
If(CON>=3&&Close<HH-(HH-BKPriceAv)*0.5&&BKVol >= 1)
{
Sell(Ceiling(BKVol/3,1));//回撤到成本的1.1倍时平三分之一仓
}
If( Close<BKPriceAv&&BKVol >= 1)
{
Sell(BKVol);//回撤到成本时平仓
}
End