ashell 發表於 10-11-10 12:14

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

小弟最近研究如何讓AB可以用下單大師自動下單,
以下是初步的成果,如果有興趣要用的人可能還需要針對所需的部份做一些修改,
但已經可以正常運作了,如果有更好的想法也請麻煩告知,謝謝。

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

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

以下是程式碼:




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

up=Cross(MA(C,20),MA(C,50));
down=Cross(MA(C,50),MA(C,20));
Buy = up;
Sell = down;
Buy =ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

if (Buy==True)
{
NowDateTime=Now(0);
NowPosition = 1;
NowClose=LastValue(Close);
OMComAPI.GoOrder("FTX","","NowDateTime",Nowposition,Nowclose);

}

if (Sell==True)
{
NowDateTime=Now(0);
NowPosition = 0;
NowClose=LastValue(Close);
OMComAPI.GoOrder("FTX","","NowDateTime",NowPosition,NowClose);
}


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

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

45);

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

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

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

ParamColor("Down Color", colorGreen ) )
, styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

沒有完美 發表於 10-11-10 13:08

雖然不懂程式
還是要給你一個讚{:4_113:}
謝謝分享...

ashell 發表於 10-11-10 19:23

謝謝您們的鼓勵,這個範例還有一些要修改的部份,
不過當我在下單大師看到amibroker送來的訊號,
我還是覺得很開心,畢竟從前一陣子我就希望可以用AB來自動下單了,
再來要做的就是針對需求來修改程式碼了。

afala 發表於 10-11-10 22:26

這個要支持一下
辛苦了!謝謝{:5_231:}

A咖 發表於 10-11-16 19:28

我推推推
真的是好東西
而且機馬整理得很感竟

afala 發表於 10-11-16 21:41

請問..
if (Buy==True)
是什麼意思?{:4_93:}

ashell 發表於 10-11-17 13:43

amibroker的K線的計算方式,第一根是0,
最後一根(最新的一根)是,
所以if(buy==true)就是當最後一根時,
且買進訊號成立,則if的判斷式為真,
就會執行下會括號的程式碼,來指定時間,倉位,價位,
並且呼叫下單大師來下單。

ashell 發表於 10-11-17 13:50

回復 5# A咖


   謝謝您的鼓勵,能夠使用api下單,主要還是要謝謝下單大師的作者。

philipshu 發表於 10-11-17 20:14

buy 跟 LastValue(Buy) 會一樣嗎?

afala 發表於 10-11-17 23:38

回復 7# ashell
謝謝教導!

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

謝謝

ashell 發表於 10-11-17 23:46

buy 跟 LastValue(Buy) 會一樣嗎?
philipshu 發表於 10-11-17 08:14 PM http://coco-in.net/images/common/back.gif

不好意思,這我也不太確定,不過您可以在程式中寫出來,
再用下單大師模擬下單來測試,看是否會相同,
我在做測試時會比較傾向看下單大師的下單紀錄,
因為除了可以確定AB有成功送訊號給下單大師,
也可以知道送出訊號的時間。

ashell 發表於 10-11-17 23:51

回復ashell
謝謝教導!

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

謝謝 ...
afala 發表於 10-11-17 11:38 PM http://coco-in.net/images/common/back.gif

只有用過AB來寫程式,不會寫hts的程式這可能要查一下HTS的定義,看hts的第一根k是
BarNumber =1 還是 BarNumber=0;
若是等於0就和AB相同,AB的BarCount =1是表示第二根的K線。

afala 發表於 10-11-18 08:51

回復 12# ashell
謝謝!
很多AB的指令都不熟...研究中{:8_537:}

bbdcd 發表於 11-3-28 13:45

對於某一事物的研究,只有在深刻認識的基礎上,才能更好地運用它

f29825604 發表於 12-12-17 11:31

感謝天
感謝地
感謝ABTW作者
感謝下單大師作者
感謝....................
太多需要被感謝的人
頁: [1]
查看完整版本: 讓AB可以用下單大師自動下單的範例程式碼