金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 图表财富

求助,图表程序化转后台

[复制链接]

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-17 14:30 | 显示全部楼层
你把你完整支撑得逻辑描述下把
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-7-5
曾用名:
 楼主| 发表于 2024-7-17 14:37 | 显示全部楼层
金叉后,哪天收K线实体下穿5均线,不管阴阳,取低值为F1,后期5均线值下穿F1值卖出,因是上涨过程中,F1值被刷新,想取最高值

补充内容 (2024-7-17 15:37):
D2:=IF(H<REF(L,1) AND H<A1,MAX(C,O),MIN(C,O));
A2:=REF(A1,1)>REF(A1,2) AND REF(CLOSE,1)>=REF(A1,1) AND REF(OPEN,1)>=REF(A1,1)   ;
B2:=CROSS(A1,D2) AND A2 ;
C2:=BARSLAST(B2);
F1:=REF(D2,C2)

补充内容 (2024-7-17 15:40):
这一段就是写F1值的,现就是后面也有符合条件的F1,想比下哪个值大取最大值//
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-17 15:02 | 显示全部楼层
variable:f1=0;
if macd<0 and cross(ma(c,5),close) then f1:=low;
if cross(f1,ma(c,5)) then sell()
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-7-5
曾用名:
 楼主| 发表于 2024-7-17 15:41 | 显示全部楼层

这啥意思?
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-17 15:47 | 显示全部楼层
f1就是记录满足条件时候的最低值low
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-7-5
曾用名:
 楼主| 发表于 2024-7-17 16:14 | 显示全部楼层
技术008 发表于 2024-7-17 15:47
f1就是记录满足条件时候的最低值low

我主要是想把后续出符合条件的F1值如果小于前个F1值的过滤掉
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-17 16:15 | 显示全部楼层

variable:f1=0;
if macd<0 and cross(ma(c,5),close) and low>f1 then f1:=low;
if cross(f1,ma(c,5)) then sell()

那这样呢,如果low大于之前的f1才会保存
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-7-5
曾用名:
 楼主| 发表于 2024-7-17 16:55 | 显示全部楼层
技术008 发表于 2024-7-17 16:15
variable:f1=0;
if macdf1 then f1:=low;
if cross(f1,ma(c,5)) then sell()

不行,加了low>f1,信号就没了
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-7-17 16:59 | 显示全部楼层
那你看下信号条件了,这个大部分都是属于逻辑处理上问题
您可以自己想想如何构建逻辑
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-7-5
曾用名:
 楼主| 发表于 2025-2-23 12:22 | 显示全部楼层
VAR
    MA5, MA34, MA170: DOUBLE;  // 5日、34日、170日简单移动平均线
    MACDLine, SignalLine, MACDHist: DOUBLE;  // MACD指标
    UpTrend, DownTrend: BOOLEAN;  // 上涨趋势和下跌趋势标志
    UpCenterLine, DownCenterLine: DOUBLE;  // 上涨中枢线和下跌中枢线
    BuySignal1, BuySignal2, BuySignal3, BuySignal4: BOOLEAN;  // 买点信号
    SellSignal1, SellSignal2, SellSignal3: BOOLEAN;  // 卖点信号

BEGIN
    // 计算移动平均线
    MA5 := MA(CLOSE, 5);
    MA34 := MA(CLOSE, 34);
    MA170 := MA(CLOSE, 170);

    // 计算MACD指标
    MACDLine := EMA(CLOSE, 12) - EMA(CLOSE, 26);
    SignalLine := EMA(MACDLine, 9);
    MACDHist := MACDLine - SignalLine;

    // 判断趋势
    UpTrend := MA5 > MA34 AND MA34 > MA170;
    DownTrend := MA5 < MA34 AND MA34 < MA170;

    // 上涨趋势中寻找MACD顶背离及上涨中枢线
    IF UpTrend THEN
    BEGIN
        // MACD顶背离判断
        IF MACDHist < 0 AND MACDLine < REF(MACDLine, 1) AND CLOSE > REF(CLOSE, 1) THEN
        BEGIN
            // 顶背离信号
        END;

        // 上涨中枢线判断
        IF CROSS(MA5, MA34) THEN
        BEGIN
            IF CLOSE >= MA5 THEN
            BEGIN
                IF CLOSE < MA5 THEN
                    UpCenterLine := LOW;
                ELSE IF OPEN < REF(CLOSE, 1) AND OPEN < MA5 THEN
                    UpCenterLine := HIGH;
            END;
        END;

        // 更新上涨中枢线
        IF UpCenterLine > REF(UpCenterLine, 1) THEN
            UpCenterLine := UpCenterLine;
    END;

    // 下跌趋势中寻找MACD底背离及下跌中枢线
    IF DownTrend THEN
    BEGIN
        // MACD底背离判断
        IF MACDHist > 0 AND MACDLine > REF(MACDLine, 1) AND CLOSE < REF(CLOSE, 1) THEN
        BEGIN
            // 底背离信号
        END;

        // 下跌中枢线判断
        IF CROSS(MA34, MA5) THEN
        BEGIN
            IF CLOSE <= MA5 THEN
            BEGIN
                IF CLOSE > MA5 THEN
                    DownCenterLine := HIGH;
                ELSE IF OPEN > REF(CLOSE, 1) AND OPEN > MA5 THEN
                    DownCenterLine := LOW;
            END;
        END;

        // 更新下跌中枢线
        IF DownCenterLine < REF(DownCenterLine, 1) THEN
            DownCenterLine := DownCenterLine;
    END;

    // 买点判断
    BuySignal1 := MACDHist > 0 AND CROSS(MA5, DownCenterLine);  // 买点1
    BuySignal2 := CROSS(MA5, MA34);  // 买点2
    BuySignal3 := REF(CLOSE, 1) < UpCenterLine AND MA5 >= UpCenterLine AND CLOSE > MA5;  // 买点3
    BuySignal4 := CROSS(MA5, UpCenterLine);  // 买点4

    // 卖点判断
    SellSignal1 := MACDHist < 0 AND CROSS(MA5, UpCenterLine);  // 卖点1
    SellSignal2 := CROSS(MA34, MA5);  // 卖点2
    SellSignal3 := CROSS(MA5, DownCenterLine);  // 卖点3

    // 输出买卖信号
    IF BuySignal1 THEN
        BUY('买点1');
    IF BuySignal2 THEN
        BUY('买点2');
    IF BuySignal3 THEN
        BUY('买点3');
    IF BuySignal4 THEN
        BUY('买点4');

    IF SellSignal1 THEN
        SELL('卖点1');
    IF SellSignal2 THEN
        SELL('卖点2');
    IF SellSignal3 THEN
        SELL('卖点3');
END.

补充内容 (2025-2-23 12:28):
老师,提示语句末尾缺少分号无法编辑

补充内容 (2025-2-23 12:30):
哪里出问题,请帮忙解决

补充内容 (2025-2-24 10:49):
能幸苦下帮我解决下
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-18 00:52 , Processed in 0.213681 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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