金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3901|回复: 4

解决两个策略打架的问题

[复制链接]

45

主题

122

帖子

132

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2023-1-16 13:43 | 显示全部楼层 |阅读模式
我想做一个多策略组合,比如macd和rsi 策略,我用con=1,con=0进行两策略间切换,但出现打架情况,macd开的仓,rsi给我平仓了,调试过程中,if 。。。then 。。。的语句,不能处理cross的命令,但把cross提取出if then 之外,好像逻辑又打架了macd开的仓,rsi给平仓了金字塔是个有一个禁止交易的命令,辨别谁开 的仓,仅由谁平仓;能否帮忙写两行代码,解决用con=1,con=0进行策略切换,和开平仓策略一致的问题



另外还要一个基础问题,图表怎么把除去权绝口去掉,显示前复权的k线模式呢?



回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-1-16 13:51 | 显示全部楼层
1、你这个MACD和RSI是写在一个策略里的,还是分两个策略写的啊?
2、按F11可以切换使用或者不使用复权数据。默认就是向前复权。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

122

帖子

132

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-1-16 15:05 | 显示全部楼层
将MACD和RSI的代码拷贝到一个策略下运行,希望通过con=1或con=0 来切换MACD或RSI,大致想法就是把macd和rsi看做趋势和震荡,用简单的条件切换。学习恒温器的写法有些感觉太复杂,想先实现简单的硬切换。
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-1-16 15:32 | 显示全部楼层
本帖最后由 技术010 于 2023-1-16 15:35 编辑

那应该使用全局变量来进行控制,如果是在一个策略中,那可以在图表上使用variable,后台上使用globalvariable.参考如下代码结构,满足两个策略不会同时开仓,且仓位哪个策略开的则哪个策略平。
VARIABLE:MACD_CON=0;      //记录MACD开仓标记
VARIABLE:RSI_CON=0;       //记录RSI开仓标记

IF MACD开仓条件 AND RSI_CON=0 THEN BEGIN   
        BUY();
        MACD_CON:=1;
END

IF RSI开仓条件 AND MACD_CON=0 THEN BEGIN
        BUY();
        RSI_CON:=1;
END


IF MACD平仓条件 AND MACD_CON>0 THEN BEGIN
        SELL();
        MACD_CON:=0;
END

IF RSI平仓条件 AND RSI_CON>0 THEN BEGIN
        SELL();
        RSI_CON:=0;
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

122

帖子

132

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2023-1-16 17:11 | 显示全部楼层
谢谢老师
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-28 23:51 , Processed in 0.104069 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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