全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
请老师帮忙看一下代码
chy0214 分享到
2024-05-31 16:37

我想开10%的仓位,用了下面的函数得到仓位。但是加载策略是报错”小于最小开仓限制“,也就是说算出来的是0。请问为什么呢

Params

numeric open_position(0.1);

numeric max_position(0.8);

Vars

numeric marketvalue_unit;

numeric margin_unit;

Begin

   marketvalue_unit = close * ContractUnit * BigPointValue;

   margin_unit = marketvalue_unit * MarginRatio; // 每手保证金x

   if ((1 - A_FreeMargin / A_CurrentEquity) <= (max_position - open_position)){

    return Round((A_CurrentEquity * open_position / margin_unit), 0);

   }

   else if ((1 - A_FreeMargin / A_CurrentEquity) <= open_position and (1 - A_FreeMargin / A_CurrentEquity) > (max_position - open_position)){

    return Round((A_CurrentEquity * (A_FreeMargin / A_CurrentEquity - (1 - max_position)) / margin_unit), 0);

   }

else {

return 0;

}

End

Phoenix129

你把下面代码放到策略中,调用执行一下,然后打开【控制台】把输入的日志从【开始】到【结束】部分截图发出来先看看再说。

Params
	Numeric open_position(0.1);
	Numeric max_position(0.8);
Vars
	Numeric marketvalue_unit;
	Numeric margin_unit;

Begin
	marketvalue_unit = close * ContractUnit * BigPointValue;
	margin_unit = marketvalue_unit * MarginRatio; // 每手保证金x
	Print(\"==================开始==========================\");
	Print(\"最新价 = \" + Text(close));
	Print(\"每张合约单位数量 = \" + Text(ContractUnit));
	Print(\"合约整点价值 = \" + Text(BigPointValue));
	Print(\"保证金比率 = \" + Text(MarginRatio));
	Print(\"每手保证金 = \" + Text(margin_unit));
	Print(\"可用资金 = \" + Text(A_FreeMargin));
	Print(\"动态权益 = \" + Text(A_CurrentEquity));
	Print(\"最大仓位 = \" + Text(max_position));
	Print(\"开仓仓位 = \" + Text(open_position));
	Print(\"==================结束==========================\");

	if((1 - A_FreeMargin / A_CurrentEquity) <= (max_position - open_position)){
		return Round((A_CurrentEquity * open_position / margin_unit), 0);
	}else if((1 - A_FreeMargin / A_CurrentEquity) <= open_position and (1 - A_FreeMargin / A_CurrentEquity) > (max_position - open_position)){
		return Round((A_CurrentEquity * (A_FreeMargin / A_CurrentEquity - (1 - max_position)) / margin_unit), 0);
	}else{
		return 0;
	}
End
2024-05-31 18:14
chy0214
@Phoenix129

老师,可用资金和动态权益Print出来后都是N/A,请问怎么解决

2024-06-12 10:06
gkgz7777
老师 旗舰版 的语句怎么转换成 TB QUANT语句
2024-06-02 18:18
kyover
@gkgz7777

旗舰版新用户不能使用了

旧版语法复制到quant公式编辑器内,工具栏上方有一个代码升级,点一下自动转换。

部分变量命名如果和新的关键字冲突,手动自己改一下

2024-06-03 08:42
gkgz7777

旗舰版 无法登陆了

2024-06-02 18:19
您未登录,请先 登录注册 后发表评论
顶部