[求助求]WT8帮忙 (文华财经)

投资者咨询:[求助求]WT8帮忙 (文华财经)
来源:文华财经  日期:2025-5-8 3:29
 烦请老师帮忙实现下面思路,非常谢谢。
3分钟使用    调用15分周期 2小时周期
做多条件
条件1,2小时:价格位于2小时60日均线之上、2小时20日均线位于60日均线之上、MACD双线在零轴之上。
条件2,15分钟:价格位于15分60日均线之下、MACD双线在零轴下方金叉状态。
条件3,3分钟:价格超过3分钟最近一次MACD死叉时最高点K线价格、价格位于3分钟周期60日均线之上、MACD双线上零轴
止损止盈策略
1,首次开仓止损价格在3分钟最近一次MACD死叉时最低点K线最低价格,同时平仓50%
2,剩余仓位当价格超过3分钟60日均线8ATR时全部平仓
做空镜像相反即可.请完整给出,再次感谢。
技术人员回复
日期:2025-5-8 8:11
 先建立被引用指标AA:

DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
MA60:MA(C,60);
MA20:MA(C,20);
N1:=C>MA60 AND MA20>MA60 AND DIFF>0 AND DEA>0;
N2:=C<MA60 AND MACD>0 AND DIFF<0 AND DEA<0;
P1:=C<MA60 AND MA20<MA60 AND DIFF<0 AND DEA<0;
P2:=C>MA60 AND MACD<0 AND DIFF>0 AND DEA>0;



再建立主模型:

//定义变量
#IMPORT[HOUR,2,AA] AS VAR1
#IMPORT[MIN,15,AA] AS VAR2

DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
TR : MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR : MA(TR,26);
MA60:MA(C,60);
MA20:MA(C,20);
HH:=VALUEWHEN(SC,H);
LL:=VALUEWHEN(JC,L);

//多头策略
VAR1.N1 AND VAR2.N2 AND C>HH AND C>MA60 AND DIFF>0 AND DEA>0,BK;
C<VALUEWHEN(SC,L),LOWER_LONG(BKVOL/2);
C>MA60+8*ATR,SP;

//空头策略
VAR1.P1 AND VAR2.P2 AND C<LL AND C<MA60 AND DIFF<0 AND DEA<0,SK;
C>VALUEWHEN(JC,H),LOWER_SHORT(SKVOL/2);
C<MA60-8*ATR,BP;

//设置
AUTOFILTER;
T_COMMAND(2);

投资者咨询:[求助求]WT8帮忙 (文华财经)
来源:文华财经  日期:2025-5-8 3:29
 谢谢老师帮助。再请老师将条件2,“15分钟:价格位于15分60日均线之下、MACD双线在零轴下方金叉状态。”
改为:15分钟:价格位于15分布林中轨之下、MACD双线方金叉状态。
 
[此问答已经被作者于2025/5/8 10:28:36编辑过]
技术人员回复
日期:2025-5-8 10:29
 仅修改被引用指标AA:

MID:MA(CLOSE,26);//求N个周期的收盘价均线,称为布林通道中轨
TMP2:=STD(CLOSE,26);//求M个周期内的收盘价的标准差
TOP:MID+2*TMP2;//布林通道上轨
BOTTOM:MID-2*TMP2;//布林通道下轨
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
MA60:MA(C,60);
MA20:MA(C,20);
N1:=C>MA60 AND MA20>MA60 AND DIFF>0 AND DEA>0;
N2:=C<MID AND MACD>0 AND DIFF<0 AND DEA<0;
P1:=C<MA60 AND MA20<MA60 AND DIFF<0 AND DEA<0;
P2:=C>MID AND MACD<0 AND DIFF>0 AND DEA>0;

投资者咨询:[求助求]WT8帮忙 (文华财经)
来源:文华财经  日期:2025-5-8 3:29
  谢谢老师帮助。再请老师将条件2,“15分钟:价格位于15分60日均线之下、MACD双线在零轴下方金叉状态。”
改为:15分钟:价格位于15分布林中轨之下、MACD双线方金叉状态。(做空相反即15分布林中轨之上)
 
技术人员回复
日期:2025-5-8 10:38
 请参考4楼回复,是满足您的需求的
投资者咨询:[求助求]WT8帮忙 (文华财经)
来源:文华财经  日期:2025-5-8 3:29
条件2,15分钟:“价格位于15分60日均线之下、MACD双线在零轴下方金叉状态”
 改为:15分钟MACD慢线在零轴下方金叉状态 (做空相反:15分钟MACD慢线在零轴上方死叉状态)
谢谢。

技术人员回复
日期:2025-5-8 11:02
 仅修改被引用指标AA:

DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
MA60:MA(C,60);
MA20:MA(C,20);
N1:=C>MA60 AND MA20>MA60 AND DIFF>0 AND DEA>0;
N2:=MACD>0 AND DEA<0;
P1:=C<MA60 AND MA20<MA60 AND DIFF<0 AND DEA<0;
P2:=MACD<0 AND DEA>0;

投资者咨询:[求助求]WT8帮忙 (文华财经)
来源:文华财经  日期:2025-5-8 3:29
如果我自己仅修改3个周期不动其它的,想请老师以1楼为例把可修改的3个周期标出来,谢谢。
技术人员回复
日期:2025-5-8 11:23
请参考

//定义变量
#IMPORT[HOUR,2,AA] AS VAR1//2小时周期
#IMPORT[MIN,15,AA] AS VAR2//15分钟周期

DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
TR : MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR : MA(TR,26);
MA60:MA(C,60);
MA20:MA(C,20);
HH:=VALUEWHEN(SC,H);
LL:=VALUEWHEN(JC,L);

//多头策略
VAR1.N1 AND VAR2.N2 AND C>HH AND C>MA60 AND DIFF>0 AND DEA>0,BK;
C<VALUEWHEN(SC,L),LOWER_LONG(BKVOL/2);
C>MA60+8*ATR,SP;

//空头策略
VAR1.P1 AND VAR2.P2 AND C<LL AND C<MA60 AND DIFF<0 AND DEA<0,SK;
C>VALUEWHEN(JC,H),LOWER_SHORT(SKVOL/2);
C<MA60-8*ATR,BP;

//设置
AUTOFILTER;
T_COMMAND(2);