Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:当仓位有变化时,我把相关信息写入文件,为什么会有重复的数据呢?

1楼
qq代人发帖 发表于:2021/1/8 13:49:55

VARIABLE:num:=0;//记录持仓量
VARIABLE:sprice:=price;//基准价格

手数:=ss;
开多条件:=C>=sprice+jg;//jg为网格间隔
平多条件:=C<=sprice-jg;

K线日期:DATE;
K线时间:TIME;
当前持仓量:HOLDING,COLORGRAY,LINETHICK0;
//当前资产:ASSET,NOAXIS,COLORGRAY;

IF K线日期 >= DATE_SELF and K线时间>= TIME_SELF and 开多条件 THEN 
BEGIN
开多:BUY(开多条件,手数,MARKET);
sprice:=sprice+jg;
END

IF K线日期 >= DATE_SELF and K线时间>= TIME_SELF and 平多条件 and HOLDING >= 手数 THEN 
BEGIN
平多:SELL(平多条件,手数,THISCLOSE);
sprice:=sprice-jg;
END
//当仓位有变化时,写入文件
IF num != HOLDING THEN
BEGIN
DEBUGFILE('C:\jzt\ru2101,mn01,1M.txt',NUMTOSTR(HOLDING,0)+' %.2f' ,close);
num:=HOLDING;
END

 

当仓位有变化时,我把相关信息写入文件,为什么会有重复的数据呢?


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看
2楼
FireScript 发表于:2021/1/8 14:05:11
 这个和运行机制有关系。每次盘口数据更新的时候,都会在上一个K的数据基础上重新进行一次运算。
本根K的所有数据 都会在重新计算时重置。所以无论你这里的判断结果如何,下一个分笔到来时候一切都重新开始。


num 这个全局变量也是一样的,它无法记住单次计算的结果,它记住的是这个K走完时候,也就是K线固定时候的一个最终值。
3楼
zhuiyin 发表于:2021/1/8 14:54:53
那请问一下,如何调整代码,解决这个问题呢
4楼
zhuiyin 发表于:2021/1/8 16:33:31
VARIABLE:num:=0;//记录持仓量
VARIABLE:sprice:=price;//基准价格

手数:=ss;
开多条件:=C>=sprice+jg;//jg为网格间隔
平多条件:=C<=sprice-jg;

K线日期:DATE;
K线时间:TIME;
当前持仓量:HOLDING,COLORGRAY,LINETHICK0;
//当前资产:ASSET,NOAXIS,COLORGRAY;

IF K线日期 >= DATE_SELF and K线时间>= TIME_SELF and 开多条件 THEN 
BEGIN
开多:BUY(开多条件,手数,MARKET);
DEBUGFILE('C:\jzt\ru2101,mn01,1M.txt',NUMTOSTR(HOLDING,0)+' %.2f' ,close);
sprice:=sprice+jg;
END

IF K线日期 >= DATE_SELF and K线时间>= TIME_SELF and 平多条件 and HOLDING >= 手数 THEN 
BEGIN
平多:SELL(平多条件,手数,THISCLOSE);
DEBUGFILE('C:\jzt\ru2101,mn01,1M.txt',NUMTOSTR(HOLDING,0)+' %.2f' ,close);
sprice:=sprice-jg;
END


共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.04395 s, 3 queries.