金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 74|回复: 1

通达信代码转成金字塔

[复制链接]

18

主题

60

帖子

70

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2024-10-23 11:25 | 显示全部楼层 |阅读模式
源码分享:TDX_SuperTrend(通达信指标 - 超级趋势分段指示,多空转换 <群友转译>)[color=rgba(0, 0, 0, 0.3)]原创 一语银簪 照胆源码荟
2024年05月01日 20:56 广东
基本思想:

  超级趋势指标(SUPERTREN)是一种技术分析工具,旨在帮助交易者识别市场的趋势方向。该指标基于移动平均线和波动性的概念,可以帮助交易者确定趋势的强度和方向。
  SUPERTREN指标的计算方法如下:    1. 计算N周期的真实范围(True Range):真实范围通常由最高价、最低价和前一日收盘价之间的最大值组成。    2. 计算平均真实范围(Average True Range,ATR):对N周期的真实范围进行平均计算,通常采用指数移动平均或简单移动平均。    3. 计算上升趋势线(Upper Trend Line)和下降趋势线(Lower Trend Line):上升趋势线通常是基于最高价和ATR计算得出的,下降趋势线则是基于最低价和ATR计算得出的。    4. 根据上升趋势线和下降趋势线的走势,确定趋势的方向和强度。    SUPERTREN指标的使用可以帮助交易者更好地把握市场趋势,从而做出更明智的交易决策。然而,作为任何技术分析工具,SUPERTREN指标也有其局限性,不能保证100%的准确性,交易者在使用时需要结合其他因素进行综合分析和判断。    --- by:chatgpt-3.5  
版本内容:       

  SuperTrend1  --- 未济   SuperTrend2  --- 梦醒时分    注意:请在日线周期下使用。   
效果图:(示例)
图1 SuperTrend1  

图2 SuperTrend2  
研究方向:       

  1. 形态的应用.   2. 迁移 TB 交易公式.   

源码[1/2]:公式1+1

N:=15;M:=3;TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));UP:=(H+L)/2+MA(TR1,N)*M;DN:=(H+L)/2-MA(TR1,N)*M;L1:=REF(UP,BARSLAST(UP<=REF(UP,1)));L2:=LLV(UP,N*1.5);LL:=IF(L2<>REF(L2,1) AND L1<REF(L1,1),L1,IF(L1=L2,L1,L2));S1:=BARSLAST(CROSS(0.5,UP=LL))+1;S2:=CROSS(COUNT((CROSS(C,LL) OR CROSS(C,REF(LL,2))) AND UP>LL,S1),0.5);A6:=BARSLAST(S2);B6:=BARSLAST(CROSS(HHV(DN,A6+1),C));BY:=CROSS(B6,A6);SL:=CROSS(A6,B6);
SUPERTREN:=IF(B6>A6,DRAWNULL,LLV(UP,BARSLAST(SL)+1)),COLORGREEN,LINETHICK2;
A:=IF(B6>A6,HHV(DN,BARSLAST(BY)+1),DRAWNULL),COLORRED,LINETHICK2;
AA:IF(H>SUPERTREN,DRAWNULL,IF(B6<A6,LLV(UP,BARSLAST(SL)+1),DRAWNULL)),COLORGREEN,LINETHICK2;BB:IF(L<A,DRAWNULL,IF(B6>A6,HHV(DN,BARSLAST(BY)+1),DRAWNULL)),COLORRED,LINETHICK2T;
DRAWNUMBER(B6>A6&&ISLASTBAR,HHV(DN,BARSLAST(BY)+1),HHV(DN,BARSLAST(BY)+1));DRAWNUMBER(B6<A6&&ISLASTBAR,LLV(UP,BARSLAST(SL)+1),LLV(UP,BARSLAST(SL)+1));

{ ---------------------------- }

N:=15;M:=3;TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));UP:=(H+L)/2+MA(TR1,N)*M;DN:=(H+L)/2-MA(TR1,N)*M;L1:=REF(UP,BARSLAST(UP<=REF(UP,1)));L2:=LLV(UP,N*1.5);LL:=IF(L2<>REF(L2,1) AND L1<REF(L1,1),L1,IF(L1=L2,L1,L2));S1:=BARSLAST(CROSS(0.5,UP=LL))+1;S2:=CROSS(COUNT((CROSS(C,LL) OR CROSS(C,REF(LL,2))) AND UP>LL,S1),0.5);A6:=BARSLAST(S2);B6:=BARSLAST(CROSS(HHV(DN,A6+1),C));BY:=CROSS(B6,A6);SL:=CROSS(A6,B6);
SUPERTREN:=IF(B6>A6,DRAWNULL,LLV(UP,BARSLAST(SL)+1));
A:=IF(B6>A6,HHV(DN,BARSLAST(BY)+1),DRAWNULL);
AA:IF(H>SUPERTREN,DRAWNULL,IF(B6<A6,LLV(UP,BARSLAST(SL)+1),DRAWNULL));BB:IF(L<A,DRAWNULL,IF(B6>A6,HHV(DN,BARSLAST(BY)+1),DRAWNULL));
DRAWNUMBER(B6<A6&&ISLASTBAR,LLV(UP,BARSLAST(SL)+1),LLV(UP,BARSLAST(SL)+1)),COLORGREEN;DRAWNUMBER(B6>A6&&ISLASTBAR,HHV(DN,BARSLAST(BY)+1),HHV(DN,BARSLAST(BY)+1)),COLORRED;

源码[2/2]:翻译

N赋值:15M赋值:3TR1赋值:(最高价-最低价)和1日前的收盘价-最高价的绝对值的较大值和1日前的收盘价-最低价的绝对值的较大值UP赋值:(最高价+最低价)/2+TR1的N日简单移动平均*MDN赋值:(最高价+最低价)/2-TR1的N日简单移动平均*ML1赋值:上次UP<=1日前的UP距今天数日前的UPL2赋值:N*1.5日内UP的最低值LL赋值:如果L2不等于1日前的L2ANDL1<1日前的L1,返回L1,否则返回如果L1=L2,返回L1,否则返回L2S1赋值:上次0.5上穿UP=LL距今天数+1S2赋值:统计S1日中满足(收盘价上穿LLORCROSS(收盘价,2日前的LL))ANDUP>LL的天数上穿0.5A6赋值:上次S2距今天数B6赋值:上次A6+1日内DN的最高值上穿收盘价距今天数BY赋值:B6上穿A6SL赋值:A6上穿B6SUPERTREN赋值:如果B6>A6,返回NULL,否则返回上次SL距今天数+1日内UP的最低值,画绿色,线宽为2,NOTEXTA赋值:如果B6>A6,返回上次BY距今天数+1日内DN的最高值,否则返回NULL,画红色,线宽为2,NOTEXT输出AA:如果最高价>SUPERTREN,返回NULL,否则返回如果B6<A6,返回上次SL距今天数+1日内UP的最低值,否则返回NULL,画绿色,线宽为2,NOTEXT输出布林极限:如果最低价<A,返回NULL,否则返回如果B6>A6,返回上次BY距今天数+1日内DN的最高值,否则返回NULL,画红色,线宽为2,NOTEXT当满足条件B6>A6并且是否最后一个周期时,在上次BY距今天数+1日内DN的最高值位置书写数字当满足条件B6<A6并且是否最后一个周期时,在上次SL距今天数+1日内UP的最低值位置书写数字

回复

使用道具 举报

1

主题

4260

帖子

4260

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-10-23 13:16 | 显示全部楼层
本帖最后由 资深技术05 于 2024-10-23 13:21 编辑

供参考:

[PEL] 复制代码
N:=15;
M:=3;
TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
UP:=(H+L)/2+MA(TR1,N)*M;
DN:=(H+L)/2-MA(TR1,N)*M;
L1:=REF(UP,BARSLAST(UP<=REF(UP,1)));
L2:=LLV(UP,N*1.5);
LL:=IF(L2<>REF(L2,1) AND L1<REF(L1,1),L1,IF(L1=L2,L1,L2));
S1:=BARSLAST(CROSS(0.5,UP=LL))+1;
S2:=CROSS(COUNT((CROSS(C,LL) OR CROSS(C,REF(LL,2))) AND UP>LL,S1),0.5);
A6:=BARSLAST(S2);
B6:=BARSLAST(CROSS(HHV(DN,A6+1),C));
BY:=CROSS(B6,A6);
SL:=CROSS(A6,B6);
SUPERTREN:IF(B6>A6,DRAWNULL,LLV(UP,BARSLAST(SL)+1)),COLORGREEN,LINETHICK2;
A:IF(B6>A6,HHV(DN,BARSLAST(BY)+1),DRAWNULL),COLORRED,LINETHICK2;
AA:IF(H>SUPERTREN,DRAWNULL,IF(B6<A6,LLV(UP,BARSLAST(SL)+1),DRAWNULL)),COLORGREEN,LINETHICK2;
BB:IF(L<A,DRAWNULL,IF(B6>A6,HHV(DN,BARSLAST(BY)+1),DRAWNULL)),COLORRED,LINETHICK2T;
DRAWNUMBER(B6>A6&&ISLASTBAR,HHV(DN,BARSLAST(BY)+1),HHV(DN,BARSLAST(BY)+1),7,COLORGREEN,0);
DRAWNUMBER(B6<A6&&ISLASTBAR,LLV(UP,BARSLAST(SL)+1),LLV(UP,BARSLAST(SL)+1),7,COLORRED,0);
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 00:49 , Processed in 0.369591 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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