
等级: 新手上路
- 注册:
- 2024-4-9
- 曾用名:
|
董董~学一得二:
改写的// 策略名称:三指标共振交易系统(完整版)
INPUT:
SAR步长(0.02,0.01,0.5),
SAR最大值(0.2,0.1,1),
MACD快线(12,5,50),
MACD慢线(26,10,100),
MACD信号(9,5,30),
巩固周期(14,5,30),
导数阈值(0.5,0.1,2),
交易手数(1,1,100); // 新增仓位控制参数
VARIABLE:
SAR值:=0, DIFF:=0, DEA:=0,
最高价:=HIGH, 最低价:=LOW, 收盘价:=CLOSE,
ATR值:=0, 价格区间:=0, 巩固比:=0, 导数:=0;
// 指标计算(保持不变)
SAR值 := SAR(SAR步长, SAR最大值);
DIFF := EMA(CLOSE,MACD快线) - EMA(CLOSE,MACD慢线);
DEA := EMA(DIFF,MACD信号);
ATR值 := MA(TR,巩固周期);
价格区间 := HHV(HIGH,巩固周期) - LLV(LOW,巩固周期);
巩固比 := 价格区间 / (ATR值 + 0.0001);
导数 := 巩固比 - REF(巩固比,1);
// 信号条件优化
多头信号 := 收盘价 > SAR值
AND CROSS(DIFF, DEA) // MACD金叉
AND 导数 > 导数阈值
AND HOLDING = 0; // 仅无持仓时触发
空头信号 := 收盘价 < SAR值
AND CROSS(DEA, DIFF) // MACD死叉
AND 导数 < -导数阈值
AND HOLDING = 0; // 仅无持仓时触发
// 主动平仓条件
平多条件 := HOLDING > 0 AND (收盘价 < SAR值 OR CROSS(DEA, DIFF));
平空条件 := HOLDING < 0 AND (收盘价 > SAR值 OR CROSS(DIFF, DEA));
// 完整交易指令系统
// 平仓逻辑
IF 平多条件 THEN
SELL(1,CLOSE,MARKET); // 市价平多仓
IF 平空条件 THEN
SELLSHORT(1,CLOSE,MARKET);// 市价平空仓
// 开仓逻辑
IF 多头信号 AND HOLDING = 0 THEN
BUY(交易手数,CLOSE,MARKET); // 市价开多仓
IF 空头信号 AND HOLDING = 0 THEN
BUYSHORT(交易手数,CLOSE,MARKET);// 市价开空仓
// 增强版可视化
DRAWICON(多头信号,LOW*0.98,1);
DRAWICON(空头信号,HIGH*1.02,2);
DRAWTEXT(平多条件,HIGH*1.01,'平多',COLORGREEN);
DRAWTEXT(平空条件,LOW*0.99,'平空',COLORRED);
PLOYLINE1(SAR值,RGB(255,0,0));
PLOYLINE2(DIFF,DEA,COLORCYAN,COLORYELLOW);
// 在初始化段预计算SAR
ONCE BEGIN
SAR值 := SAR(SAR初值, SAR最大值);
END
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
您可以在查看菜单->交易系统模板 中设置自己需要的模板
|
|