金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1557|回复: 5

七均线系统如何只有在满足条件时显示才能均线指标公式

[复制链接]

32

主题

1537

帖子

1537

积分

等级: 免费版

注册:
2021-6-5
曾用名:
发表于 2023-4-7 08:13 | 显示全部楼层 |阅读模式
只显示最高价或最低价在均线上或下的均线 截图202304070811446798.png

MA10:=MA(C,10);
hx:="T1.showH",COLORRED;
lx:="T1.showL",COLORGREEN;

lzh:="T1.lzh";
hzl:="T1.hzl";



跳高:=L>MA10 AND L>REF(H,1) AND REF(H,1)<REF(MA10,1);
跳低:=H<MA10 AND H<REF(L,1) AND REF(L,1)>REF(MA10,1) ;
高突破:=HZL OR 跳高;
低突破:=LZH OR 跳低;


LEN1:=BARSLAST(高突破)+1;
LEN2:=BARSLAST(低突破)+1;

高过滤:=(高突破 AND REF(LEN1,1)>REF(LEN2,1));
低过滤:=(低突破 AND REF(LEN2,1)>REF(LEN1,1));
高0:=BACKSET(高过滤,4);
低0:=BACKSET(低过滤,4);
高1:=CROSS(高0,0.5);
低1:=CROSS(低0,0.5);
距上高位:=BARSLAST(高1),NODRAW;
距上低位:=BARSLAST(低1),NODRAW;
低点:=IF(距上高位 > 距上低位, LLV(L,距上低位+1)=L,0);
S2:=FILTERX(低点 AND 距上高位>距上低位,距上低位+1);
高点:=IF(距上高位 < 距上低位, HHV(H,距上高位+1)=H,0);
S1:=FILTERX(高点 AND 距上低位>距上高位 ,距上高位+1);
{DRAWLINE(低,L,高,H,0),COLORYELLOW,LINETHICK1;
DRAWLINE(高,H,低,L,0),COLORYELLOW,LINETHICK1;}




S1A:REF(S2,1)>0 AND S2=0 ,NODRAW;
S2A:REF(S1,1)>0 AND S1=0 ,NODRAW;



日:IF(PERIOD=5 OR PERIOD=4,MA(C,400),DRAWNULL),COLORRED;
判断日:IF((ABS((日-L)/日)< 0.008 AND S1A) OR (ABS((日-H)/日)< 0.008 AND S2A),日,DRAWNULL),COLORMAGENTA,DOTLINE,LINETHICK2;
日60:IF(PERIOD=5,MA(C,400/4),DRAWNULL);
判断日60:IF((ABS((日60-L)/日60)<0.008 AND S1A) OR(ABS((日60-H)/日60)<0.008 AND S2A),日60,DRAWNULL),COLORLIMAGENTA,DOTLINE,LINETHICK2;
日30:IF(PERIOD=5,MA(C,400/8),DRAWNULL);
判断日30:IF((ABS((日30-L)/日30)<0.008 AND S1A) OR (ABS((日30-H)/日30)<0.008 AND S2A),日30,DRAWNULL),COLORWHITE,DOTLINE,LINETHICK2;
日15:IF(PERIOD=5,MA(C,400/16),DRAWNULL);
判断日15:IF((ABS((日15-L)/日15)<0.008 AND S1A) OR(ABS((日15-H)/日15)<0.008 AND S2A),日15,DRAWNULL),COLORLIRED,DOTLINE,LINETHICK2;
日10:IF(PERIOD=5,MA(C,400/24),DRAWNULL);
判断日10:IF((ABS((日10-L)/日10)<0.008 AND S1A) OR(ABS((日10-H)/日60)<0.008 AND S2A),日10,DRAWNULL),COLORLIMAGENTA,DOTLINE,LINETHICK2;
日5:IF(PERIOD=5,MA(C,400/48),DRAWNULL);
判断日5:IF((ABS((日5-L)/日5)<0.008 AND S1A) OR(ABS((日5-H)/日5)<0.008 AND S2A),日5,DRAWNULL),COLORLIMAGENTA,DOTLINE,LINETHICK2;
日3:IF(PERIOD=5,MA(C,400/80),DRAWNULL);
判断日3:IF((ABS((日3-L)/日3)<0.008 AND S1A) OR(ABS((日3-H)/日3)<0.008 AND S2A),日3,DRAWNULL),COLORLIMAGENTA,DOTLINE,LINETHICK2;
日120:IF(PERIOD=5,MA(C,400/2),DRAWNULL);
判断日120:IF((ABS((日120-L)/日120)<0.008 AND S1A) OR(ABS((日120-H)/日120)<0.008 AND S2A),日120,DRAWNULL),COLORYELLOW,DOTLINE,LINETHICK2;


六十分:IF(PERIOD=4,MA(C,400),DRAWNULL);
六十分30:IF(PERIOD=4,MA(C,400/2),DRAWNULL);
六十分15:IF(PERIOD=4,MA(C,400/4),DRAWNULL);
六十分10:IF(PERIOD=4,MA(C,400/6),DRAWNULL);
六十分5:IF(PERIOD=4,MA(C,400/12),DRAWNULL);
六十分3:IF(PERIOD=4,MA(C,400/20),DRAWNULL);
六十分1:IF(PERIOD=4,MA(C,400/60),DRAWNULL);


三十分6:IF(PERIOD=3,MA(C,400*2),DRAWNULL);
三十分:IF(PERIOD=3,MA(C,400),DRAWNULL);
三十分15:IF(PERIOD=3,MA(C,400/2),DRAWNULL);
三十分10:IF(PERIOD=3,MA(C,400/3),DRAWNULL);
三十分5:IF(PERIOD=3,MA(C,400/6),DRAWNULL);
三十分3:IF(PERIOD=3,MA(C,400/10),DRAWNULL);
三十分1:IF(PERIOD=3,MA(C,400/30),DRAWNULL);


十五分:IF(PERIOD=2,MA(C,400),DRAWNULL);
十五分10:IF(PERIOD=2,MA(C,400/3*2),DRAWNULL);
十五分5:IF(PERIOD=2,MA(C,400/3),DRAWNULL);
十五分3:IF(PERIOD=2,MA(C,400/5),DRAWNULL);
十五分1:IF(PERIOD=2,MA(C,400/15),DRAWNULL);


十分:IF(PERIOD=8,MA(C,400),DRAWNULL);
十分5:IF(PERIOD=8,MA(C,400/2),DRAWNULL);
十分3:IF(PERIOD=8,MA(C,400/3.333),DRAWNULL);
十分1:IF(PERIOD=8,MA(C,400/10),DRAWNULL);


五分:IF(PERIOD=1,MA(C,400),DRAWNULL);
五分3:IF(PERIOD=1,MA(C,400/5*3),DRAWNULL);
五分1:IF(PERIOD=1,MA(C,400/5),DRAWNULL);


三分:IF(PERIOD=15 ,MA(C,400),DRAWNULL);
三分1:IF(PERIOD=15 ,MA(C,400/3),DRAWNULL);


一分:IF(PERIOD=0,MA(C,400),DRAWNULL);
一分30:IF(PERIOD=0,MA(C,200),DRAWNULL);

回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-7 11:06 | 显示全部楼层
你这个可以在你指标输出的代码上做改进,比如:
MA1:=MA(C,400/2);
//最高价大于均线 或者最低价小于均线
六十分30:IF(PERIOD=4 and (MA1<H or MA1>L),MA1,DRAWNULL);

均线输出条件增加一个判断就行了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

32

主题

1537

帖子

1537

积分

等级: 免费版

注册:
2021-6-5
曾用名:
 楼主| 发表于 2023-4-9 09:11 | 显示全部楼层
技术009 发表于 2023-4-7 11:06
你这个可以在你指标输出的代码上做改进,比如:
MA1:=MA(C,400/2);
//最高价大于均线 或者最低价小于均线 ...

OK Thanks

PERIOD函数好像没有3分和10分的,那怎么设定这二个周期。
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-4-10 15:23 | 显示全部楼层
完整的周期判断范例,可以参考下面这个代码的处理方式。用DATATYPE处理的范围更广。
[PEL] 复制代码
IF DATATYPE=0 THEN 分笔:1;
IF DATATYPE=1 THEN 1分钟:1;
IF DATATYPE=2 THEN 5分钟:5;
IF DATATYPE=3 THEN 15分钟:15;
IF DATATYPE=4 THEN 30分钟:30;
IF DATATYPE=5 THEN 60分钟:60;
IF DATATYPE=6 THEN 日:1;
IF DATATYPE=7 then 周:1;
IF DATATYPE=8 then 月:1;
IF DATATYPE=9 THEN 年:1;
IF DATATYPE=12 THEN 季度:1;
IF DATATYPE=15 THEN 半年:1;
IF DATATYPE=16 then 节气:1;
IF DATATYPE=17 THEN 3分钟:3;
IF DATATYPE=18 THEN 10分钟:10;
IF DATATYPE=10 THEN N日:DATATYPEMORE(0);
IF DATATYPE=11 THEN N小时:DATATYPEMORE(1);
IF DATATYPE=13 THEN N分钟:DATATYPEMORE(2);
IF DATATYPE=14 THEN N秒:DATATYPEMORE(3);
IF DATATYPE=19 THEN N笔:DATATYPEMORE(4);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

32

主题

1537

帖子

1537

积分

等级: 免费版

注册:
2021-6-5
曾用名:
 楼主| 发表于 2023-4-21 07:42 | 显示全部楼层
技术009 发表于 2023-4-10 15:23
完整的周期判断范例,可以参考下面这个代码的处理方式。用DATATYPE处理的范围更广。
[mw_shl_code=pel,tru ...

截图202304210740341342.png 抱歉,通不过
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-4-21 09:41 | 显示全部楼层
你第25行开始的参数数量不对。if最为函数只能是IF(条件,值1,值2)
你这种表达,直接用条件语句

if  条件1 then  begin
......
......
end

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 17:29 , Processed in 0.252319 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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