金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5730|回复: 10

自动开平仓

[复制链接]

58

主题

144

帖子

144

积分

等级: 免费版

注册:
2022-5-12
曾用名:
发表于 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
以上内容加入到软件中的具体程序是什么?
回复

使用道具 举报

37

主题

9943

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-5-13 21:45 | 显示全部楼层
本帖最后由 技术006 于 2022-5-13 21:51 编辑

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

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

58

主题

144

帖子

144

积分

等级: 免费版

注册:
2022-5-12
曾用名:
 楼主| 发表于 2022-5-13 22:10 | 显示全部楼层
麻烦把成交量大于400手的条件加到里面一下
回复

使用道具 举报

37

主题

9943

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-5-13 22:11 | 显示全部楼层
本帖最后由 技术006 于 2022-5-13 22:13 编辑
qq307855 发表于 2022-5-13 22:10
麻烦把成交量大于400手的条件加到里面一下

这个问题没有难度,自己先实现上面缺失部分的代码,并确认无误后,自然就知道怎么加其他条件了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

58

主题

144

帖子

144

积分

等级: 免费版

注册:
2022-5-12
曾用名:
 楼主| 发表于 2022-5-13 22:26 | 显示全部楼层
我想查看函数,但是交易菜单下面的公式管理器点不开啊,右上角的公式按钮也点不动
回复

使用道具 举报

58

主题

144

帖子

144

积分

等级: 免费版

注册:
2022-5-12
曾用名:
 楼主| 发表于 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;
回复

使用道具 举报

37

主题

9943

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 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;





金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

58

主题

144

帖子

144

积分

等级: 免费版

注册:
2022-5-12
曾用名:
 楼主| 发表于 2022-5-14 22:08 | 显示全部楼层
我想先用图表,等图表熟练了以后再尝试用后台。
回复

使用道具 举报

58

主题

144

帖子

144

积分

等级: 免费版

注册:
2022-5-12
曾用名:
 楼主| 发表于 2022-5-14 22:14 | 显示全部楼层
这个资金是多个合约共用的吗,还是各个合约独立使用自己的资金。如果是共用的话,我想一个合约做完一个开平仓,再进行下一个合约的开平仓。
回复

使用道具 举报

58

主题

144

帖子

144

积分

等级: 免费版

注册:
2022-5-12
曾用名:
 楼主| 发表于 2022-5-14 22:25 | 显示全部楼层
之所以修改了最后的平仓条件,是感觉TAVGENTERPRICEEX2这个函数是成本价,里面应该含着手续费,而不是成交价,所以减下来应该不是1个最小变动价位
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-5-28 05:15 , Processed in 0.155187 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表