以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  恳求高手帮我写一个公式。我的策略是:每天1分钟周期的开盘价+-N个点位开仓,哪个先触发就用哪个  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174315)

--  作者:kzd2004
--  发布时间:2020/2/15 18:58:07
--  恳求高手帮我写一个公式。我的策略是:每天1分钟周期的开盘价+-N个点位开仓,哪个先触发就用哪个

恳求高手帮我写一个公式。我的策略是:每天1分钟周期的开盘价+-N个点位开仓,哪个先触发就用哪个,第一单:开仓1手,设置止损N1和止羸N2,

如果第一单是止羸当天就结束,如果是止损的话到达止损点位就反向开仓2手,设置止损N3和止羸N4,

当天只做两单结束,即使没到平仓条件也要在当天收盘前结束。不胜感谢!!!!!想用这个做一个回测统计。


--  作者:wenarm
--  发布时间:2020/2/15 19:14:52
--  

该需求需要专业版或者机构版才行。

 

 

每天1分钟周期的开盘价+-N个点位开仓???

你的意思是:同时委托多空两个仓位。即:

以开盘价+N 的价格开空?   

以开盘价-N 的价格开多?

 

当天止盈结束,指的是当天不再进行交易了?   而只做2单,指的是最多开两次把。(亏损反方向开仓也算其中一次?)。

[此贴子已经被作者于2020/2/15 19:17:02编辑过]

--  作者:kzd2004
--  发布时间:2020/2/15 21:26:52
--  
是这个意思,我只是想把这个策略评测一下,并不是要交易,当天开盘价+n点位开多,开盘价-n点位开空,二者先触发先开仓,如果第一次开仓1手到达盈利点位今天结束,否则止损第二单反向开仓2手,不管是止盈和止亏或这单到当天结束都要平仓。
--  作者:wenarm
--  发布时间:2020/2/16 0:04:47
--  

必须专业版以上版本才行。固定时间间隔模式

N:=5;
if TODAYBAR=1 then BEGIN
 tbuy(1,1,LMT,OPEN-5*MINDIFF);
 TBUYSHORT(1,1,LMT,OPEN+5*MINDIFF); 
end

//浮动大于10个变动价位产生的利润。
if TOPENPROFIT>10*MINDIFF*MULTIPLIER*THOLDING AND (TBUYHOLDINGEX(\'\',\'\',2)=0 OR TSELLHOLDINGEX(\'\',\'\',2)=0 )  then
begin
 tsell(1,0,mkt);
  tsellSHORT(1,0,mkt);
end


//盈亏10个变动价位产生的利润。
if TOPENPROFIT<-10*MINDIFF*MULTIPLIER*THOLDING AND (TBUYHOLDINGEX(\'\',\'\',2)=0 OR TSELLHOLDINGEX(\'\',\'\',2)=0 ) then
begin
  IF TBUYHOLDINGEX(\'\',\'\',2)>0 AND  TSELLHOLDINGEX(\'\',\'\',2)=0 THEN TBUYSHORT(1,2,mkt);
  IF TBUYHOLDINGEX(\'\',\'\',2)=0 AND  TSELLHOLDINGEX(\'\',\'\',2)>0 THEN TBUY(1,2,mkt);
end

//反手后N3, 浮动大于15个变动价位产生的利润。
if TOPENPROFIT>15*MINDIFF*MULTIPLIER*THOLDING AND (TBUYHOLDINGEX(\'\',\'\',2)>0 and  TSELLHOLDINGEX(\'\',\'\',2)>0 )  then
begin
 tsell(1,0,mkt);
  tsellSHORT(1,0,mkt);
end

//反手n4, 盈亏15个变动价位产生的利润。
if TOPENPROFIT<-10*MINDIFF*MULTIPLIER*THOLDING AND (TBUYHOLDINGEX(\'\',\'\',2)>0 and TSELLHOLDINGEX(\'\',\'\',2)>0 ) then
begin
 tsell(1,0,mkt);
  tsellSHORT(1,0,mkt);
end

if time=CLOSETIME(0) then begin
 tsell(1,0,mkt);
  tsellSHORT(1,0,mkt); 
end