金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 430|回复: 7

请老师批改一下

[复制链接]

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
发表于 2024-8-12 14:55 | 显示全部楼层 |阅读模式
有段时间没有来学习编写了,今天拼凑了一个简单的价格通道测试,要求实现可以在布林、价格、凯尔特三个价格通道里自由切换。
运行当前的代码会在k线图上同时显示三组通道线,最好运行它的时候只显示当前需要的通道线。请老师看看有没有错误和缺陷,谢谢!

input:M(20,10,300,10),N(2,0.1,10,1),ss(1,1,100,1);
input: BB_ok(1,0),PC_ok(1,0),KC_ok(1,0);
手数:=ss;

//布林带通道BOLL
MID :  MA(CLOSE,M);          // 布林带的中轨
UPPER: MID + N*STD(CLOSE,M); // 布林带的上轨
LOWER: MID - N*STD(CLOSE,M); // 布林带的下轨

BB_KD:CLOSE>UPPER;
BB_KK:CLOSE<LOWER;

//价格通道(唐奇安)
M周期高点:=ref(hhv(h,M),1);//m是参数,自行调整
M周期低点:=ref(LLV(L,M),1);

PC_KD:CLOSE>M周期高点;
PC_KK:CLOSE<M周期低点;

//肯特纳通道
MA1:REF(MA(((H+L+C)/3,M)),1);//三价平均线
浮动区间:=REF(MA(TR,M),1);   //真实振幅的移动平均线
上轨:MA1+浮动区间;
下轨:MA1-浮动区间;

KC_KD:CLOSE>上轨;
KC_KK:CLOSE<下轨;

// 如果布林带信号开启
if BB_ok=1 then begin

   IF BB_KK =1 THEN       //平多开空单
                   SELL(HOLDING>0 ,HOLDING,LIMITR,CLOSE);
                   BUYSHORT(HOLDING=0 ,1,LIMITR,CLOSE);

  IF  BB_KD=1 THEN       //平空开多单
                  SELLSHORT(HOLDING<0,HOLDING,LIMITR,CLOSE);
                 BUY(HOLDING=0,1,LIMITR,CLOSE);
END

// 如果价格通道信号开启
if PC_ok=1 then begin

   IF PC_KK =1 THEN       //平多开空单
                   SELL(HOLDING>0 ,HOLDING,LIMITR,CLOSE);
                   BUYSHORT(HOLDING=0 ,1,LIMITR,CLOSE);

  IF  PC_KD=1 THEN       //平空开多单
                  SELLSHORT(HOLDING<0,HOLDING,LIMITR,CLOSE);
                 BUY(HOLDING=0,1,LIMITR,CLOSE);
end;

// 如果肯特纳通道信号开启
if KC_ok=1 then begin

   IF KC_KK =1 THEN       //平多开空单
                   SELL(HOLDING>0 ,HOLDING,LIMITR,CLOSE);
                   BUYSHORT(HOLDING=0 ,1,LIMITR,CLOSE);

  IF  KC_KD=1 THEN       //平空开多单
                  SELLSHORT(HOLDING<0,HOLDING,LIMITR,CLOSE);
                 BUY(HOLDING=0,1,LIMITR,CLOSE);
end;


回复

使用道具 举报

31

主题

7809

帖子

7819

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-12 15:05 | 显示全部楼层
不是很理解,你这就是三个条件的线都输出了,你意思条件不符合就不要显示线了??
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

31

主题

7809

帖子

7819

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-12 15:06 | 显示全部楼层
这个不行的,你想历史某些时间符合条件,有些时候不符合,你不可能把通道线断开,不符合就没线把
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-8-13 09:23 | 显示全部楼层
是我的描述不清,我的意思是:如果当布林开关BB_ok=1的条件成立,则采用布林通道的买卖策略,同时k线图表显示布林通道线;如果当布林开关BB_ok=0,则关闭布林通道的买卖策略,同时k线图表不显示布林通道线;价格通道、凯特纳通道如法炮制。
如果不能或无法显示通道线,那就不要显示通道线。
回复

使用道具 举报

31

主题

7809

帖子

7819

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-13 09:32 | 显示全部楼层
if BB_ok=1 then
BEGIN
        //布林带通道BOLL
MID :  MA(CLOSE,M);          // 布林带的中轨
UPPER: MID + N*STD(CLOSE,M); // 布林带的上轨
LOWER: MID - N*STD(CLOSE,M); // 布林带的下轨
       
END


if BB_ok=0 then
BEGIN
        //布林带通道BOLL
MID :  MA(CLOSE,M);          // 布林带的中轨
UPPER: MID + N*STD(CLOSE,M); // 布林带的上轨
LOWER: MID - N*STD(CLOSE,M); // 布林带的下轨
PC_KD:CLOSE>M周期高点;
PC_KK:CLOSE<M周期低点;       
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

31

主题

7809

帖子

7819

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-13 09:32 | 显示全部楼层
类似这样你把策略分拆开来,bbok=1里面就是想实现什么的放到这里

其他代码放到=0的里面去,这样分开来
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-8-13 10:40 | 显示全部楼层
出现语法错误,函数不能在IF THEN FOR循环控制语句中被引用的原理和解决方案。看样子引用公式后,再想在k线上显示指标线条是比较困难的事情。本想将这三个通道策略组合到一起,然后通过条件选择切换其中一个策略来评测绩效的。
回复

使用道具 举报

31

主题

7809

帖子

7819

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-13 11:00 | 显示全部楼层
//一些函数不能放在if里面,你这样写在前面单独用一个变量然后:=去定义
//然后bb_ok=1里面直接使用这个temp就可以了
temp:=hhv(high,100);


if BB_ok=1 then
BEGIN
        //布林带通道BOLL
MID :  MA(CLOSE,M);          // 布林带的中轨
UPPER: MID + N*STD(CLOSE,M); // 布林带的上轨
LOWER: MID - N*STD(CLOSE,M); // 布林带的下轨
if close>temp then buy();   
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 10:31 , Processed in 0.203664 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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