以下是我的一个思路以及我自己写的代码,但是不能出现信号:
开盘------在三分钟K线图的环境下运行。早上开盘24分钟内不操作。从第9根K线形如即25分钟后找符合条件的机会。
看多或是看空由使用者人为判断,通过参数来实现。做多或是做空也有两种情况分两个出场参数。
做多:看多行情时做多(人为判断出场依据,通过调整参数来实现),3分钟K线图CCI值如果小于-100,则以3分钟CCI值上穿-100线且当根3分钟K收盘确定后以下一根K线开盘价入场做多,21点止损出场;或者出现利润后以3分钟CCI值下穿零线止赢出场;
做空:看空行情时做空(人为判断出场依据,通过调整参数来实现),3分钟K线图CCI值如果大于100,则以3分钟CCI值下穿100线且当根3分钟K收盘确定后以下一根K线开盘价入场做空,21点止损出场;或者出现利润后以3分钟CCI值上穿零线止赢出场;
AINDEX( )TYP := (HIGH + LOW + CLOSE)/3;
CCI:(TYP-MA(TYP,M))/(0.015*AVEDEV(TYP,M));
AA:=CROSS(CCI,-100);
BB:=CROSS(100,CCI);
CC:=CROSS(0,CCI);
DD:=CROSS(CCI,0);
Long:=AA and CLOSE>-100 and time>=092700;
if Long then
begin
buy(holding=0,1,limitr,market); //开多
end
if CC then
sell(holding>0,1,limitr,market); //多单止盈
IF CLOSE<=ENTERPRICE-21 AND ENTERBARS>1 AND HOLDING>0 THEN //多单止损
SELL(HOLDING>0,1,market);
Short:=BB and CLOSE<100 and time>092700;
if Short then
begin
buyshort(holding=0,1,limitr,market); //开空
end
if DD then
sellshort(holding<0,1,limitr,market); //空单止盈
if CLOSE>=ENTERPRICE+20 and ENTERBARS>1 and holding<0 then //空单止损
sellshort(holding<0,1,market);
sell(time>=145700 and holding>0,0,thisclose);
sellshort(time>=145700 and holding<0,0,thisclose);
<!--EndFragment--><!--EndFragment-->
buy(holding=0,1,limitr,market);
改成buy(holding=0,1,limitr,c); 或者buy(holding=0,1,market);
其他类似的错误也照样修改
我修改了一下:
TYP := (HIGH + LOW + CLOSE)/3;
CCI:(TYP-MA(TYP,M))/(0.015*AVEDEV(TYP,M))
AA:=CROSS(CCI,-100);
BB:=CROSS(100,CCI);
CC:=CROSS(0,CCI);
DD:=CROSS(CCI,0);
Long:=AA and CLOSE>-100 and time>=092700 and time<145700;
if Long then
begin
buy(holding=0,1,market); //开多
end
if CC then
sell(holding>0,1,market); //多单止盈
IF CLOSE<=ENTERPRICE-21 AND ENTERBARS>1 AND HOLDING>0 THEN //多单止损
SELL(HOLDING>0,1,market);
Short:=BB and CLOSE<100 and time>092700;
if Short then
begin
buyshort(holding=0,1,market); //开空
end
if DD then
sellshort(holding<0,1,market); //空单止盈
if CLOSE>=ENTERPRICE+20 and ENTERBARS>1 and holding<0 then //空单止损
sellshort(holding<0,1,market);
sell(time>=145700 and holding>0,0,thisclose);
sellshort(time>=145700 and holding<0,0,thisclose);
但还是出现了问题,说是无法判断该表达式AA:=CROSS(CCI,-100)的意图
我这里是编译正常的,
你的M有参数设置吗?
你可以设置个变量,看看开空条件是否成立,比如:cond2:short and holding=0,linethick0;
然后查看有没有条件达成的