金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2254|回复: 4

求大佬帮忙看下这个策略如何编写?

[复制链接]

9

主题

45

帖子

45

积分

Rank: 1

等级: 新手上路

注册:
2023-9-4
曾用名:
发表于 2023-9-4 14:45 | 显示全部楼层 |阅读模式
DIF MACD都向上(只一项满足不行,取这天的ATR值),当突破该天高点1个价位P做多,止损设为P-1.2ATR。往有利反向波动1个ATR后,止损上移至P-0.2ATR。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-4 15:04 | 显示全部楼层
atr 是一个动态变化的值。 你这里:

“止损设为P-1.2ATR。往有利反向波动1个ATR后,止损上移至P-0.2ATR。”
涉及到的atr  只能用开仓时候的固定atr来计算,否则逻辑上是有问题的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-4 15:11 | 显示全部楼层
[PEL] 复制代码
//适用于日内小周期
input:手数(1,1,300,1);
variable:k_atr:=0;//记录开仓时候的atr

//macd指标模块
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
diff :ema(close,s) - ema(close,p);
dea  :ema(diff,m);
macd1 :=2*(diff-dea), colorstick;


con1:macd1>ref(macd1,1) and diff>ref(diff,1);
con2:h>=ref(hhv(h,todaybar),1)+1*mindiff;//日内创1个点位的新高

atr:"atr";

if con1 and con2 and holding=0 then 
begin 
buy(1,1,market);
k_atr:=atr;	
end 

//开仓后最大的收盘价 大于开仓价+1*开仓时候的ATR,当前收盘价小于开仓价-0.2*开仓时候的ATR
if hhv(c,ENTERBARS+1)>enterprice+k_atr and c<enterprice-0.2*k_atr then 回撤止损:sell(1,holding,market);
//收盘价小于开仓价-1.2*开仓时候的ATR
if c<enterprice-1.2*k_atr then 止损:sell(1,holding,market);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

9

主题

45

帖子

45

积分

Rank: 1

等级: 新手上路

注册:
2023-9-4
曾用名:
 楼主| 发表于 2023-9-6 22:03 | 显示全部楼层
技术009 发表于 2023-9-4 15:11
[mw_shl_code=pel,true]//适用于日内小周期
input:手数(1,1,300,1);
variable:k_atr:=0;//记录开仓时候的 ...

如果再加进去这个条件的话要怎么加呢?6个交易日后按P-0.2N止损(包含突破当天),第六交易日收盘如果在该价位之下,则按第六日收盘价出。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-7 09:42 | 显示全部楼层
[PEL] 复制代码
//适用于日内小周期
input:手数(1,1,300,1);
variable:k_atr:=0;//记录开仓时候的atr
 
//macd指标模块
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
diff :=ema(close,s) - ema(close,p);
dea  :=ema(diff,m);
macd1 :=2*(diff-dea), colorstick;
 
 
con1:=macd1>ref(macd1,1) and diff>ref(diff,1);
con2:=h>=ref(hhv(h,todaybar),1)+1*mindiff;//日内创1个点位的新高
 
atr:stkindi('','atr.atr',0,-1,0);
 
if con1 and con2 and holding=0 and valid(atr) then
begin
buy(1,1,market);
k_atr:=atr; 
end
 
//开仓后最大的收盘价 大于开仓价+1*开仓时候的atr,当前收盘价小于开仓价-0.2*开仓时候的atr
if hhv(c,enterbars+1)>enterprice+k_atr and c<enterprice-0.2*k_atr then 回撤止损:sell(1,holding,market);
//收盘价小于开仓价-1.2*开仓时候的atr
if c<enterprice-1.2*k_atr then 止损1:sell(1,holding,market);
//开仓后历时6个交易日,且价格小于  “开仓价-0.2*开仓时候的atr”
if count(time=closetime(0),enterbars+1)>=6 and c<enterprice-0.2*k_atr then 止损2:sell(1,holding,market);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-7-30 06:06 , Processed in 0.098277 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表