金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2130|回复: 6

后台公式如何实现超过一定的风险比自动平当前浮动亏损最大的合约?

[复制链接]

81

主题

280

帖子

290

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2022-7-29 15:23 | 显示全部楼层 |阅读模式
风险比=当前现金/动态权益;
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-29 15:59 | 显示全部楼层
//注意:由于后台的工作特殊性,每个监控品种都会扫描执行,如果要执行下面的全平操作,只要监控一个品种就好了。


//只在最后周期有效,防止逐K线模式前面K线刷新进入,可以提高效率。对序列模式不影响。

IF NOT(ISLASTBAR) THEN
EXIT;


//取得当前活动账户的总持仓品种数量

HC:=THOLDCOUNT('');
max_loss:=-10000;
code:='';
//循环取得持仓
FOR I = 1 TO HC do
BEGIN
//获取第I个序号的账户持仓品种代码
HLABEL:THOLDINDEXLABEL(I,'');
//取该品种多仓数量
hold_d:TBUYHOLDINGEX('' ,HLABEL,1);
//取空仓数量
hold_k:TSELLHOLDINGEX('' ,HLABEL,1);
if hold_d>0 then loss_d:=(TAVGENTERPRICEEX2( '',HLABEL ,0 )-DYNAINFO2(7, HLABEL))*TBUYHOLDINGEX('' ,HLABEL , 1)*DYNAINFO2(209, HLABEL);
if hold_k>0 then loss_k:=(DYNAINFO2(7, HLABEL)-TAVGENTERPRICEEX2( '',HLABEL ,1 ))*TsellHOLDINGEX('' ,HLABEL , 1)*DYNAINFO2(209, HLABEL);
if loss_d>max_loss then
begin
       
        max_loss:=loss_d;
        code:=HLABEL;
end

if loss_k>max_loss then
begin
        max_loss:=loss_k;
        code:=HLABEL;
end
END

//这个就是浮亏最大的合约
msgout(1,code);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

81

主题

280

帖子

290

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2022-7-29 16:16 | 显示全部楼层
资深技术02 发表于 2022-7-29 15:59
//注意:由于后台的工作特殊性,每个监控品种都会扫描执行,如果要执行下面的全平操作,只要监控一个品种就 ...

可以作为参考,貌似漏了需要考虑实际购买的手数对应的单位乘数问题。
回复

使用道具 举报

81

主题

280

帖子

290

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2022-7-29 16:33 | 显示全部楼层
[PEL] 复制代码
IF 1-TCASH/TASSET<FX/100 THEN 
	EXIT;

MAXLOSS:=0;
PCL:=0;
THC:=THOLDCOUNT('');
FOR I=1 TO THC DO BEGIN
	THL:=THOLDINDEXLABEL(I,'');
	THBN:=TBUYHOLDINGEX('',THL,1);
	THSN:=TSELLHOLDINGEX('',THL,1);
	IF THBN>0 THEN 
		TBLS:=(DYNAINFO2(7,THL)-TAVGENTERPRICEEX2('','',0))*MULTIPLIER*THBN*TACCOUNT(41);
	IF THSN>0 THEN
		TSLS:=(TAVGENTERPRICEEX2('','',1)-DYNAINFO2(7,THL))*MULTIPLIER*THBN*TACCOUNT(42);
	LOSS:=TBLS+TSLS;
	
	IF LOSS<MAXLOSS THEN BEGIN
		MAXLOSS:=LOSS;
		PCL:=I;
		END;
	END;
	
THL:=THOLDINDEXLABEL(PCL,'');
THBN:=TBUYHOLDINGEX('',THL,1);
THSN:=TSELLHOLDINGEX('',THL,1);
TSELL(THBN>0, 0, LMT, CLOSE-MINDIFF,0,THL);
TSELLSHORT(THSN>0, 0, LMT, CLOSE+MINDIFF,0,THL);

看下这样行不?
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-29 16:41 | 显示全部楼层
DYNAINFO2(209, HLABEL);

这个就是单位乘数,代码里函数都是指定品种的不能哟弄个multipliter这种不指定品种的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

81

主题

280

帖子

290

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2022-7-29 16:43 | 显示全部楼层
哦,好的,其他应该没问题吧。

补充内容 (2022-7-29 16:46):
保证金率应该是要套进去的吧。
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-29 16:55 | 显示全部楼层
没算保证金,浮亏不就是价格差乘以数量乘以单位吗
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 10:46 , Processed in 0.164834 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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