以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=160566)

--  作者:cn201781
--  发布时间:2017/12/21 9:45:35
--  请老师编写个策略
策略执行即开仓做多1手,每下跌10个点加1手,最多下跌加仓20次,如果开仓不下跌20个点止盈。如果加了6次仓后不再下跌,(则从第一手到第7手的总点数/7)+20点,止盈
也就是加仓的均价加20点止盈

--  作者:FireScript
--  发布时间:2017/12/21 10:07:08
--  

1.逻辑上有不完整地方。 “如果开仓不下跌20个点止盈” “如果加了6次仓后不再下跌”  这个还要有额外的限制条件才行。 多少周期内不下跌20个点止盈?加仓6次之后多久不下跌?

2.,”则从第一手到第7手的总点数/7)+20点,止盈

也就是加仓的均价加20点止盈”  这个是要限价止盈? 还说价格上涨到均价20点 止盈?
 
--  作者:cn201781
--  发布时间:2017/12/21 14:48:42
--  
补充:1.周期是240分钟
2.是价格涨到均价以上20点止盈。
麻烦老师了

--  作者:FireScript
--  发布时间:2017/12/21 15:08:23
--  

你1中所说的是开仓后240分钟内没有下跌到20点止盈,是这个意思对吧?

我可能没说清楚,一般不直接用具体时间跨度,举个例子一般这样:N个K线周期内没有下跌到20个点。  用240分钟这种具体时间跨度的话,还要考虑到你运行周期多少多少,转换和计算都不方便。 你考虑下。


--  作者:cn201781
--  发布时间:2017/12/21 16:13:43
--  
是的
--  作者:FireScript
--  发布时间:2017/12/22 9:57:34
--  
我四楼说的内容的你还没有回复明确。 加仓6次之后也是240分钟内不下跌再止盈?
--  作者:cn201781
--  发布时间:2017/12/22 10:54:27
--  
老师好,是的
--  作者:qq代人发帖
--  发布时间:2017/12/22 13:49:03
--  

VARIABLE:n:=0;
cs:=60;//这里自行修改值,当前运行的是1分钟周期写60,是30分钟周期就写2400,是10秒周期就写10,总之要把周期数转换成秒数

kctime:=OPENBAR*cs;//首次开仓以来的秒数
jctime:BARSLAST(n=6)*cs;//最近一次加仓到6手到当前K位置的秒数
if c>ref(c,1) then begin buy(holding=0,1,market);end //buycond 是你自己初始定义的开仓条件


if n<=20 and ENTERPRICE-c>=10*MINDIFF and holding>0 and kctime<=240*60 then
begin
buy(1,1,market);//按照上次开仓价格下跌10点来加仓
n:=n+1;
end

if n>=6 and jctime>=240*60 and count(ref(c,1)>c,BARSLAST(n=6))=0 then  //加仓6次之后,超过240*60 秒收盘价格没有再下跌平仓
begin
sell(holding>0,holding,limit,AVGENTERPRICE+29*MINDIFF);//限价平仓
n:=0;
end