variable:maxprofit=0;//有仓位时最大获利幅度
//建立多头条件
Long:=A>B and TIME<145000;
if Long then
begin {要先平仓,再开仓}
Tsellshort(THOLDING<0,0,LMT,C+MINDIFF);
Tbuy(THOLDING<0,N,LMT,C+MINDIFF);
if THOLDING<0 then
maxprofit:=0;//赋值
end
win:=0;
win2:=0;
//多仓
if tholding>0 and tenterbars>0 then
begin
win:=(c-TAVGENTERPRICE)/TAVGENTERPRICE*100; //记录最大盈利
if win>maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
监控显示:WIN的数值=maxprofit的数值,WIN2就会一直是0,if win>maxprofit then好象没起作用,哪句赋值有问题?应怎么正确修改?
10.07.22 10:54:01 RU11
win2=0.00
10.07.22 10:54:01 RU11
win=0.30
10.07.22 10:54:01 RU11
maxprofit=0.30
10.07.22 10:54:01 RU11
运行结束
variable:maxprofit=0;//有仓位时最大获利幅度
//建立多头条件
DEBUGOUT('maxprofit1=%.2f',maxprofit);
===========
maxprofit始终是0
去掉
win:=0;
win2:=0;
谢二位,明天再测试看看,但小球说的白天已试过修改,还是有问题存在。
为什么maxprofit始终是0,赋值变量为什么不变?
那是因为
if win>maxprofit then
maxprofit:=win;
始终没有被执行
或者 win 本身就是0
以你目前的编程能力,我们建议你再图表交易上做这种较为复杂的策略编辑,建议你放弃后台