等级: 免费版
- 注册:
- 2023-3-7
- 曾用名:
|

楼主 |
发表于 2023-5-4 16:09
|
显示全部楼层
我直接在5分钟周期输引用指标的,麻烦帮看下代码有哪些是错的?
/////////大周期//////////
15分KD:="KD2.KD#MIN15",-1;
15KD:DRAWICON(15分KD,L*0.998,4);
15分KK:="KD2.KK#MIN15",-1;
15KK:=DRAWICON(15分KK,H*0.998,5);
///////////小周期顺大周期方向/////////////
////小周期顺大周期方向多////
1M:"KD2.KD#MIN1",-1;
3M:"KD2.KD#MIN3",-1;
{KD:=(1M=1 AND 3M=1);}
KD:IF(1M,3M,DRAWNULL);
KD2:DRAWICON(KD,L*0.998,4);
////小周期顺大周期方向空////
1MK:"KD2.KK#MIN1",-1;
3MK:"KD2.KK#MIN3",-1;
{KK:=(1MK=1 AND 3MK=1);}
KK:IF(1M,3M,DRAWNULL);
KK2:DRAWICON(KK,H*1.001,5);
/////固定止损条件////////
持仓后天数:ENTERBARS>=3;
//开仓前10个K的最高低
H1:=HHV(h,10);//10日内最高价
L1:=LLV(L,10);//10日内最低价
HKC:REF(H1,ENTERBARS);//最终结果
LKC:REF(L1,ENTERBARS);
开空止损:C>HKC AND 持仓后天数;//开仓后大于或等于3天,C大于开仓前最高价
开多止损:C<LKC AND 持仓后天数;//开仓后大于或等于3天,C小于开仓前最低价
{//////////
/////////////////看大做小/////////////
VARIABLE:A:=0,B:=0;
if 15分KD then
begin
A:=1;//1
B:=0;
end
if 15分KK then
begin
A:=0;
B:=1;//1
end
IF A THEN
BEGIN
开多:BUY((KD AND (HOLDING = 0)),1,LIMITR,LOW);
END
IF 开多止损 THEN BEGIN
SELL(1,HOLDING,MARKET);
END
平多:SELL(KK,HOLDING,LIMITR,HIGH);
IF B THEN
BEGIN
开空:BUYSHORT((KD AND (HOLDING = 0)),1,LIMITR,HIGH);
END
IF 开空止损 THEN BEGIN
SELLSHORT(1,HOLDING,MARKET);
END
平空:SELLSHORT(KK,HOLDING,LIMITR,LOW);
补充内容 (2023-5-4 16:12):
开空和开多的止损写的位置是否对?在开空或开多下又加了IF BEGIN END,不知是否对?
补充内容 (2023-5-4 16:18):
////小周期顺大周期方向空////
1MK:"KD2.KK#MIN1",-1;
3MK:"KD2.KK#MIN3",-1;
{KK:=(1MK=1 AND 3MK=1);}
KK:IF(1MK,3MK,DRAWNULL);
KK2:DRAWICON(KK,H*1.001,5);
这个刚输漏了1MK,3MK |
|