金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2418|回复: 12

均线交叉编写问题

[复制链接]

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-9-6
曾用名:
发表于 2024-5-13 13:32 | 显示全部楼层 |阅读模式
ma1:ref(ma(c,5),1);
ma2:ref(ma(c,10),1);
sjl:dataCOUNT(),NODRAW;
CON1:=ma1>ma2 and ref(ma1,1)<=ref(ma2,1) and ( ref(ma1,2)<ref(ma2,2) or ref(ma1,3)<ref(ma2,3));
if sjl <5  then
        m1jc:=sjl;
       
ELSE if CON1 then
    m1jc:=0;
else
    m1jc:=ref(m1jc,1)+1;
请问版主 M1JC没有数据  如何正确编写


回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-5-13 13:51 | 显示全部楼层
不支持 引用未定义的值.
m1jc:=ref(m1jc,1);

这种写法是不支持的.


可以定义其为一个全局变量:

ma1:ref(ma(c,5),1);
ma2:ref(ma(c,10),1);
sjl:datacount(),nodraw;
variable:m1jc:=0;
con1:=ma1>ma2 and ref(ma1,1)<=ref(ma2,1) and ( ref(ma1,2)<ref(ma2,2) or ref(ma1,3)<ref(ma2,3));

if sjl <5  then
        m1jc:=sjl;
      
else if con1 then
    m1jc:=0;
else
    m1jc:=m1jc+1;//这里不需要ref了,全局变量默认保留最近一次更新时候的值.
   
show:m1jc;

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

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-9-6
曾用名:
 楼主| 发表于 2024-5-13 14:17 | 显示全部楼层
好像还是不对 ,M1JC永远是1 我是要累积的
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-5-13 14:23 | 显示全部楼层
指标换成逐K模式.
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-9-6
曾用名:
 楼主| 发表于 2024-5-13 14:34 | 显示全部楼层
有没有办法改成序列计算 速度可以快很多
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-5-13 14:42 | 显示全部楼层
没有,只能逐K。

效率方面不是问题.
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-9-6
曾用名:
 楼主| 发表于 2024-5-30 14:08 | 显示全部楼层
如图所示 我想编写一个交叉策略  当cross(MA2,MA1)累计穿越数只要小于5周期 就累加到上一个cross(ma1,ma2)上 变成9个周期,麻烦版主给予帮助


补充内容 (2024-5-30 14:09):
后续cross(ma1,ma2)穿越周期继续累计

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-5-30 14:10 | 显示全部楼层
count(cross(ma2,ma1),100);

这个就表示100周期内穿越次数,至于你后面说得变成9个周期,抱歉没理解您得意思
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2021-9-6
曾用名:
 楼主| 发表于 2024-5-30 14:20 | 显示全部楼层
技术008 发表于 2024-5-30 14:10
count(cross(ma2,ma1),100);

这个就表示100周期内穿越次数,至于你后面说得变成9个周期,抱歉没理解您得 ...

打个比方 如图所示ma1>ma2持续周期为6 之后ma1<ma2的周期为3 那穿越周期小于5的自定义为不算完整穿越 那就是ma1>ma2合并为6+3=9周期,后续的继续ma1>ma2继续累计 所以等于9+8=17周期  重点是连续穿越周期数小于5都不能算完整穿越
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-5-30 14:33 | 显示全部楼层
那就barslast(ma1<ma2)
返回上次小于的情况到现在周期数,这个值就是连续大于的次数了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-28 01:42 , Processed in 0.156120 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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