金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2453|回复: 4

老师帮帮忙

[复制链接]

26

主题

79

帖子

79

积分

等级: 免费版

注册:
2021-10-23
曾用名:
发表于 2023-4-15 08:07 | 显示全部楼层 |阅读模式
我想把我的这个策略改写为在五分钟周期运行出现卖出信号时减仓25%,15分钟周期出现卖出信号时在卖25%,60分钟出现时在卖25%,日线出现时在买25%,反之出现买入信号时加仓25%。这个涉及到周期引用和加减仓,我不会写。
A5:MA(CLOSE,5);
A10:MA(CLOSE,10);
A20:MA(CLOSE,20);
RC:=IF((A5>=A20 OR REF(A20,1) <= A20) AND (A5>=A10 OR REF(A10,1) / A10 >=0.01) AND REF(A20,1) <= A20,1,0);
STICKLINE(RC=1,OPEN,CLOSE,3,0), COLORRED;
STICKLINE(RC=1,LOW,OPEN,0,0), COLORRED;
STICKLINE(RC=1,CLOSE,HIGH,0,0),COLORRED;
STICKLINE(RC=0,CLOSE,OPEN,3,0), COLORGREEN;
STICKLINE(RC=0,OPEN,LOW,0,0), COLORGREEN;
STICKLINE(RC=0,HIGH,CLOSE,0,0),COLORGREEN;
手数:=100;
//交易条件
开多条件:=RC=1;//开多平空条件

平多条件:=RC=0;
//交易系统
平多:SELL(平多条件,手数,MARKET);
开多:BUY(开多条件 AND HOLDING=0,手数,MARKET);

当前持仓:=HOLDING,COLORGRAY,LINETHICK0;
当前资产:=ASSET,NOAXIS,COLORGRAY;



回复

使用道具 举报

37

主题

9975

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-4-15 10:44 | 显示全部楼层
本帖最后由 技术006 于 2023-4-15 10:46 编辑

被引用公式例如:Formula5
[PEL] 复制代码
A5:MA(CLOSE,5);
A10:MA(CLOSE,10);
A20:MA(CLOSE,20);
RC:=IF((A5>=A20 OR REF(A20,1) <= A20) AND (A5>=A10 OR REF(A10,1) / A10 >=0.01) AND REF(A20,1) <= A20,1,0);


通过这个公式引用上述公式中的其他周期, 假设此公式运行在5分钟周期上。那么其他周期在通过引用Formula5的rc结果进行平仓。但是存在以下问题:
1.小周期引用大周期存在未来信号,会改变图表历史k线上的运行结果。可以考虑在大周期上运行引用小周期。或者直接使用后台。
[PEL] 复制代码
//全局变量的作用是控制每个周期的平仓只会平仓1次。
VARIABLE:flag1=0,flag2=0,flag3=0,flag4=0;
A5:MA(CLOSE,5);
A10:MA(CLOSE,10);
A20:MA(CLOSE,20);
RC:=IF((A5>=A20 OR REF(A20,1) <= A20) AND (A5>=A10 OR REF(A10,1) / A10 >=0.01) AND REF(A20,1) <= A20,1,0);
开仓手数:=100;
平仓手数:=开仓手数/4;


if RC=1 AND HOLDING=0 then begin
        开多:BUY(1,开仓手数,MARKET);
end

if RC=0 and flag1=0 then begin
        平多:SELL(1,平仓手数,MARKET);
        flag1=1;
end


//15分钟
rc15:STKINDI('','Formula5.rc',0,3);

if rc15=0 and flag2=0 then begin
        平多15:SELL(1,平仓手数,MARKET);
        flag2=1;
end

//60分钟
rc60:STKINDI('','Formula5.rc',0,5);

if rc60=0 and flag3=0 then begin
        平多60:SELL(1,平仓手数,MARKET);
        flag3=1;
end

//日
rcday:STKINDI('','Formula5.rc',0,6);

if rcday=0 and flag4=0 then begin
        平多DAY:SELL(1,平仓手数,MARKET);
        flag4=1;
end


if flag1=1 and flag2=1 and flag3=1 and flag4=1 then begin
        flag1:=0 ;
        flag2=0;
        flag3=0;
        flag4=0;
end



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

使用道具 举报

26

主题

79

帖子

79

积分

等级: 免费版

注册:
2021-10-23
曾用名:
 楼主| 发表于 2023-4-15 13:32 来自手机 | 显示全部楼层
技术006 发表于 2023-4-15 10:44
被引用公式例如:Formula5
[mw_shl_code=pel,true]A5:MA(CLOSE,5);
A10:MA(CLOSE,10);

老师这个还是没有得到我想要的结果,我是想这个策略能同时在不同周期运行。互相不干涉,实现开仓和平仓。如果开多个窗口多周期运行,会不会出现有持仓不能继续开仓的情况?
回复

使用道具 举报

37

主题

9975

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-4-15 13:39 | 显示全部楼层
你本意是想上面的策略,分别运行在不同的周期上。各自独立执行?
那你开多个窗格,分别加载这个策略即可。不存在跨周期引用。图表策略本身就是相互独立互不干扰的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

26

主题

79

帖子

79

积分

等级: 免费版

注册:
2021-10-23
曾用名:
 楼主| 发表于 2023-4-15 14:11 来自手机 | 显示全部楼层
技术006 发表于 2023-4-15 13:39
你本意是想上面的策略,分别运行在不同的周期上。各自独立执行?
那你开多个窗格,分别加载这个策略即可。 ...

好的,谢谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 13:02 , Processed in 0.144178 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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