2016年12月15日 星期四

★Wen股票程式交易策略(含程式碼)

     我們身邊常常都可以聽到很多明牌,接受一大堆資訊後然後胡亂進場,有一些股票最後真的變成飆股,但是無奈抱不住,在獲利的時候也沒有勇氣追高順勢加碼。在這邊提供我自己也有在用的程式碼並提供一些股票交易的小撇步,供大家參考。股票的箇中奧密之處在於選股,所以我並不會介意公佈我自己的實戰策略。

(1) 定期建立可能的飆股清單
     不管是聽消息、研究基本面或是籌碼面,要求自己每一季找出下一季可能會噴出的20-30檔股票。找的過程永遠要找類股中有人氣且技術面較強勢的股票,永遠不要去找股價在低檔,然後去賭他即將打完底的股票,因為這些股票上面壓力重重,很難用飆漲的方式噴出。
     假設我收到消息,未來黑色金屬的報價可能會再次泡沫,因此看多鋼鐵股,這時候我選股永遠都是選類股中「季漲幅%」最強勢的股票,而且成交量一定要很熱絡才行,如下圖所示,我如果要交易鋼鐵股,一定是買進2023盛餘及2014中鴻,我絕對不會去買雜誌推薦的燁輝或是第一銅。什麼時候選股最好?就是類股回檔的時候,如果有一些股票不回檔,那麼他一定是首選。



(2) 按照程式訊號進場
     如果可以的話,串接下單大師設成自動交易是最理想的。如果沒辦法的話其實也不要緊,股票的漲勢通常又久又漫長,不用怕自己的進場點晚了幾根K線,例如你看到訊號出來後,過兩天再手動補單,也是沒有關係的,大部分的時候股票都會過高又拉回,晚點進說不定還有更好的進場點。

    股票交易的原則很簡單,就是突破進場,然後如果有獲利的話,就拉回加碼,只要按一定的邏輯慢慢佈單,如果真的抓到幾隻飆股,很容易就能賺到50%以上的報酬(而且是在三、四個月內)。

inputs:len(40),MASLOP(60),money(360000);
vars:PH(0),PL(0),Purchase(0);

PH=High;
PL=Low;

Purchase=money*1/(1000*close);
value7=intportion(Purchase);

value1=averagefc(close,MASLOP);
value50=slowD(9);

{第一筆單}
if value1>value1[1]   then begin
if marketposition=0 then buy ("Buy+") value7 contracts next bar at highest(PH,len) stop;
end;

{拉回加碼單}
if currentcontracts>0  then begin
if marketposition>0 and Low>avgentryprice  and value50 cross under average(value50,5)  then buy ("SBF+") intportion(value7/2) contracts next bar market;
end;

{看錯認賠}
if marketposition>=0 then sell ("STOP") next bar at lowest(PL,len*0.5) stop;
if marketposition>0 and lowest(low,10)>Avgentryprice then sell next bar at avgentryprice stop;


{賺20%之後每漲過昨高的3%就減碼}
if marketposition>0 and c>entryprice(0)*1.2  then sell ("TP") 0.5*currentcontracts contracts from total next bar at H*1.03 limit;



[SameExitFromOneEntryOnce=false];



近期範例:



1569 濱川


6235 華孚 (經濟日報及雜誌推薦了一年多了,見光死的明牌未必不會噴出)

3005神基


後記:

1. 股票程式交易建議只做多單,因為飆漲通常是有主力在買進,但崩盤是沒有主力的。
2. 股票跟期貨的模式會不一樣,在上漲的過程,噴出減碼、拉回再加碼長期下來效果會更好。如果你選股能力很強的話,乖乖用這方式去交易,看錯風險有限,看對大撈一票。
3. 我可以老實跟你說這種交易模式雖然會讓你賺到錢,但是一年下來賺到總資金的30-50%就很不錯了,除非預到大多頭,不然年績效是很難翻倍的,最主要的原因就在於股票是低槓桿的交易,而且會有資金利用率的問題,你得想辦法把手中的閒置資金水位降到最低,才能獲取更好的報酬,除此之外,選股的成功率也會影響你的績效。





股票交易系列文章:

★股票程式交易SOP:下單串接篇

10 留言:

Pat 提到...

其中value7=intportion(Low*Purchase);
應該沒有Low?
謝謝WEN大分享,非常精彩。

WEN 提到...

嗯,筆誤

Jay Lin 提到...

想請問 Purchase=money*1/(1000*close);
這條件代表什麼,為何要設360000
謝謝

Ou Oscar 提到...

Hello Wen大

想請教一下定期選股方面,除了像索羅斯所說,找有話題性的股票,還有什麼其他技巧嗎?

WEN 提到...

選股不好的就把股池放大一點,重點是出現飆股的時候,你恰巧手上有部位。整體報酬會下滑,但是總比買到不漲的股票好。 (最怕的就是花太多時間選股,然後選到的沒漲)

匿名 提到...

請問一下~要怎麼一次回測所有的股票?

匿名 提到...

很好奇想請問一下, 您用這種程式交易的方法, 平均獲利率是多少呢?能夠確保會賺錢嗎?

WEN 提到...

無法保證獲利,只是我的策略而已。

像咧 提到...

WEN大請問您的"季漲幅%"的截圖是哪套軟體? 謝謝

Stephen1872 提到...

{賺20%之後每漲過昨高的3%就減碼}
if marketposition>0 and c>entryprice(0)*1.2 then sell ("TP") 0.5*currentcontracts contracts from total next bar at H*1.03 limit;
>>>請問賺20%是指從第一筆母單後開始計算? 還是加碼單進場後就從加碼單進場點的1.2開始重新計算?

張貼留言

如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!

----------------------------------------------------------------------------------------------------
網站聲明(Disclaimer)
本教學網站內所提供之程式碼(包括函數、指標、訊號)屬開放程式碼,用意在於讓使用者學習程式語法之撰寫,使用者可以任意修改語法內容並調整參數。本網站所有之內容(包括文章、影片、歷史紀錄、程式碼、教材)限用於個人學習使用,請勿轉寄、濫用,嚴禁私自串接帳戶交易。
-------------------------------------------------------------------------------------------------