我有部分代码,希望在一根K线中只计算一次。比如输出调试的代码。
//以下是现有代码,希望一根K线只输出一次(即只运行一次)
IF 输出标志:=1 AND ISLASTBAR THEN
BEGIN
DEBUGFILE2('D:\DEBUG1.TXT','X=%.4f',X,1);
DEBUGFILE2('D:\DEBUG1.TXT','AMO_P=%.4f',AMO_P,1);
DEBUGFILE2('D:\DEBUG1.TXT','AMO_L=%.4f',AMO_L,1);
DEBUGFILE2('D:\DEBUG1.TXT','胜率=%.4f百分比',胜率60,1);
DEBUGFILE2('D:\DEBUG1.TXT','盈亏比=%.4f',盈亏比60,1);
DEBUGFILE2('D:\DEBUG1.TXT','凯利手数为=%.0f',KLSS,1);
输出标志:=0;
END
请教能否实现?该如何修改?
我只是部分代码需要仅运行一次,其他的还是需要在逐K模式下运行的,这样能实现吗?
图表都是逐K模式。
策略砸程序化的运行模式只有两种,走完一根k和固定时间间隔
使用超全局变量来解决,基本思路
GLOBALVARIABLE : x = 0;
IF x <> TIME and Islastbar then //如果你是日线周期,换到DATE即可
BEGIN
x:=TIME;
DEBUGFILE2('D:\DEBUG1.TXT','X=%.4f',X,1);
DEBUGFILE2('D:\DEBUG1.TXT','AMO_P=%.4f',AMO_P,1);
DEBUGFILE2('D:\DEBUG1.TXT','AMO_L=%.4f',AMO_L,1);
DEBUGFILE2('D:\DEBUG1.TXT','胜率=%.4f百分比',胜率60,1);
DEBUGFILE2('D:\DEBUG1.TXT','盈亏比=%.4f',盈亏比60,1);
DEBUGFILE2('D:\DEBUG1.TXT','凯利手数为=%.0f',KLSS,1);
END;
[此贴子已经被作者于2016-7-22 12:40:32编辑过]