很简单,就是手动开仓后,想自动设置平仓条件为:
开多单的该根K线的前2根K线的最低点为触发条件,此后价格低于开仓前2根K线的最低价,则平仓,否则持有。
开空单的该根K线的前2根K线的最高点为触发条件,此后价格高于开仓前2根K线的最高价,则平仓,否则持有。
看到LEEVOLVO帮人解决这个手动开仓后自动平仓的类似问题,
也想请帮忙把上面的条件转成半自动交易模型,
1,图标交易,还是后台?后台就很容易实现了
2,平仓条件是 价格有达到就算,还是收盘价确认了才算?
后台不是很简单?
tenterprice这个函数不就符合要求了
tenterprice:
返回上次开仓到当前的周期数,若之前没有开仓记录返回-1
该函数依赖TBUY等交易语句或者在交易监控中的手工干预的成交记录。
开仓K线的前2根,就是 tenterprice+2
所以:
if tholding>0 and l<ref(l,tenterprice+2) then tsell(1,1,mkt);
if tholding<0 and h>ref(h,tenterprice+2) then tsellshort(1,1,mkt);
注意:开仓的时候要在监控记录里开仓
其它平仓条件自己再加进去。
你的模型应该还有其它平仓条件吧(比如收盘平仓)。要不,每次都亏钱离场,有意义吗
使用VBS后台就很容易实现,使用Order.HoldingInfoByCode2取得持仓信息,如果有持仓就使用marketdata.GetHistoryData获得最近3根K线的收盘价,然后进行比较,满足条件就平仓。
你的模型应该还有其它平仓条件吧(比如收盘平仓)。要不,每次都亏钱离场,有意义吗
回复:止盈可以手动平仓。
如果这个功能能实现的话,就非常方便。说明它比文华财经软件强多了。文化财经我问过多次他们的程序员,都说不行,他们说必须配合在自动开仓程序化一起用。不能人工开仓后用程序化平仓。他们还说不能读取开仓数据,所以不能做成手动开仓后程序化平仓。
if tholding>0 and l<ref(l,tenterprice+2) then tsell(1,1,mkt);
if tholding<0 and h>ref(h,tenterprice+2) then tsellshort(1,1,mkt);
我是不是只要加这段代码就可以了?
我刚开始对金字塔有兴趣,还没有模拟过呢。
4楼笔误了,俺为leevolvo老兄声明下.
TENTERBARS:
返回上次开仓到当前的周期数,若之前没有开仓记录返回-1
该函数依赖TBUY等交易语句或者在交易监控中的手工干预的成交记录。
支持手动自动混合交易
标准版的支持吗??
还是需要买180001年的那种版本,太贵了