让Amibroker符合国内股票软件的使用习惯

Discussion in 'AmiBroker' started by shane_lee, Oct 21, 2007.

  1. 用老外的软件看盘,有很多使用方法和我平时看国内软件时形成的不同,感觉很别扭。比如说我最感觉别扭的是下面两点:
    1.看盘时,我喜欢不停地用pagedown来回浏览几只自选股k线图,老外软件不这样,只能打开几个窗口用鼠标来回“最大化”、“最小化”。
    2.老外软件放大、缩小k线图多用scroll bar,要按住ctr拉鼠标,很不方便。国内软件就一个上、下箭头就解决了。

    周末没干别的,就在改造AMIbroker了,现在已基本符合我的使用习惯了:
    1.首先,点选tool--customize--keyboard,为zoom in、zoom out各自设置上下箭头为快捷键,这样就解决了放大、缩小k线的习惯问题。

    2.点选file--new--blank chart,将不同交易品种设置在不同的chart上,这样来回切换品种时只用点选相应的chart就行了。当然,你可能还是不满意,希望用快捷键来解决来回浏览品种的问题,amibroker可没有提供这样的快捷键选项。但我发现点选下拉式菜单中的ticker后使其变蓝时,就可以用上、下箭头键来回浏览各个chart了。这不是amibroker的快捷键,但事实上起到了这样的作用。

    3.amibroker对每个ma均线都在竖轴上标出value label,我设六条均线,就给出六个value label,很影响我做日内短线时观察实时价格,点选tool--preference-chart,取消show value label前的对勾就好啦。

    4.至于背景配色,在tool--preference--color里可选。

    心得:amibroker很强大、客户适用性的确做得很好。但k线图部分不太好,比quotetracker差很多,对比以下贴图就知道了。qt如果能有amibroker这样的快捷键功能,那一定是我看盘的不二选择。

    我刚接触amibroker,使用范围也很有限,希望大家也共同来说说自己的使用技巧。
     
  2. QT的图样

    QT的图样
     
  3. 谢谢分享
    顶!
     
  4. amibroker的公式系统非常灵活, 图形输出的控制很出色, 可以做出很漂亮的图来.
    楼主要说amibroker的K线图比QT差很多, 我就不理解了, 你完全可以写自己的公式来显示.

    amibroker的K线图不能让我满意的地方是: 不能显示纵坐标线(也可能可以用公式实现, 我还没有研究); 不能让主图坐标按可视K线范围变化, 而只能以指标范围变化或者指定范围.

    最后amibroker占用CPU比较厉害, 也可能是我的机器有点老. 但是和tradestation和owndata的组合比的确如此.

    目前看图主要用amibroker, 同时用tradestation来画线, 可能最终会转向tradestation.
     
  5. 你们用AB看的是什么市场?是国内A股吗?实时数据怎么来的?
    谢谢!
     
  6. 我用AB看的不是国内股市, 是IB账户的数据.
     
  7. livefree 你用的tradestation和owndata各是什么版本?稳定吗?

     
  8. 显示纵坐标线在 preferences->charting->show vertical line between months
    主图中 - show date axis? choose yes.

    这样-在日线及以上的周期,纵坐标线为当前周期+1
    在日内周期,纵坐标线为前日最后一条bar/当日第一根bar
    或公式实现:

    plot(iif(day()!=ref(day,-1),1,0),"vertical lines",colordarkgrey,1|stylehistogram|styleownscale|stylenolabel,0,1);

    day()可以改为其他的周期
     
  9. 3.amibroker对每个ma均线都在竖轴上标出value label,我设六条均线,就给出六个value label,很影响我做日内短线时观察实时价格,点选tool--preference-chart,取消show value label前的对勾就好啦。

    用stylenolabel
    如:
    plot(EMA(c,21),"ema21",colorred,5|stylenolabel);


    4.至于背景配色,在tool--preference--color里可选。
    在公式头加入以下:

    SetChartBkColor(ParamColor("Outercolor ",colorgold));
    SetChartBkGradientFill(ParamColor("Upper Innercolor", colorPaleBlue),ParamColor("LowerInnercolor", coloryellow));
     
  10. tradestation是8.2 (Build 3896), owndata是2.5.
    我主要看emini的3个品种, 比较稳定; TS直接读metastock格式的静态数据也没啥问题.

    这里可以下tradestation, http://www.esnips.com/web/TradestationStragegies?docsPage=1#files

    owndata的破解是金汇通varing_cloud 的那个破解.
     

  11. hgy 兄弟你真是专家!谢谢你的热心!!我这就去试试。
    顺便问下:我每次看盘时会打开好几个chart,不同chart看不同品种。但关闭amibroker后再启动,这些chart都消失了,只剩一个。怎么样才能让它下次启动还有原来的chart?谢谢了!!
     
  12. 看的是外汇和期货,数据从IB来。
     
  13. 研究了一下纵坐标的画线, 以下公式可以画60分钟的因子为间隔的纵坐标(5,10,15,20,30);

    N = Param("Periods", 15, 5, 30, 5);//default is 15 mins; you can set it to 5, 10, 15, 20, 30;

    Condition1 = (Ref(Minute(), -1)%N > N/2 AND Minute()%N < N/2);

    Plot(Condition1,"vertical lines", ParamColor("VGrid Color", colorGrey40), styleHistogram|styleOwnScale|styleNoLabel|styleNoTitle,0,1);
     
  14. 在preferences菜单, Miscellaneous标签下, Auto-save的几项打上钩应该就可以了.
    或者退出时, save all.
     
  15. 多谢多谢!但记得我退出前也点击过save all啊,现在上班,回家再去试试。

    另外请问下:兄弟你怎么用AB从IB下载日线数据?我试过一次,似乎选了日线下载,分钟线就没了。AB的使用说明说If you want to have long daily histories AND intraday charts you should consider running TWO instances of AmiBroker. 我不太明白,意思是让我分别建两个IB的数据文件夹,然后运行两个AB,一个只能看日线,一个只能看分钟线吗?这方法好像太笨了吧?

    另外用amiquote下载的外汇数据因为simbol与IB的不一样,不知怎样导入,正在研究,比较郁闷……
     
  16. 你理解的正确.
    我干脆把amibroker目录分别拷贝到几个驱动符下, 一个看tick chart, 一个看min chart, 另外一个看日线图.

    我不看外汇, 股票日线图我看的是metastock格式的数据, 这样可以很多软件共用, 来源也不是IB, 是yahoo或者prophet之类的.
     
  17. 请问有没有办法让Amibroker的crosshair(十字线)像MT那样,在纵轴显示value label,在横轴显示date/time?
     
  18. 也许可以用不同的database,interval time可以根据需要自设,
    每个database在amibroker下会使用不同的文件夹
     
  19. amibroker程序目前没有这样的设定,
    在afl现阶段应当也不可能,GetCursorXPosition或GetCursorYPosition接近,但有个先决条件status

    有点像的:
    axisx=ValueWhen(DateTime()==GetCursorXPosition(),BarIndex());
    PlotText(DateTimeToStr(GetCursorXPosition()),LastValue(axisx),Status("axisminy"),colorblack,colorwhite);
    Plot(IIf(GetCursorXPosition()<=0,Null,GetCursorYPosition()),"",colorblack,styleline,0,0,30);
     
  20. 还是把amibroker分别拷贝到不同的目录比较好.
    这样的话, 各个数据库可以有自己的环境: 可以启动各自默认的数据库, 而且启动后也不用调界面了.