金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 220|回复: 18

我在文华WH6有一个交易系统代码,请帮转化在金字塔实盘用

[复制链接]

1

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2025-9-7
曾用名:
发表于 2025-9-7 22:13 | 显示全部楼层 |阅读模式
LHS:=IFELSE(DATE<220202,1,1);
MA3:=MA(C,170);
DRAWGBK(MA3>C,RGB(0,0,0),RGB(9,60,1),0);
DRAWGBK(MA3<C,RGB(0,0,0),RGB(62,1,1),0);
DRAWGBK(MA3=0,RGB(0,0,0),RGB(0,0,0),0);
HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0)*LHS,LINETHICK2;
LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0)*LHS,LINETHICK2;
HH2:=VALUEWHEN(HH1>0,HH1)*LHS,LINETHICK2;
LL2:=VALUEWHEN(LL1>0,LL1)*LHS,LINETHICK2;
K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0))*LHS,LINETHICK2;
K2:=VALUEWHEN(K1<>0,K1)*LHS,LINETHICK2;
G:=IFELSE(K2=1,HH2,LL2)*LHS,LINETHICK2;
G1:=VALUEWHEN(ISLASTBAR,G)*LHS,LINETHICK2;
DRAWNUMBER(L>0,G1,G1,0,COLORCYAN);
W1:=K2*LHS,LINETHICK2;
W2:=OPEN-CLOSE*LHS,LINETHICK2;
HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE)*LHS,LINETHICK2;
LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE)*LHS,LINETHICK2;
DRAWLINE(W1=1,HIGH,W1=1,HT,COLORCYAN);
DRAWLINE(W1=1,LOW,W1=1,LT,COLORCYAN);
DRAWLINE(W1=-3,HIGH,W1=-3,HT,COLORRED);
DRAWLINE(W1=-3,LOW,W1=-3,LT,COLORRED);
STICKLINE(W1>0,OPEN,CLOSE,COLORCYAN,1);
STICKLINE(W1<=0,OPEN,CLOSE,COLORRED,1);
STICKLINE(W2>0&&W1<=0,OPEN,CLOSE,COLORRED,0);
STICKLINE(W2>0&&W1>0,OPEN,CLOSE,COLORCYAN,0);
DRAWLINE(W1=1&&REF(W1,1)=1,G,W1=1&&REF(W1,1)=1,REF(G,1),COLORGREEN),DOT;
DRAWLINE(W1=-3&&REF(W1,1)=-3,G,W1=-3&&REF(W1,1)=-3,REF(G,1),COLORYELLOW),DOT;
DRAWSL(K2=1,G,0,1,0,COLORGREEN),DOT;
DRAWSL(K2=-3,G,0,1,0,COLORYELLOW),DOT;
DRAWTEXT(CROSS(W1,0),G,'空'),COLORGREEN,ALIGN0,FONTSIZE16;
DRAWTEXT(CROSS(0,W1),G,'多'),COLORFFDD00,ALIGN0,FONTSIZE16;
N3:=BARSLAST(CROSS(W1>0,0.5))*LHS,LINETHICK2;
N4:=BARSLAST(CROSS(W1<=0,0.5))*LHS,LINETHICK2;
HH3:=IF(W1<=0,REF(HV(H,N4),N3),NULL),COLORYELLOW,DOT;
LL3:=IF(W1>0,REF(LV(L,N3),N4),NULL),COLORGREEN,DOT;
B:=CROSSUP(C,HH3)||REF(ISNULL(HH3),1)&&C>HH3;
S:=CROSSDOWN(C,LL3)||REF(ISNULL(LL3),1)&&C<LL3;
DRAWICON(B=1,L, 'ICO108'),COLORFF0000;
DRAWICON(S=1,H, 'ICO109'),COLOR00FFFF;
LC:= REF(CLOSE,1)*LHS,LINETHICK2;
RSI:=SMA(MAX(CLOSE-LC, 0), 6, 1)/SMA(ABS(CLOSE-LC), 6, 1)*100*LHS,LINETHICK2;
DRAWTEXT(FILTER(CROSS(RSI,30) AND (CLOSE>REF(HIGH,1.5)),5),LOW,'空减'),COLORGREEN,FONTSIZE18;
DRAWTEXT(FILTER(CROSS(70,RSI) AND (CLOSE<REF(LOW,1.5)),5),HIGH,'多减'),COLORYELLOW,FONTSIZE18;
以上代码,是文华WH6里面运行的期货交易系统,想请技术老师帮我改成可以回测也可以实盘的程序。
程序代码涉及的参数和开平手数想要自定义,
做多,第一根红柱且多字出现,开始做多,做到空字出现,多单平仓后立刻开空,K线走完再判断。
做空,第一根K线的空字出现,开始做空,做到多字多项,空单平仓后立刻开多,K线走完再判断。
要求,不能同时持仓多空单,都是多单平仓后开空,空单平仓后开多,要在同一根K线走完的时候,完成多单平仓同时空单开仓或空单平仓同时多单开仓。(例如截图)


本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-8 09:09 | 显示全部楼层
LHS:=IFELSE(DATE<220202,1,1);
MA3:=MA(C,170);
DRAWGBK(MA3>C,RGB(0,0,0),RGB(9,60,1),0);
DRAWGBK(MA3<C,RGB(0,0,0),RGB(62,1,1),0);
DRAWGBK(MA3=0,RGB(0,0,0),RGB(0,0,0),0);
HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0)*LHS,LINETHICK2;
LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0)*LHS,LINETHICK2;
HH2:=VALUEWHEN(HH1>0,HH1)*LHS,LINETHICK2;
LL2:=VALUEWHEN(LL1>0,LL1)*LHS,LINETHICK2;
K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0))*LHS,LINETHICK2;
K2:=VALUEWHEN(K1<>0,K1)*LHS,LINETHICK2;
G:=IFELSE(K2=1,HH2,LL2)*LHS,LINETHICK2;
G1:=VALUEWHEN(ISLASTBAR,G)*LHS,LINETHICK2;
DRAWNUMBER(L>0,G1,G1,0,COLORCYAN);
W1:=K2*LHS,LINETHICK2;
W2:=OPEN-CLOSE*LHS,LINETHICK2;
HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE)*LHS,LINETHICK2;
LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE)*LHS,LINETHICK2;
DRAWLINE(W1=1,HIGH,W1=1,HT,COLORCYAN);
DRAWLINE(W1=1,LOW,W1=1,LT,COLORCYAN);
DRAWLINE(W1=-3,HIGH,W1=-3,HT,COLORRED);
DRAWLINE(W1=-3,LOW,W1=-3,LT,COLORRED);
STICKLINE(W1>0,OPEN,CLOSE,COLORCYAN,1);
STICKLINE(W1<=0,OPEN,CLOSE,COLORRED,1);
STICKLINE(W2>0&&W1<=0,OPEN,CLOSE,COLORRED,0);
STICKLINE(W2>0&&W1>0,OPEN,CLOSE,COLORCYAN,0);
DRAWLINE(W1=1&&REF(W1,1)=1,G,W1=1&&REF(W1,1)=1,REF(G,1),COLORGREEN),DOT;
DRAWLINE(W1=-3&&REF(W1,1)=-3,G,W1=-3&&REF(W1,1)=-3,REF(G,1),COLORYELLOW),DOT;
DRAWSL(K2=1,G,0,1,0,COLORGREEN),DOT;
DRAWSL(K2=-3,G,0,1,0,COLORYELLOW),DOT;
DRAWTEXT(CROSS(W1,0),G,'空'),COLORGREEN,ALIGN0,FONTSIZE16;
DRAWTEXT(CROSS(0,W1),G,'多'),COLORFFDD00,ALIGN0,FONTSIZE16;
N3:=BARSLAST(CROSS(W1>0,0.5))*LHS,LINETHICK2;
N4:=BARSLAST(CROSS(W1<=0,0.5))*LHS,LINETHICK2;
HH3:=IF(W1<=0,REF(HhV(H,N4),N3),NULL),COLORYELLOW,DOT;
LL3:=IF(W1>0,REF(LlV(L,N3),N4),NULL),COLORGREEN,DOT;
B:=CROSS(C,HH3)||REF(VALID(HH3),1)&&C>HH3;
S:=CROSS(LL3,C)||REF(VALID(LL3),1)&&C<LL3;
DRAWICON(B=1,L, 'ICO108'),COLORFF0000;
DRAWICON(S=1,H, 'ICO109'),COLOR00FFFF;
LC:= REF(CLOSE,1)*LHS,LINETHICK2;
RSI:=SMA(MAX(CLOSE-LC, 0), 6, 1)/SMA(ABS(CLOSE-LC), 6, 1)*100*LHS,LINETHICK2;
DRAWTEXT(FILTER(CROSS(RSI,30) AND (CLOSE>REF(HIGH,1.5)),5),LOW,'空减'),COLORGREEN,FONTSIZE18;
DRAWTEXT(FILTER(CROSS(70,RSI) AND (CLOSE<REF(LOW,1.5)),5),HIGH,'多减'),COLORYELLOW,FONTSIZE18;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2025-9-7
曾用名:
 楼主| 发表于 2025-9-8 09:18 | 显示全部楼层
技术老师您好,我复制您给的代码去金字塔,回测不会开仓平仓啊,请看看

本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-8 09:19 | 显示全部楼层
这个里面时没有交易的,它本身只是一个指标不时交易策略

要写成策略请给出开平仓条件文字说明
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2025-9-7
曾用名:
 楼主| 发表于 2025-9-8 09:25 | 显示全部楼层
技术008 发表于 2025-9-8 09:19
这个里面时没有交易的,它本身只是一个指标不时交易策略

要写成策略请给出开平仓条件文字说明

做多,蓝柱转红柱的第一根红柱且多字出现,开始做多,做到空字出现,多单平仓后立刻开空,K线走完再判断。
做空,红柱转蓝柱的第一根K线的空字出现,开始做空,做到多字出现,空单平仓后立刻开多,K线走完再判断。
要求,不能同时持仓多空单,都是多单平仓后开空,空单平仓后开多,要在同一根K线走完时,完成多单平仓同时空单开仓或空单平仓同时多单开仓。(配上截图举例子)

补充内容 (2025-9-8 09:26):
本贴的开始我发代码给您的地方有开平仓例子的截图,请看看
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-8 09:28 | 显示全部楼层
麻烦把条件说明下,比如哪个变量大于或者金叉开多而不是图形上看到的结果
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2025-9-7
曾用名:
 楼主| 发表于 2025-9-8 09:38 | 显示全部楼层
技术008 发表于 2025-9-8 09:28
麻烦把条件说明下,比如哪个变量大于或者金叉开多而不是图形上看到的结果

开多:满足这个条件就,市价开多,DRAWTEXT(CROSS(0,W1),G,'多')
平多:满足这个条件就,市价平多,DRAWTEXT(CROSS(W1,0),G,'空')

开空:满足这个条件就,市价平多,DRAWTEXT(CROSS(W1,0),G,'空')
平空:满足这个条件就,市价开多,DRAWTEXT(CROSS(0,W1),G,'多')

老师看这样说明可以吗?想要多单平仓成交后才开空,空单成交后才开多

补充内容 (2025-9-8 09:40):
都是等K线走完再判断
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-8 09:48 | 显示全部楼层
if cross(0,W1) then begin
        sellshort(1,holding,marketr);
        buy(1,1,marketr);
END
if cross(W1,0) then begin
        sell(1,holding,marketr);
        buyshort(,1,marketr);
END


把这个加到最后
然后运行模式选择走完k 模式

本帖子中包含更多资源

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

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

使用道具 举报

1

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2025-9-7
曾用名:
 楼主| 发表于 2025-9-8 09:51 | 显示全部楼层
技术008 发表于 2025-9-8 09:48
if cross(0,W1) then begin
        sellshort(1,holding,marketr);
        buy(1,1,marketr);

加进去后,提示第 14 行,ISLASTBAR 函数在仅刷最后K线模式下使用可能会带来运行风险。

本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-8 09:52 | 显示全部楼层
把这个勾选去掉

本帖子中包含更多资源

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-16 12:13 , Processed in 0.137017 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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