以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  哪句赋值有问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=2211)

--  作者:期指新手
--  发布时间:2010/7/22 10:50:10
--  哪句赋值有问题

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
运行结束

[此贴子已经被作者于2010-7-22 11:02:26编辑过]

--  作者:期指新手
--  发布时间:2010/7/22 13:53:15
--  

variable:maxprofit=0;//有仓位时最大获利幅度
//建立多头条件
DEBUGOUT(\'maxprofit1=%.2f\',maxprofit);

 

===========

maxprofit始终是0


--  作者:金字塔
--  发布时间:2010/7/22 15:39:06
--  

去掉

win:=0;
win2:=0;


--  作者:金字塔
--  发布时间:2010/7/22 15:40:23
--  
另外,买卖语句要齐全
--  作者:董小球
--  发布时间:2010/7/22 15:42:31
--  
if win>maxprofit then maxprofit:=win; win2:=(maxprofit-win)/maxprofit*100 问题是不是处在这一句 在IF条件下都已经吧WIN的值赋给maxp了 那么 maxp-win自然等于零 如果不符合IF条件的情况 因为之前定义了win2=0 所以还是等于0 所以 你的结果就一直等于0
--  作者:期指新手
--  发布时间:2010/7/22 16:44:52
--  

谢二位,明天再测试看看,但小球说的白天已试过修改,还是有问题存在。


--  作者:期指新手
--  发布时间:2010/7/23 10:05:20
--  

为什么maxprofit始终是0,赋值变量为什么不变?


--  作者:admin
--  发布时间:2010/7/23 10:43:03
--  

那是因为

if win>maxprofit then
   maxprofit:=win;   

始终没有被执行

 

或者 win 本身就是0

 

以你目前的编程能力,我们建议你再图表交易上做这种较为复杂的策略编辑,建议你放弃后台

[此贴子已经被作者于2010-7-23 10:45:02编辑过]

--  作者:期指新手
--  发布时间:2010/7/23 19:21:28
--  如何消除信号闪烁的问题?
问题已解决,可持仓均价出问题。