 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
// 定义大周期MACD参数(48,104,36)
DIFF_BIG:=EMA(CLOSE,48) - EMA(CLOSE,104); // 大周期DIFF线
DEA_BIG:=EMA(DIFF_BIG,36); // 大周期DEA线
MACD_BIG:=2*(DIFF_BIG-DEA_BIG); // 大周期MACD柱
// 定义小周期MACD参数(12,26,9)
DIFF_SMALL:=EMA(CLOSE,12) - EMA(CLOSE,26); // 小周期DIFF线
DEA_SMALL:=EMA(DIFF_SMALL,9); // 小周期DEA线
MACD_SMALL:=2*(DIFF_SMALL-DEA_SMALL); // 小周期MACD柱
// 定义交易条件
// 多单条件1:大周期DIFF>0 且 小周期DIFF上穿零轴
LONG_COND1:=DIFF_BIG>0 AND CROSS(DIFF_SMALL,0);
// 多单条件2:大周期DIFF>0 且 小周期MACD金叉
LONG_COND2:=DIFF_BIG>0 AND CROSS(DIFF_SMALL,DEA_SMALL);
// 综合多单条件
LONG_ENTRY:=LONG_COND1 OR LONG_COND2;
// 空单条件1:大周期DIFF<0 且 小周期DIFF下穿零轴
SHORT_COND1:=DIFF_BIG<0 AND CROSS(0,DIFF_SMALL);
// 空单条件2:大周期DIFF<0 且 小周期MACD死叉
SHORT_COND2:=DIFF_BIG<0 AND CROSS(DEA_SMALL,DIFF_SMALL);
// 综合空单条件
SHORT_ENTRY:=SHORT_COND1 OR SHORT_COND2;
// 平仓条件
LONG_EXIT:=CROSS(0,DIFF_SMALL); // 小周期DIFF下穿零轴平多
SHORT_EXIT:=CROSS(DIFF_SMALL,0); // 小周期DIFF上穿零轴平空
// 交易系统
// 平多单
SELL(LONG_EXIT,0,MARKETR); // 平多条件触发时平掉所有多单[^20]
// 开多单
BUY(LONG_ENTRY AND HOLDING=0,1,MARKETR); // 满足开多条件且无持仓时做多[^20]
// 平空单
SELLSHORT(SHORT_EXIT,0,MARKETR); // 平空条件触发时平掉所有空单[^13]
// 开空单
BUYSHORT(SHORT_ENTRY AND HOLDING=0,1,MARKETR); // 满足开空条件且无持仓时做空[^13]
// 显示持仓状态
当前持仓:HOLDING,COLORGRAY,LINETHICK0; // 显示当前持仓状态[^19]
if close<AVGENTERPRICE-20*mindiff and holding>0 then sell(1,holding,marketr);
if close>AVGENTERPRICE+20*mindiff and holding<0 then sellshort(1,holding,marketr); |
|