sunny的帖子很红火,该我求助了。 我用tipstertrendline(blog.tipster.ca),半自动通过AB向Interactive Brokers下单。想实现如下两个功能: 1. 下单键按下后,弹出一个子窗口,提示交易计划的最核心步骤,证实后再传到IB;目的是避免冲动交易; 2. 自动截取下单时的图表,包括开仓和平仓。这是为了记录用。 我和作者Brian交流过这些想法,他很同意,不过两个月过去了,没动静。所以在这里求助,看看能否得以解决。因为版权问题,我不能把tipstertrendline全部代码放上,不过其中button的功能是公开的,可以分享。
提供一点点思路吧 #1,不知道是否理解对了你的问题。我觉得这个不应该通过编程来提醒。只要养成一个习惯即可,比如最简单的方法,写个醒目的checklist放在桌上,把一些关键要素列在那里,比如止损,出场目标,头寸计算,必须遵守的原则....,下单之前逐个对一遍。其实这么操作一阵子之后,不用看那个列表你也养成习惯了。如果一定要但弹出窗口的话,就用PopupWindow()。 #2,amibroker似乎没有内部函数可以实现,但是AFL里面可以执行VBscript,所以理论上可以使用VBscript做截屏。帮你找了一个链接(但是我没有亲自实验过): Print Screen in VBScript http://www.visualbasicscript.com/Print-Screen-in-VBScript-m53752.aspx AFL Scripting Host http://www.amibroker.com/guide/a_script.html
Stanwell兄想要怎么个自动法呢? 单纯截屏,自动保存到某个时刻的文件名里面,AutoIt3很方便。 几行语句。 要从Script里面触发这个截屏事件,可以用AFL里面的ShellExecute。 http://www.amibroker.com/guide/afl/shellexecute.html
呵呵,谢谢二位,一下子有思路了。 to cdf, 我的打算是当点击下单的button时,把order传到IB后就自动截图,按日期和symbol以及order类型形成文件名存盘。当平仓的指令发出后,再截图存盘一次。这样就有了完整的记录,为以后复盘用。 要好好研究一下,实现后贴上来共享。
自動產生 LOG 檔記錄每筆交易, 給你參考。 需要的話自己修改,不要問我如何做。 //-------------------------------------- Trade log file ------------------------------- if( tradelog){ filename= "d:\\twstradelog\\"+"Tradelog_"+ticker; fh = fopen( filename+".txt","a"); if(fh) { Value= LastValue(Oqty*C) ; Oldvalue= StaticVarGet( "oldvalue"+varid); type=""; if (trade_log_state=="*BUY") { StaticVarSet( "oldvalue"+varid,Value); type="-Buy" ; } else if (trade_log_state=="*SELL") { StaticVarSet( "oldvalue"+varid,Null) ; type="Sell" ; } profit= Nz(Value-Oldvalue) ; text1 = ""+Now()+" , "+ type+" , "+ "OrderID:"+" , "+orderid +" , "+"Params:"+Params +" , "+ "Qty:"+" , "+Oqty+ " $ "+ NumToStr(VALUE/OQTY,1.2) + " , "+ "Value: "+ NumToStr(Value,1.2) +" , " + "Profit: "+" , "+ NumToStr(profit,1.2); fputs(text1, fh); fputs( "\n", fh ); fclose(fh); } }