金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3339|回复: 9

麻烦老师帮加三个条件

[复制链接]

16

主题

95

帖子

95

积分

Rank: 2

等级: 标准版

注册:
2022-11-14
曾用名:
发表于 2023-2-6 11:23 | 显示全部楼层 |阅读模式
为解决信号闪烁引发重复下单问题
麻烦老师帮加三个条件:
一、同一份合约中如有持仓禁止下单。
二、平仓信号出现时,同一份合约不论多空全部平仓。
三、先平后开。
单策略多品种,这样设置不会影响到其他运行正常的品种吧
{交易条件}
开多条件:=  AA AND BB;

平多条件:= CC;

开空条件:= DD  AND EE ;

平空条件:= FF;
{交易系统}
variable:maxprofit=0;//有仓位时最大获利幅度
平空:SELLSHORT(平空条件  ,手数,MARKET);                  //平空信号
if  开多条件  and holding=0 then
begin
开多:BUY(开多条件 AND HOLDING=0,手数,MARKET);          //开多信号
maxprofit:=0;
end  

平多:SELL(平多条件  ,手数,MARKET);                       //平多信号
if  开空条件  and holding=0 then
begin
开空:BUYSHORT(开空条件 AND HOLDING=0,手数,MARKET);     //开空信号
maxprofit:=0;
end  

//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
  win:=(c-enterprice)/enterprice*100; //记录最大盈利
  if win>maxprofit then
    maxprofit:=win;

  win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
if holding < 0 and enterbars > 0 then
begin
  win:=(enterprice-c)/enterprice*100; //记录最大盈利
  if win > maxprofit then
    maxprofit:=win;

win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
//出现浮动亏损比如2%平仓
多止损:SELL(win < -1,0,limit,c);

//出现最高盈利后,回落到盈利的60%平仓出场

多止赢:SELL(win2 >= 95 and openprofit > 0, 0,limit,c);

空止损:SELLSHORT(win < -1,0,limit,c);

空止赢:SELLSHORT(win2 >= 95 and openprofit > 0, 0,limit,c);


持仓:holding,COLORRED,linethick0;
资产:asset,noaxis,linethick0;
可用现金:cash(0),linethick0;

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-6 13:41 | 显示全部楼层
一、同一份合约中如有持仓禁止下单。
如果是模型持仓,你可以在开仓地方加一个 holding=0的判断,但是如果你是针对实际账户的持仓进行控制图表模型本身是有局限性的,这是做不到的。


二、平仓信号出现时,同一份合约不论多空全部平仓。

平仓函数的下单手数 地方 直接写0就行了。

三、先平后开。
如果只是单纯不加仓 那也是直接开仓地方判断 holding=0就行。如果是要反手操作,那你在原本的开仓语句那里 写反手的语句就行了。
比如(这里嵌套了一个if...begin...end 的语句 是为了确保全局变量操作不出问题 ):
if  开空条件   then
begin
sell(1,0,market);

if  holding=0 then
begin
开空:BUYSHORT(开空条件 AND HOLDING=0,手数,MARKET);     //开空信号
maxprofit:=0;
end

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

使用道具 举报

16

主题

95

帖子

95

积分

Rank: 2

等级: 标准版

注册:
2022-11-14
曾用名:
 楼主| 发表于 2023-2-6 16:26 | 显示全部楼层
技术009 发表于 2023-2-6 13:41
一、同一份合约中如有持仓禁止下单。
如果是模型持仓,你可以在开仓地方加一个 holding=0的判断,但是如果 ...

一、同一份合约中如有持仓禁止下单。

是图表程序化和后台程序化都不行吗
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-6 16:32 | 显示全部楼层
不是的。是图表程序化不行。后台直接操作账户栏,没限制的。

图表程序化本身是一个独立封闭的模型,资金,持仓都是基于代码逻辑 和基础的资金,费率设置计算出来的。  
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

16

主题

95

帖子

95

积分

Rank: 2

等级: 标准版

注册:
2022-11-14
曾用名:
 楼主| 发表于 2023-2-7 10:51 | 显示全部楼层
技术009 发表于 2023-2-6 13:41
一、同一份合约中如有持仓禁止下单。
如果是模型持仓,你可以在开仓地方加一个 holding=0的判断,但是如果 ...

二、平仓信号出现时,同一份合约不论多空全部平仓。

平仓函数的下单手数 地方 直接写0就行了。

改为0 后可能平掉同方向的仓位,另一个方向的平不掉。另外有没有什么方法可能防止同时持有两个方向的仓位,比如原来持有多单,但是不知道什么原因平仓信号出现时平不了仓,这时出现了开空单信号,所以同时持有两个方向的仓位

补充内容 (2023-2-7 10:55):
另外想请教下为什么平仓信号出现时却没有执行平仓呢
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-7 10:58 | 显示全部楼层
“改为0 后可能平掉同方向的仓位,另一个方向的平不掉” 这个全平 是指单个方向的全平。你信号是哪个方向就全平哪个方向的。

“但是不知道什么原因平仓信号出现时平不了仓”看下是不是没成交。如果不是未成交,那么看下交易日志里下单地方如何记录的。
交易日志在:查看-交易日志 这里。按照下单时间去找下当时情况的记录。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

16

主题

95

帖子

95

积分

Rank: 2

等级: 标准版

注册:
2022-11-14
曾用名:
 楼主| 发表于 2023-2-7 16:07 | 显示全部楼层
技术009 发表于 2023-2-6 13:41
一、同一份合约中如有持仓禁止下单。
如果是模型持仓,你可以在开仓地方加一个 holding=0的判断,但是如果 ...

一、同一份合约中如有持仓禁止下单。
如果是模型持仓,你可以在开仓地方加一个 holding=0的判断,但是如果你是针对实际账户的持仓进行控制图表模型本身是有局限性的,这是做不到的。

是不是后台程序化加了   holding=0    就能做到     同一份合约中如有持仓禁止下单
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-7 16:09 | 显示全部楼层
后台不是holding  后台有单独的读取指定品种 指定账户 指定方向的持仓的函数。
TBUYHOLDINGEX()  TSELLHOLDINGEX() 这些都是从账户栏获取的。

图表其实更适合纯指标类的程序化,反正指标信号出了就开仓或者平仓这种。 涉及到资金,仓位等精细控制的一般都是后台多点。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

16

主题

95

帖子

95

积分

Rank: 2

等级: 标准版

注册:
2022-11-14
曾用名:
 楼主| 发表于 2023-2-8 10:01 | 显示全部楼层
技术009 发表于 2023-2-7 16:09
后台不是holding  后台有单独的读取指定品种 指定账户 指定方向的持仓的函数。
TBUYHOLDINGEX()  TSELLHOL ...

图表最多可以同时交易多少个品种
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-8 10:16 | 显示全部楼层
一个框架 上限是32个 框架数量没有理论上限。最后的限制都是落到 你硬件本身的限制了。比如计算量太大  导致资源占有过大 之类。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 18:59 , Processed in 0.127465 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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