本帖最后由 资深技术05 于 2026-1-4 09:27 编辑
2个全局变量使用其中一个就行了。
[PEL] 复制代码
//开仓开条件
ma5:=ma(c,5);
ma10:=ma(c,10);
jcma:=cross(ma5,ma10);
csma:=cross(ma10,ma5);
str:=stklabel&'.'&formulaname&'.zs';
//开仓
if jcma and tbuyholdingex('','',4)=0 then begin
tbuy(1,100,mkt);
extgbdataset(str,low);//记录刚开仓时候K线的最低价,如果你是1分钟记录的不是1分钟最低价,如果是日线则是日线最低价
end
//止损
zs:=extgbdata(str);
if tbuyholdingex('','',1)>0 and c<zs then begin
tsell(1,0,mkt);
extgbdataset(str,0);
end
//止赢
if tbuyholdingex('','',1)>0 and csma then begin
tsell(1,0,mkt);
extgbdataset(str,0);
end
这个记录的值是存在客户端内部,你换个客户端或者电脑是读取不到的。触发手工删除或者代码里重置,否则是不会消失的,包括重启之类操作都不影响的。
另外这个记录的最低价是当时的最低价,如果要变成当天日线收盘时候的最低价,那是没办法用这种方式处理的。只能回溯,之前已经给过这个方案了你可以翻下之前的帖子。
|