以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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 参考下这个范例。反正思路就是平仓时候记录下盈亏。然后开仓时候判断下统计的全局变量值情况。
|