金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 105093

请教MC中这两个函数对应金字塔的函数是什么?

[复制链接]

1

主题

4260

帖子

4260

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-24 09:40 | 显示全部楼层
tl_new 这个是做什么的?我没看懂这部分代码是做啥的:

value2 = tl_new(date[1],time[1],stopline[1],date,time,stopline);

回复

使用道具 举报

58

主题

282

帖子

292

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-24 10:19 | 显示全部楼层
画线函数
截图202409241018455356.png
回复

使用道具 举报

1

主题

4260

帖子

4260

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-24 10:36 | 显示全部楼层
画线的就先不处理了,下面是图表版本的代码,你先看下效果吧:

[PEL] 复制代码
input:len(15);
input:m1(0.05);
input:m2(10);
input:maxperiod(20);

variable:tp:=0;
variable:spacep:=0;
variable:inicost:=0;
variable:ratchet:=0;
variable:stopline:=0;
variable:barn:=0;

//ATR
value1:ma(tr,len);
last_spacep:=ref(spacep,1);
last_value:=ref(value1,1);
lv:=llv(low,m2);


//初始开仓,开仓语句要写在前面,否则会影响到后面某些函数的取值
buy(holding=0 and TODAYBAR=1,1,marketr);


//开仓K记录此时的开仓价
if enterbars=0  then begin
tp:=enterprice;
end


if holding=1 then begin

if enterbars>=1 then 
begin
if high>tp then tp:=high;
end;

//最大盈利
spacep:=tp-enterprice;
//输出spacep
spacep_value:spacep;



//最大盈利大于一个ATR:记录此时的最低价和K位置
if last_spacep<last_value and spacep>value1 then begin 
inicost:=lv;
barn:=barpos;
drawtext(1,high+10,'start ratchet');
end;


if spacep>value1 then 
begin  
ratchet:=enterbars* m1*value1;
//根据持仓周期更新止盈价
stopline:=inicost + ratchet;
//最新价大于止盈价 平仓
ATR止盈:sell(c>=stopline,holding,LIMITR,stopline);
end


//持仓超过指定周期,且盈利没有达到一个atr 直接平仓
if enterbars>=maxperiod and spacep<value1 then 到期平仓:sell(1,holding,market);


end;
回复

使用道具 举报

58

主题

282

帖子

292

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-24 11:15 | 显示全部楼层
好的,我先加载起来研究一下,谢谢
回复

使用道具 举报

58

主题

282

帖子

292

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-26 22:45 | 显示全部楼层
这代码好像不太对,你加载到策略里面看一下。 我加载我回测盈利的策略里 直接变成亏损策略了。参数调了也不行
回复

使用道具 举报

1

主题

4260

帖子

4260

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-27 08:44 | 显示全部楼层
本帖最后由 资深技术05 于 2024-9-27 08:49 编辑

你要看逻辑。去校验它的逻辑。 如果看盈亏,那我们是没办法调整的。
你先单独用这个范例去确认下基本逻辑是否符合。
回复

使用道具 举报

58

主题

282

帖子

292

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-27 10:18 | 显示全部楼层
代码编写的逻辑我理解是没啥问题,但是加载到图上的效果和文字描述的差别太大
回复

使用道具 举报

1

主题

4260

帖子

4260

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-27 10:27 | 显示全部楼层
你看看那个atr。这个atr是动态计算的,他始终不是固定值。但是你原始代码里我感觉好像也是这样。我觉得如果是动态值 应该 不算很合理。
回复

使用道具 举报

58

主题

282

帖子

292

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-27 10:35 | 显示全部楼层
这是基于ATR的棘轮,在初始ATR设定基准后,程序启动后续会随着价格的变动而前推动 以此来保护已经实现的盈利,这是没问题的。这也是棘轮的核心。
回复

使用道具 举报

1

主题

4260

帖子

4260

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-27 11:12 | 显示全部楼层
这个动态atr有这么个情况。就是比如你最大盈利是100.  现在atr比较大,可能刚开始 盈利大于一个atr它不满足,但是后面 你行情波动小了,你atr变小了。也就是实际在最大盈利没有变化情况下,“盈利大于一个atr”  反而满足了。

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 04:36 , Processed in 0.305791 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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