设为首页收藏本站

 找回密码
 注册
查看: 1478|回复: 2
打印 上一主题 下一主题

报单价格问题求助2 [复制链接]

Rank: 2

精华
0
UID
225809
积分
56
帖子
37
主题
17
阅读权限
30
注册时间
2015-12-28
最后登录
2017-7-21
跳转到指定楼层
1#
发表于 2016-9-12 09:58:33 |只看该作者 |倒序浏览
  1. Params        
  2.         Numeric Length(26);                        
  3.         Numeric Offset(2);        
  4.         Numeric Lots0(1);
  5.         Numeric Lots1(1);
  6. Vars
  7.         NumericSeries        OpenPrice;
  8.         NumericSeries        ClosePrice;        
  9.         NumericSeries UpLine;                //上轨
  10.         NumericSeries DownLine;                //下轨
  11.         NumericSeries MidLine;        //中间线
  12.         Numeric Band;
  13. Begin
  14.         
  15.         
  16.         
  17.                 OpenPrice = Data0.Open- Data1.Open;        
  18.                 ClosePrice = Data0.Close - Data1.Close;               
  19.         
  20.         
  21.         PlotNumeric("Open",OpenPrice);
  22.         PlotNumeric("High",Max(ClosePrice,OpenPrice));
  23.         PlotNumeric("Low",Min(ClosePrice,OpenPrice));
  24.         PlotNumeric("Close",ClosePrice);        
  25.         PlotNumeric("MA",AverageFC(ClosePrice,Length));        
  26.         
  27.         MidLine = AverageFC(ClosePrice,Length);
  28.         Band = StandardDev(ClosePrice,Length,2);
  29.         UpLine = MidLine + Offset * Band;
  30.         DownLine = MidLine - Offset * Band;
  31.         PlotNumeric("UpLine",UpLine);
  32.         PlotNumeric("DownLine",DownLine);
  33.         PlotNumeric("MidLine",MidLine);
  34.         
  35.         
  36.         
  37.         If(MarketPosition!=1 && CrossOver(ClosePrice[1],UpLine[1]))
  38. {
  39.          DATA0.Buy(lots0,DATA0.open);
  40.          DATA1.SellShort(lots1,DATA1.open);
  41. }

  42. If(MarketPosition!=-1 && CrossUnder(ClosePrice[1],DownLine[1]))
  43. {    DATA1.Buy(lots1,DATA1.open);
  44.          DATA0.SellShort(lots0,DATA0.open);
  45. }

  46. If( ClosePrice[1]<MidLine[1])
  47. {
  48.          DATA0.SELL(lots0,DATA0.open);
  49.          DATA1.BuyToCover(lots1,DATA1.open);

  50. }

  51. If( ClosePrice[1]>MidLine[1])
  52. {

  53.          DATA1.SELL(lots1,DATA1.open);
  54.          DATA0.BuyToCover(lots0,DATA0.open);}

  55. End
复制代码
请教下老师,这段代码为什么会出现有时候可以成交有时候报单价格严重背离实际价格的问题

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2016-9-12 10:15:04 |只看该作者
该公司有几点问题,需要修改一下的。
1,crossover,crossunder是序列函数,其赋值运算不应该有条件的限制,以免因为限制而导致计算结果的有误。
    建议使用中间变量,将这二个函数赋值给变量后,再将变量代入条件中进判断。
2,在行情波动大时,使用当前价格是不能保证成交的,建议加一些偏移点。或是直接使用商品设置--交易---委托偏移的设置即可。二个data源上都需要进行设置委托偏移。

使用道具 举报

Rank: 2

精华
0
UID
225809
积分
56
帖子
37
主题
17
阅读权限
30
注册时间
2015-12-28
最后登录
2017-7-21
3#
发表于 2016-9-13 09:12:56 |只看该作者
但在实际交易中,他报单是直接出现错单,也就是报了一个错误的价格,这个应该不是条件或者追单设置造成的吧
还有请教下,TB开拓者的优化,看重机器的哪个性能,怎么样的电脑优化更快一些

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-19 00:21

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部