等级: 免费版 
- 注册: 
 - 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 |   
 
 
 
 |