
等级: 新手上路
- 注册:
- 2023-7-17
- 曾用名:
|
本帖最后由 许琦 于 2025-2-18 09:29 编辑
系统逻辑:
开仓条件:
1、1 小时图 macd 指标大于0,可以在小周期开多单。反之,1小时图 macd 指标小于0,可以在小周期开空单。
2、开仓时,该品种没有持仓,也即开新仓时该品种前期持仓已经全部清仓。
3、5 分图均线 5 周期线对应价格大于60 周期线对应价格,且最后一根 k 线收盘价大于 60 周期线对应价格,同时 5 分图 kdj 指标的 k 值 大于 d 值,开多单;5 分图均线 5 周期线对应价格小于 60 周期线对应价格,且最后一根 k 线收盘价小于 60 周期线对应价格,同时 5 分图 kdj 指标的 k 值 小于 d 值,开空单。
4、 无论多空开仓,需同时满足 1、2、3 项设置的所有条件。
平仓条件:
5、为 5分图均线 5 周期线对应价格小于 60 周期线对应价格,且最后一根 k 线收盘价小于 60 周期线对应价格,多单平仓;反之,空单平仓。
小周期调用大周期数据
DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
MA5:MA(C,N1);
MA60:MA(C,N2);
手数:=ss;
a:=stkindi('','macd',0,24,1)>0;
a1:=stkindi('','macd',0,24,1)<0;
if ma5>ma60 and c>ma60 and k>d and a then
begin
sellshort(1,holding,marketr);
buy(1,1,marketr);
end
if ma5<ma60 and c<ma60 and k<d and a1 then
begin
sell(1,holding,marketr);
buyshort(1,1,marketr);
end
if ma5<ma60 and c<ma60 and holding>0 then sell(1,holding,marketr);
if ma5>ma60 and c>ma60 and holding<0 then sellshort(1,holding,marketr);
公式编译正常,但加载程序后没有信号,请老师看下问题在哪?谢谢!
|
-
|