各位大虾:
后台想实现几个功能,求编写代码
1、隔夜策略如股指,当日15:10分平仓,第二天开盘9:15开进去;
2、后台某一策略日内累积亏损额>某一数值,则停止运作该策略。
万分感谢!
if 平仓条件 and 持仓判断 then begin
平仓语句;
extgbdataset('time',time);
end
if extgbdata('time')=151000 and time=091600 then 开仓语句;
if tasset-ref(tasset,todaybar)>某一数值 then exit;
if tasset-ref(tasset,todaybar)>某一数值 then exit;
这个Tasset是整个资产的意思吧,如果我跑10个策略,总计盈利10万,但我其中一个策略亏了3万,超过了我对单一策略2万亏损上限,但ASSET是增长的,这种情况下如何处理呢?大神
单一策略中,每次平仓都用全局变量,记录当时的盈利状况
如果超过某个特定值,则不再开仓---就像一个开关一样,打开就可以开仓,关闭则停止开仓
下面是举的一个后台全局变量的例子,供您参考
【金字塔使用技巧】----后台轮询,如何记录变量在最后一周期内的最大最小及开盘值
ma5:=ma(c,5);
if islastbar then
begin
//在新一根K线上记录初始化
if barpos>extgbdata('t') then
begin
extgbdataset('FIR',ma5);//记录开盘值
extgbdataset('MAX1',ma5);//记录最大
extgbdataset('MIN1',ma5);//记录最小
extgbdataset('t',barpos);
end
if barpos=extgbdata('t') then
begin
if ma5>extgbdata('MAX1') THEN extgbdataset('MAX1',ma5);
if ma5<extgbdata('MIN1') THEN extgbdataset('MIN1',ma5);
end
end
以下例子是个图标全局变量亏损控制的例子,记得要转成后台extgbdata格式的才能使用,对应的开平仓持仓相关函数,也要转化为后台的,提供给您参考
部分示例(2) :
日内累计亏损超限(如:超过3000)就停止交易
variable:zongkuisun=0;
ma5:=ma(c,5);
ma10:=ma(c,10);
buycond:=cross(ma5,ma10);
sellcond:=cross(ma10,ma5);
if holding>0 and sellcond then begin
sell(1,1,limitr,c);
zongkuisun:=zonngkuisun+min(0,c-enterprice);
end
if zongkuisun>-3000 and holding=0 and buycond then buy(1,1,limitr,c);
if time=closetime(0) then begin
sell(holding>0,1,limitr,o);
zongkuisun:=0;//收盘时要重新赋值为0
end