Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:关于后台某些功能实现的求助

1楼
黄玉天一 发表于:2015/2/10 11:19:29

各位大虾:

后台想实现几个功能,求编写代码

 

1、隔夜策略如股指,当日15:10分平仓,第二天开盘9:15开进去;

2、后台某一策略日内累积亏损额>某一数值,则停止运作该策略。

 

万分感谢!

2楼
jinzhe 发表于:2015/2/10 11:22:09

if 平仓条件 and 持仓判断 then begin

    平仓语句;

    extgbdataset('time',time);

end

 

if extgbdata('time')=151000 and time=091600 then 开仓语句;

 

if tasset-ref(tasset,todaybar)>某一数值  then exit;

3楼
黄玉天一 发表于:2015/2/10 11:29:28

if tasset-ref(tasset,todaybar)>某一数值  then exit;

 

 

这个Tasset是整个资产的意思吧,如果我跑10个策略,总计盈利10万,但我其中一个策略亏了3万,超过了我对单一策略2万亏损上限,但ASSET是增长的,这种情况下如何处理呢?大神

4楼
fly 发表于:2015/2/10 13:16:45

单一策略中,每次平仓都用全局变量,记录当时的盈利状况

如果超过某个特定值,则不再开仓---就像一个开关一样,打开就可以开仓,关闭则停止开仓

 

下面是举的一个后台全局变量的例子,供您参考

 

【金字塔使用技巧】----后台轮询,如何记录变量在最后一周期内的最大最小及开盘值

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

 

共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.25391 s, 3 queries.