金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 189|回复: 1

老师,麻烦把文华的改成金字塔回测的

[复制链接]

5

主题

11

帖子

11

积分

Rank: 1

等级: 新手上路

注册:
2025-2-9
曾用名:
发表于 2025-2-9 18:30 | 显示全部楼层 |阅读模式
以下是文华T8的策略,请改成金字塔
/* MACD+KDJ复合策略 */
// 参数设置
MACD_SHORT:=12;    // MACD短周期
MACD_LONG:=26;     // MACD长周期
MACD_MID:=9;       // MACD信号周期
KDJ_N:=9;          // KDJ周期
KDJ_M1:=3;         // KDJ平滑系数1
KDJ_M2:=3;         // KDJ平滑系数2
MA_LENGTH:=20;     // 趋势过滤均线周期

// MACD计算
DIF:EMA(CLOSE,MACD_SHORT)-EMA(CLOSE,MACD_LONG);
DEA:EMA(DIF,MACD_MID);
MACD:(DIF-DEA)*2,COLORSTICK;

// KDJ计算
RSV:=(CLOSE-LLV(LOW,KDJ_N))/(HHV(HIGH,KDJ_N)-LLV(LOW,KDJ_N))*100;
K:SMA(RSV,KDJ_M1,1);
D:SMA(K,KDJ_M2,1);
J:3*K-2*D;

// 趋势过滤
MA_TREND:=MA(CLOSE,MA_LENGTH);

// 复合交易信号
BUY_CONDITION1:=CROSS(DIF,DEA) AND DIF>0;                // MACD水上金叉
BUY_CONDITION2:=CROSS(K,D) AND J<30;                     // KDJ超卖区金叉
SELL_CONDITION1:=CROSS(DEA,DIF) AND DIF<0;               // MACD水下死叉
SELL_CONDITION2:=CROSS(D,K) AND J>70;                    // KDJ超买区死叉

// 多空信号组合
LONG_SIGNAL:=BUY_CONDITION1 AND BUY_CONDITION2 AND CLOSE>MA_TREND;
SHORT_SIGNAL:=SELL_CONDITION1 AND SELL_CONDITION2 AND CLOSE<MA_TREND;

// 交易指令
LONG_SIGNAL,BPK;
SHORT_SIGNAL,SPK;
MULTI_PERIOD:LLV(LOW,3);   // 近三日最低价
SHORT_PERIOD:HHV(HIGH,3); // 近三日最高价
C<REF(MULTI_PERIOD,BARSBK),SP;
C>REF(SHORT_PERIOD,BARSSK),BP;
AUTOFILTER;


回复

使用道具 举报

36

主题

9364

帖子

9374

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-10 00:00 | 显示全部楼层
// 参数设置
MACD_SHORT:=12;    // MACD短周期
MACD_LONG:=26;     // MACD长周期
MACD_MID:=9;       // MACD信号周期
KDJ_N:=9;          // KDJ周期
KDJ_M1:=3;         // KDJ平滑系数1
KDJ_M2:=3;         // KDJ平滑系数2
MA_LENGTH:=20;     // 趋势过滤均线周期

// MACD计算
DIF:EMA(CLOSE,MACD_SHORT)-EMA(CLOSE,MACD_LONG);
DEA:EMA(DIF,MACD_MID);
MACD:(DIF-DEA)*2,COLORSTICK;

// KDJ计算
RSV:=(CLOSE-LLV(LOW,KDJ_N))/(HHV(HIGH,KDJ_N)-LLV(LOW,KDJ_N))*100;
K:SMA(RSV,KDJ_M1,1);
D:SMA(K,KDJ_M2,1);
J:3*K-2*D;

// 趋势过滤
MA_TREND:=MA(CLOSE,MA_LENGTH);

// 复合交易信号
BUY_CONDITION1:=CROSS(DIF,DEA) AND DIF>0;                // MACD水上金叉
BUY_CONDITION2:=CROSS(K,D) AND J<30;                     // KDJ超卖区金叉
SELL_CONDITION1:=CROSS(DEA,DIF) AND DIF<0;               // MACD水下死叉
SELL_CONDITION2:=CROSS(D,K) AND J>70;                    // KDJ超买区死叉

// 多空信号组合
LONG_SIGNAL:=BUY_CONDITION1 AND BUY_CONDITION2 AND CLOSE>MA_TREND;
SHORT_SIGNAL:=SELL_CONDITION1 AND SELL_CONDITION2 AND CLOSE<MA_TREND;

// 交易指令
MULTI_PERIOD:=LLV(LOW,3);   // 近三日最低价
SHORT_PERIOD:=HHV(HIGH,3); // 近三日最高价
if C<REF(MULTI_PERIOD,enterbars) then sell(1,holding,marketr);
if C>REF(SHORT_PERIOD,enterbars) then sellshort(1,holding,marketr);


if LONG_SIGNAL and holding<=0  then
begin
        sellshort(1,holding,marketr);
        buy(1,1,marketr);
END

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-12 12:31 , Processed in 0.189363 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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