以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  如何表述  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=181685)

--  作者:NH
--  发布时间:2020/8/12 15:41:55
--  如何表述
如何限定品种交易(两种情形:1.某些品种可以交易  2.除了指定品种不能交易 其他品种都可以交易)?   
如何限制交易周期?  
如何对单品种做最大亏损金额 熔断处理?

--  作者:FireScript
--  发布时间:2020/8/12 15:51:00
--  
 1.
if STKLABEL <>\'RB00\' EXIT;//如果不是RB00不交易,如果要限制的品种很多,就只能一个个写。
2.
用DATATYPE 函数判断周期。方式类似上面限制品种的。

3.这个比较麻烦,很多情况要理清才行,是图表还是后台上的?是累计亏损,还是当前持仓亏损?亏损达到限制之后又如何操作,强制平仓?强制平仓之后的交易如何进行,不下单还是继续满足条件下单?

--  作者:NH
--  发布时间:2020/8/13 9:02:28
--  
3  .   累计亏损,或者 当前持仓亏损达到 都做判断条件 。正常触发的条件是 累计亏损。    要的是这个品种 停止不再交易。
--  作者:FireScript
--  发布时间:2020/8/13 11:05:38
--  
 GLOBALVARIABLE:lossnum:=0;// 全局变量,平仓时累加 用来统计多次交易的盈亏情况。
cs:=5000;//限定最大亏损额度。累计或者单次满足当日就不在开仓

ma5:=ma(5,close);
ma20:=ma(20,close);
cond1:=cross(ma5,ma20);
cond2:=cross(ma20,ma5);

if cond2 and TBUYHOLDINGEX(\'\',\'\',1)>0 then
begin
tsell(1,1,mkt);
lossnum:=if(TNUMPROFIT(1)<= -cs,-cs,lossnum+TNUMPROFIT(1));//这里是按照累计或者单次盈亏其中之一达到5000 就限制不在开仓了
end


if cond1 and TBUYHOLDINGEX(\'\',\'\',1)=0 and not(lossnum<-cs) then  tbuy(1,1,mkt);
if time=closetime(0) then lossnum:=0;// 商品期货,收盘的同时,lossnum赋值为0


参考下这个范例。反正思路就是平仓时候记录下盈亏。然后开仓时候判断下统计的全局变量值情况。