我想实现当k线根数满足某一条件时 进行买入操作
例如在日线图上 设定某一天的k线计数为1
之后任意一天的k线 满足三个条件的时候 计数加1
这三个条件是 收盘价大于或等于之前第2根K线最高价;
最高价大于之前第1根 K线的最高价;
收盘价大于之前第1个计数的收盘价。
直到总的计数k线根数达到某一个数字 进行开仓 怎么编写呢
使用全局变量进行记录
variable:n=0;//定义全局变量,赋初值为 0
if 条件1 and 条件2 and 条件3 then begin
n:=n+1;
end//判断上面的3个条件,满足后自加1
然后判断这个n多少就行了
VARIABLE:n=0;
VARIABLE:n1=0;
VARIABLE:case=0;
VARIABLE:a=0;
if case=0 then BEGIN
if REF(c,1)<REF(c,5) AND BARPOS>a then
n:=n+1;
else
n:=0;
if n>3 then
case:=1;
end
if case=1 then Begin
if REF(C,1)>REF(H,3) AND REF(h,1)>REF(h,2) AND BARPOS>a then
n1:=n1+1;
if n1>3 then
BUY(1,1,MARKET);
case:=0;
end
a:=BARPOS
老师请教一下 我这段代码的思路是按照每来一个tick进行一次计算的 BARPOS>a表示不再同一根k线上进行计算 等待到这根k线走完
可是金字塔不能用序列模式 怎么改才好呢
if case=0 then BEGIN
if REF(c,1)<REF(c,5) AND BARPOS>a then
n:=n+1;
else
n:=0;
if n>3 then
case:=1;
end
类似这样的按照提示里面的连接改成这样的
BB:=REF(c,1)<REF(c,5);
if case=0 then BEGIN
if BB AND BARPOS>a then
n:=n+1;
else
n:=0;
if n>3 then
case:=1;
end
这样就不报错了