Rss & SiteMap

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

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

标题:哪句赋值有问题

1楼
期指新手 发表于: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编辑过]
2楼
期指新手 发表于:2010/7/22 13:53:15

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

 

===========

maxprofit始终是0

3楼
金字塔 发表于:2010/7/22 15:39:06

去掉

win:=0;
win2:=0;

4楼
金字塔 发表于:2010/7/22 15:40:23
另外,买卖语句要齐全
5楼
董小球 发表于: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
6楼
期指新手 发表于:2010/7/22 16:44:52

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

7楼
期指新手 发表于:2010/7/23 10:05:20

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

8楼
admin 发表于:2010/7/23 10:43:03

那是因为

if win>maxprofit then
   maxprofit:=win;   

始终没有被执行

 

或者 win 本身就是0

 

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

[此贴子已经被作者于2010-7-23 10:45:02编辑过]
9楼
期指新手 发表于:2010/7/23 19:21:28
问题已解决,可持仓均价出问题。
共9 条记录, 每页显示 10 条, 页签: [1]


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