欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师修改 ATR通道交易系统 通不过

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3167人关注过本帖树形打印复制链接

主题:请老师修改 ATR通道交易系统 通不过

帅哥哟,离线,有人找我吗?
yzhybw
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:659 积分:0 威望:0 精华:0 注册:2015/2/5 10:08:43
请老师修改 ATR通道交易系统 通不过  发帖心情 Post By:2020/3/4 21:00:27    Post IP:39.149.24.214[只看该作者]

//策略:ATR通道交易系统
//简介:
//类型:中长线
//周期:日线/60min/30min
//使用市场:多市场
variable: xstop=0;
INPUT:M(20,5,100,5),N(2,0.1,10,1),SS(1,1,10000,1);
{计算ATR}
TR1 := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR : MA(TR1,m);
MID :  MA(CLOSE,M);//中轨
UPPER: MID + N*ATR;//上轨
LOWER: MID - N*ATR;//下轨
{计算Turtle rule-1 跟踪停损价格}
tmp1:=llv(low,10);
tmp2:=llv(low,20);
tmp3:=hhv(high,10);
if high>=hhv(high,20) then xstop:=tmp1; {20日新高,建立多头停损价格起点——最近10日低点}
else if low>xstop then xstop:=xstop+0.05*atr; {多头延续,每天跟踪停损价格上移ATR的5%}
else if low<=tmp2>xstop:=tmp3;{20日新低,建立空头停损价格起点——最近10日高点}
else if high xstop:=xstop - 0.05*atr;{空头延续,每天跟踪停损价格下移ATR的5%}
StopPrice: xstop;{显示停损价格}
手数:=SS;
//条件:
开多条件:=C>UPPER AND HOLDING=0;//上穿上轨开多
开空条件:=C
平多条件:=C0;   //下穿中轨平多
平空条件:=C>MID AND HOLDING<0; >
IF 开多条件 THEN BUY(1,手数,MARKET);
IF 开空条件 THEN BUYSHORT(1,手数,MARKET);
IF (平多条件 OR close
IF (平空条件 or close>StopPrice) THEN SELLSHORT(1,手数,MARKET);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值
KD:=;          //开多条件
PD:=;          //平多条件
KK:=;          //开空条件
PK:=;          //平空条件

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/4 22:12:48    Post IP:101.88.241.192[只看该作者]

if high>=hhv(high,20) then xstop:=tmp1; {20日新高,建立多头停损价格起点——最近10日低点}
else if low>xstop then xstop:=xstop+0.05*atr; {多头延续,每天跟踪停损价格上移ATR的5%}
else if low<=tmp2 then xstop:=tmp3;{20日新低,建立空头停损价格起点——最近10日高点}
else if high>tmp3 then xstop:=xstop - 0.05*atr;{空头延续,每天跟踪停损价格下移ATR的5%}

 

最后两行的else if后面的条件,需要你确认关系。错误原因也是这两行的,语法不对,以及条件表达式不对。

 

 

开多条件:=C>UPPER AND HOLDING=0;//上穿上轨开多
开空条件:=C;//少分号
平多条件:=C0;   //下穿中轨平多     未知变量
平空条件:=C>MID AND HOLDING<0; >

IF 开多条件 THEN BUY(1,手数,MARKET);
IF 开空条件 THEN BUYSHORT(1,手数,MARKET);
IF (平多条件 OR close//这句错误,但是你要表达的意图不知道。也是语法错误。
IF (平空条件 or close>StopPrice) THEN SELLSHORT(1,手数,MARKET);
 
 
 
最后一部分的代码语法错误就不指出了,建议你根据提示填充。这个代码如果是从别的地方找的。建议你从新看下。
[此贴子已经被作者于2020/3/4 22:47:32编辑过]


编程无捷径,技巧靠积累。
 回到顶部