金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4635|回复: 14

EMA公式如何表达

[复制链接]

7

主题

98

帖子

98

积分

等级: 免费版

注册:
2023-2-21
曾用名:
发表于 2023-3-2 08:06 | 显示全部楼层 |阅读模式
请问(1)EMA公式如何表达?(2)EMA金叉买入、死叉卖出公式如何表达?谢谢!
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-2 08:45 | 显示全部楼层
ema5:ema(c,5);
ema10:ema(c,10);

emajc:cross(ema5,ema10);
emasc:cross(ema10,ema5);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

98

帖子

98

积分

等级: 免费版

注册:
2023-2-21
曾用名:
 楼主| 发表于 2023-3-3 15:06 | 显示全部楼层
EMA5金叉EMA10,则买入10股,您看下面的写法对吗?谢谢!

ema5:ema(c,5);
ema10:ema(c,10);

emajc:cross(ema5,ema10);
emasc:cross(ema10,ema5);

IF C<100 AND TIME <145900 THEN BEGIN
  开多:TBUY(emajc,10,LMT,CLOSE+0.5);
END

补充内容 (2023-3-6 22:04):
请问,按照这个程序,选定了5分钟级别,为何一直多次开仓啊?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-3 15:10 | 显示全部楼层
这里是对的,没有问题。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

98

帖子

98

积分

等级: 免费版

注册:
2023-2-21
曾用名:
 楼主| 发表于 2023-3-3 17:19 | 显示全部楼层
好的,谢谢!
回复

使用道具 举报

7

主题

98

帖子

98

积分

等级: 免费版

注册:
2023-2-21
曾用名:
 楼主| 发表于 2023-3-6 22:09 | 显示全部楼层
请问,按照上面的这个程序,只改了一个条件为C<125,选定了5分钟级别来运行,为何一直多次开仓啊?还是每5分钟就开仓一次?应该是只有符合条件才开仓啊?
截图202303062207232873.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-7 08:40 | 显示全部楼层
emajc 条件不可能一直满足的。我建议你再自行排查下。或者贴出你现在用的完整代码。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

98

帖子

98

积分

等级: 免费版

注册:
2023-2-21
曾用名:
 楼主| 发表于 2023-3-7 20:13 | 显示全部楼层
技术009 发表于 2023-3-7 08:40
emajc 条件不可能一直满足的。我建议你再自行排查下。或者贴出你现在用的完整代码。

存在的问题是一直开仓,开仓和平仓的时间和K线图上的信号不一致,不知为什么,烦请帮忙看看下面的代码是否有什么问题?谢谢!

Ema5:ema(c,5);
Ema10:ema(c,10);

手数:=ss;
//交易条件

emajc:=cross(ema5,ema10);;//开多平空条件
开空平多条件:cross(ema10,ema5);//开空平多条件

//当前价格比持仓成本高1%后,死叉则卖出
IF C>TAVGENTERPRICEEX2('','',1)*1.01 AND TIME<145900 AND TBUYHOLDINGEX('','',0)>0 THEN BEGIN
平多:TSELL(开空平多条件,0,LMT,CLOSE-0.5);
END

//当前价格比持仓以来的最高价回落3%,则卖出
回落3:=(HHV(H,TENTERBARS+1)-CLOSE)/HHV(H,TENTERBARS+1)<0.97;
IF C>125 AND 回落3 AND TIME<145900 AND TBUYHOLDINGEX('','',0)>0 THEN BEGIN
平多2:TSELL(TBUYHOLDINGEX('','',0)>0,0,LMT,CLOSE-0.5);
END

IF C<100 AND TIME<145900 THEN BEGIN
开多:TBUY(emajc,10,LMT,CLOSE+0.5);
END


当前持仓:THOLDING,COLORGRAY,LINETHICK0;
当前资产:TASSET,NOAXIS,COLORGRAY;
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-8 09:08 | 显示全部楼层
截图202303080907477390.png

这是我用10年国债测试的。代码没变。没出现你这个连续开仓的情况。你测试的品种是什么。

另外你这段代码是后台的代码,只能在后台程序化的 精细化历史回测里回测的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

98

帖子

98

积分

等级: 免费版

注册:
2023-2-21
曾用名:
 楼主| 发表于 2023-3-8 20:20 | 显示全部楼层
我测的是可转债,请问(1)应该是不满足1%以上的利润,就应该只开多,不平多,请问你测试的这个国债为何间隔开多一次就平多一次?(2)应该是市场价大于之前所有开多持仓成本的1%,即利润1%以上,之后发出的平多信号才会平多,所以不应该出现亏损吧?请问为何你的这个截图有亏损?(3)只看到金字塔软件里面交易菜单下面有单策略程式化测评,请问精细化历史回测在哪里?哪个菜单里面?谢谢!

补充内容 (2023-3-8 20:24):
如果按照上面的目的说明,是不是程序代码是不正确的啊?谢谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 02:46 , Processed in 0.178257 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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