金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2868|回复: 3

请教老师帮忙谢谢

[复制链接]

17

主题

49

帖子

49

积分

Rank: 1

等级: 新手上路

注册:
2021-10-30
曾用名:
发表于 2022-10-13 19:21 | 显示全部楼层 |阅读模式
老师您好,请帮助我。下面是我的一个只做1手螺纹的交易公式。只做空。我想加个附加条件但我实验了好多无法搞定。
附加条件就是:下面这个做空策略只有在15分钟周期,当前价格小于upper值才执行。就是要调用15分钟周期的当前价格及UPPER值对比后执行。

如果小周期调用大周期会造成系统信号闪烁,就反过来用15分钟周期运行下面交易策略------当15分钟周期内:当前价格<upper 的时候调用1分钟KD死叉开空金叉平空的策略。

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
MID:  MA(CLOSE,20);//布林中轨
UPPER: MID + 2*STD(CLOSE,26);//布林上轨
LOWER: MID - 2*STD(CLOSE,26);//布林下轨

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD1 : 2*(DIFF-DEA), COLORSTICK;


开空条件:cross(k,d) ;

if 开空条件  and holding<1 then

BEGIN
        buyshort(1,1,MARKETR);
       
end
if cross(d,k) or enterprice-close>=3 and holding<0 then sellshort(1,holding,MARKETR);

回复

使用道具 举报

17

主题

49

帖子

49

积分

Rank: 1

等级: 新手上路

注册:
2021-10-30
曾用名:
 楼主| 发表于 2022-10-13 20:07 | 显示全部楼层
补充一下,上面可能我说的有点乱,实际意思就是:我用15分钟周期看盘时,当某一分钟结束时,15分钟周期的那根K线不论走完与否,只要当前价格在布林线upper下方,这分钟结束的同时1分钟小周期的KD死叉了,我开空仓1手。直到1分钟小周期KD金叉平仓。谢谢老师。
回复

使用道具 举报

1

主题

24

帖子

24

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-20
曾用名:
发表于 2022-10-14 10:03 | 显示全部楼层
本帖最后由 技术013 于 2022-10-14 10:05 编辑

1.你必须采用固定时间间隔模式执行执行。间隔时间越短。越精准,但是消耗的资源会更高。
2.在增加引用1分钟周期的kd金死叉条件。(上一根1分钟周期模式,以此替代1分钟走完)。基本结构如下所示

[PEL] 复制代码
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
MID:  MA(CLOSE,20);//布林中轨
UPPER: MID + 2*STD(CLOSE,26);//布林上轨
LOWER: MID - 2*STD(CLOSE,26);//布林下轨

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
KD死叉:cross(k,d) ;
KD金叉:cross(d,k) ;


在自己15分钟策略中,引用上面新建的公式。第12-14行是重点
[PEL] 复制代码
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
MID:  MA(CLOSE,20);//布林中轨
UPPER: MID + 2*STD(CLOSE,26);//布林上轨
LOWER: MID - 2*STD(CLOSE,26);//布林下轨

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
condsc_1min:STKINDI('','新创建的的KD指标公式名称.KD死叉',0,1,-1);//引用上个1分钟上的死叉条件。公式名称需要你自己填,那个点千万别去掉。
condjc_1min:STKINDI('','新创建的的KD指标公式名称.KD金叉',0,1,-1);
开空条件:close< UPPER and condsc_1min=1;

if 开空条件  and holding<1 then

BEGIN
        buyshort(1,1,MARKETR);
       
end




回复

使用道具 举报

17

主题

49

帖子

49

积分

Rank: 1

等级: 新手上路

注册:
2021-10-30
曾用名:
 楼主| 发表于 2022-10-14 14:18 | 显示全部楼层
技术013 发表于 2022-10-14 10:03
1.你必须采用固定时间间隔模式执行执行。间隔时间越短。越精准,但是消耗的资源会更高。
2.在增加引用1分 ...

谢谢,我试试
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 13:42 , Processed in 0.074947 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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