金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3283|回复: 9

帮忙写个指标

[复制链接]

10

主题

37

帖子

37

积分

Rank: 1

等级: 新手上路

注册:
2021-11-8
曾用名:
发表于 2021-11-9 13:09 | 显示全部楼层 |阅读模式
老师好,帮忙写个指标。条件:MACD快线DIFF数值大于0开多单,平空单。MACD快线DIFF数值小于0,开空单平多单。谢谢
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2021-11-9 13:15 | 显示全部楼层
参照系统自带【MACD突破零轴价格预测】公式
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

37

帖子

37

积分

Rank: 1

等级: 新手上路

注册:
2021-11-8
曾用名:
 楼主| 发表于 2021-11-9 13:26 | 显示全部楼层
技术006 发表于 2021-11-9 13:15
参照系统自带【MACD突破零轴价格预测】公式

看了 不是我的意思。里面快线DIFF数值大于0,是3,形成死叉就直接开空了。我的意思是DIFF数值只要大于0就多单,什么时候负数了再平多单然后开空单。一样,DIFF数值再次大于0了 平空单再开多单
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2021-11-9 13:31 | 显示全部楼层
开多平空条件:=CROSS(DIFF,0);//开多平空条件
开空平多条件:=CROSS(0,DIFF);//开空平多条件
把条件中的macd,换成diff不就好了?如果还不是建议你把需求再说清楚点。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

37

帖子

37

积分

Rank: 1

等级: 新手上路

注册:
2021-11-8
曾用名:
 楼主| 发表于 2021-11-9 13:58 | 显示全部楼层
技术006 发表于 2021-11-9 13:31
开多平空条件:=CROSS(DIFF,0);//开多平空条件
开空平多条件:=CROSS(0,DIFF);//开空平多条件
把条件中的ma ...

好的。我重新整理了一下。开多条件:DIFF>0或者在MACD零轴上方形成金叉开多单,在零轴上方形成死叉平掉多单。 开空条件:DIFF<0或者在MACD零轴下方形成死叉开空单,在零轴下方形成金叉平掉空单。老师看下这样吗
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2021-11-9 14:01 | 显示全部楼层
DIFF>0或者在MACD零轴上方形成金叉开多单
diff和谁形成金叉?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

37

帖子

37

积分

Rank: 1

等级: 新手上路

注册:
2021-11-8
曾用名:
 楼主| 发表于 2021-11-9 14:02 | 显示全部楼层
技术006 发表于 2021-11-9 14:01
DIFF>0或者在MACD零轴上方形成金叉开多单
diff和谁形成金叉?

和DEA线

补充内容 (2021-11-9 14:03):
死叉也是和DEA线
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2021-11-9 14:11 | 显示全部楼层

开多条件:DIFF>0或者在MACD零轴上方形成金叉开多单,在零轴上方形成死叉平掉多单。
你确定这是或者的关系?反正不太符合正常代码逻辑。示例如下:

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  :=EMA(DIFF,9);
MACD :=2*(DIFF-DEA);

if diff>0 or cross(dea,diff)=1 and diff>0 and dea>0 and holding=0 then BEGIN
        buy(1,1,MARKET);
END

if diff>0 or cross(diff,dea)=1 and diff>0 and dea>0  and holding>0 then BEGIN
        SELL(1,1,MARKET);
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

37

帖子

37

积分

Rank: 1

等级: 新手上路

注册:
2021-11-8
曾用名:
 楼主| 发表于 2021-11-9 14:17 | 显示全部楼层
技术006 发表于 2021-11-9 14:11
开多条件:DIFF>0或者在MACD零轴上方形成金叉开多单,在零轴上方形成死叉平掉多单。
你确定这是或者的关 ...

刚测试了矛盾了。那就这样,DIFF>0开多单,形成死叉平掉多单。DIFF<0开空单,形成金叉平空单。帮忙再写一下谢谢
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2021-11-9 14:19 | 显示全部楼层


换成这部分。空头自行实现
if diff>0  and holding=0 then BEGIN
   buy(1,1,MARKET);
END

if  cross(diff,dea)=1 and holding>0 then BEGIN
        SELL(1,1,MARKET);
END

建议你理顺自己的交易思想,而不是凑效果,凡是凑效果和信号的,没有一个策略是能正常盈利的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 12:56 , Processed in 0.247055 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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