金字塔决策交易系统

标题: 自动开平仓 [打印本页]

作者: qq307855    时间: 2022-5-13 21:42
标题: 自动开平仓
如果上一周期收盘价低于开盘价,或者开盘价等于收盘价且最低价低于开盘价
if ref(CLOSE,1)<OPEN or  (open=close and low<open) then begin
//开空语句,自行填充参数
tbuyshort(........);
end
//如果上一周期收盘价高于开盘价,或者开盘价等于收盘价且最高价高于开盘价,则买入开仓。
这个开多部分,参照前的开空条件自行尝试实现.  开多用tbuy

//1个点的赢损处理
if abs(DYNAINFO(  7)-TAVGENTERPRICEEX2('' ,STKLABEL ,0))>=MINDIFF then begin
tsell(.......);
end

if abs(DYNAINFO(  7)-TAVGENTERPRICEEX2('' ,STKLABEL ,1))>=MINDIFF then begin
tsellshort(.......);
end
以上内容加入到软件中的具体程序是什么?

作者: 技术006    时间: 2022-5-13 21:45
本帖最后由 技术006 于 2022-5-13 21:51 编辑

这是后台策略,我只给你写了框架,你自己要参照学习并自行填充完整的,(对照函数提示)不理解的地方可以逐个提问。但是不要提那种泛泛无具体化的问题。
自己编写完成后,和你前面看到的后台加载策略的方式方法一样。
https://www.weistock.com/docs/HE ... BA%8F%E5%8C%96.html


作者: qq307855    时间: 2022-5-13 22:10
麻烦把成交量大于400手的条件加到里面一下
作者: 技术006    时间: 2022-5-13 22:11
本帖最后由 技术006 于 2022-5-13 22:13 编辑
qq307855 发表于 2022-5-13 22:10
麻烦把成交量大于400手的条件加到里面一下

这个问题没有难度,自己先实现上面缺失部分的代码,并确认无误后,自然就知道怎么加其他条件了。
作者: qq307855    时间: 2022-5-13 22:26
我想查看函数,但是交易菜单下面的公式管理器点不开啊,右上角的公式按钮也点不动
作者: qq307855    时间: 2022-5-14 20:24
卖空:=CLOSE<OPEN or  (open=close and low<open)
买多:=CLOSE>OPEN or  (open=close and HIGH>open)
if VOL>400 and 卖空 then begin
//开空语句,自行填充参数
buyshort(1,0,DYNAINFO(  7));
end
//如果上一周期收盘价高于开盘价,或者开盘价等于收盘价且最高价高于开盘价,则买入开仓。
这个开多部分,参照前的开空条件自行尝试实现.  开多用tbuy

if  VOL>400 and 买多 then begin
//开空语句,自行填充参数
buy(1,0,DYNAINFO(  7));
end

//1个点的赢损处理
if 卖空 and(DYNAINFO(  7)<>(OAMOUNT /OVOL))then begin
SELLSHORT(1,0,LIMIT,DYNAINFO(  7));
end;
if 买多 and(DYNAINFO(  7)<>(OAMOUNT /OVOL))then begin
SELL(1,0,LIMIT,DYNAINFO(  7));
end;
作者: 技术006    时间: 2022-5-14 21:30
本帖最后由 技术006 于 2022-5-14 21:33 编辑

[PEL] 复制代码
卖空:=CLOSE<OPEN or  (open=close and low<open)
买多:=CLOSE>OPEN or  (open=close and HIGH>open)
if VOL>400 and 卖空 then begin
//开空语句,自行填充参数 //问题1:我给你的策略是基于后台程序化处理的,所以开平语句应该是后台的开平仓函数,即此处应该是tbuyshort这类后台函数(其他开平语句的问题同理)。 其次下单手数填0,代表的是实际账号全平。这个你要知道,当多策略同品种时,会干扰其他策略的平仓操作。
//问题2:buyshort(条件,手数,指令,[价格])这是图表的参数说明,所以,你参数3应该是指令,而参数4作为下单价格是和指令结合的,一般情况下限价指令才需要指定价格。这个问题建议好好阅读下参数说明。//问题3:如果是图表策略,DYNAINFO因为没有历史值,是不符合图表机制的,所以基本上都不能用在图表钟。
buyshort(1,0,DYNAINFO(  7));//检索tbuyshort
end
//如果上一周期收盘价高于开盘价,或者开盘价等于收盘价且最高价高于开盘价,则买入开仓。
这个开多部分,参照前的开空条件自行尝试实现.  开多用tbuy

if  VOL>400 and 买多 then begin
//开空语句,自行填充参数
buy(1,0,DYNAINFO(  7));
end
////问题2:以下部分代码的判断逻辑不对,我在1楼的代码中已经提供条件处理,你只要填充开平语句即可。
//1个点的赢损处理
if 卖空 and(DYNAINFO(  7)<>(OAMOUNT /OVOL))then begin
SELLSHORT(1,0,LIMIT,DYNAINFO(  7));
end;
if 买多 and(DYNAINFO(  7)<>(OAMOUNT /OVOL))then begin
SELL(1,0,LIMIT,DYNAINFO(  7));
end;






作者: qq307855    时间: 2022-5-14 22:08
我想先用图表,等图表熟练了以后再尝试用后台。
作者: qq307855    时间: 2022-5-14 22:14
这个资金是多个合约共用的吗,还是各个合约独立使用自己的资金。如果是共用的话,我想一个合约做完一个开平仓,再进行下一个合约的开平仓。
作者: qq307855    时间: 2022-5-14 22:25
之所以修改了最后的平仓条件,是感觉TAVGENTERPRICEEX2这个函数是成本价,里面应该含着手续费,而不是成交价,所以减下来应该不是1个最小变动价位
作者: qq307855    时间: 2022-5-14 23:52
经过考虑,我用后台,我再改改




欢迎光临 金字塔决策交易系统 (https://www.weistock.com/bbs/) Powered by Discuz! X3.4