COCO研究院

 找回密碼
 註冊
搜索
查看: 6582|回復: 14

讓AB可以用下單大師自動下單的範例程式碼

[複製鏈接]
發表於 10-11-10 12:14 | 顯示全部樓層 |閱讀模式
小弟最近研究如何讓AB可以用下單大師自動下單,
以下是初步的成果,如果有興趣要用的人可能還需要針對所需的部份做一些修改,
但已經可以正常運作了,如果有更好的想法也請麻煩告知,謝謝。

使用上要注意的是在AB中now(0)這一個函數是要取得系統時間,
而所取得的系統時間的格式和系統上設定的時間相同,
除非用strformat()來指定輸出的格定,但我沒有處理這個部份,
而是直接在控制台-->地區及語言,把時間的設定改成我要的格式HH:mm:ss

另外在使用前還需在下單大師的目錄下執行RegOMCOM.bat這一個批次檔(注意不是RegOMCOM.exe)
才可正常使用,較詳細的資訊請參考:
http://coco-in.net/viewthread.php?tid=6624&extra=page%3D1

以下是程式碼:




  1. OMComAPI = CreateStaticObject("OMSignAPI.OMCOMAPI");
  2. OMComAPI.IniDllAndPosition("FTX", 0);

  3. up=Cross(MA(C,20),MA(C,50));
  4. down=Cross(MA(C,50),MA(C,20));
  5. Buy = up;
  6. Sell = down;
  7. Buy =ExRem(Buy,Sell);
  8. Sell=ExRem(Sell,Buy);

  9. if (Buy[BarCount-1]==True)
  10. {
  11. NowDateTime=Now(0);
  12. NowPosition = 1;
  13. NowClose=LastValue(Close);
  14. OMComAPI.GoOrder("FTX","","NowDateTime",Nowposition,Nowclose);

  15. }

  16. if (Sell[BarCount-1]==True)
  17. {
  18. NowDateTime=Now(0);
  19. NowPosition = 0;
  20. NowClose=LastValue(Close);
  21. OMComAPI.GoOrder("FTX","","NowDateTime",NowPosition,NowClose);
  22. }


  23. Plot(MA(C,20),"MA20",colorRed,styleLine);
  24. Plot(MA(C,50),"MA50",colorBlue,styleLine);
  25. PlotShapes(IIf(Buy , shapeSmallUpTriangle, shapeNone) ,colorYellow, 0,L,-

  26. 50);
  27. PlotShapes(IIf( Sell, shapeSmallDownTriangle, shapeNone) ,colorBlue, 0,H,-

  28. 45);

  29. _SECTION_BEGIN("Price");
  30. SetChartOptions(0,chartShowArrows|chartShowDates);
  31. _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo

  32. %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) )

  33. ));
  34. Plot( C, "Close", IIf( C > O, ParamColor("Up Color", colorRed  ),

  35. ParamColor("Down Color", colorGreen ) )
  36. , styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
  37. _SECTION_END();
複製代碼

評分

參與人數 1金錢 +2 收起 理由
leo + 2 給一個讚 感謝了

查看全部評分

發表於 10-11-10 13:08 | 顯示全部樓層
雖然不懂程式
還是要給你一個讚
謝謝分享...
 樓主| 發表於 10-11-10 19:23 | 顯示全部樓層
謝謝您們的鼓勵,這個範例還有一些要修改的部份,
不過當我在下單大師看到amibroker送來的訊號,
我還是覺得很開心,畢竟從前一陣子我就希望可以用AB來自動下單了,
再來要做的就是針對需求來修改程式碼了。
發表於 10-11-10 22:26 | 顯示全部樓層
這個要支持一下
辛苦了!謝謝
A咖 該用戶已被刪除
發表於 10-11-16 19:28 | 顯示全部樓層
我推推推
真的是好東西
而且機馬整理得很感竟
發表於 10-11-16 21:41 | 顯示全部樓層
請問..
if (Buy[BarCount-1]==True)
是什麼意思?
 樓主| 發表於 10-11-17 13:43 | 顯示全部樓層
amibroker的K線的計算方式,第一根是0,
最後一根(最新的一根)是[barcount-1],
所以if(buy[barcount-1]==true)就是當最後一根時,
且買進訊號成立,則if的判斷式為真,
就會執行下會括號的程式碼,來指定時間,倉位,價位,
並且呼叫下單大師來下單。
 樓主| 發表於 10-11-17 13:50 | 顯示全部樓層
回復 5# A咖


   謝謝您的鼓勵,能夠使用api下單,主要還是要謝謝下單大師的作者。
發表於 10-11-17 20:14 | 顯示全部樓層
buy[barcount-1] 跟 LastValue(Buy) 會一樣嗎?
發表於 10-11-17 23:38 | 顯示全部樓層
回復 7# ashell
謝謝教導!

另想請教
HTS的BarNumber = 1
是否與AB的BarCount=1
相同

謝謝
 樓主| 發表於 10-11-17 23:46 | 顯示全部樓層
buy 跟 LastValue(Buy) 會一樣嗎?
philipshu 發表於 10-11-17 08:14 PM


不好意思,這我也不太確定,不過您可以在程式中寫出來,
再用下單大師模擬下單來測試,看是否會相同,
我在做測試時會比較傾向看下單大師的下單紀錄,
因為除了可以確定AB有成功送訊號給下單大師,
也可以知道送出訊號的時間。
 樓主| 發表於 10-11-17 23:51 | 顯示全部樓層
回復  ashell
謝謝教導!

另想請教
HTS的BarNumber = 1
是否與AB的BarCount=1
相同

謝謝 ...
afala 發表於 10-11-17 11:38 PM


只有用過AB來寫程式,不會寫hts的程式這可能要查一下HTS的定義,看hts的第一根k是
BarNumber =1 還是 BarNumber=0;
若是等於0就和AB相同,AB的BarCount =1是表示第二根的K線。
發表於 10-11-18 08:51 | 顯示全部樓層
回復 12# ashell
謝謝!
很多AB的指令都不熟...研究中
發表於 11-3-28 13:45 | 顯示全部樓層
對於某一事物的研究,只有在深刻認識的基礎上,才能更好地運用它
發表於 12-12-17 11:31 | 顯示全部樓層
感謝天
感謝地
感謝ABTW作者
感謝下單大師作者
感謝....................
太多需要被感謝的人
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-22 22:34

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |