2014年5月26日 星期一

代工方案來囉!

承前文,代工方案出來了,就在上方選單的"RD代工",有興趣一"虧"究竟的朋友趕快去看喲!

2014年5月25日 星期日

AC的經營

去年一度想把AC委託給朋友經營,也差點在前幾個月前成真了,但在經營慘淡、前景不明的狀況下,朋友很有見地的決定另謀高就了,我也覺得他的選擇是正確的。

會有這樣的想法實在是因為看螢幕對我來說越來越吃力了,從前常寫程式寫到天亮,可這些借貸的精力現在都必須加倍奉還,甚至百倍奉還,這幾年不但眼睛容易疲勞還患上了失眠頭痛的毛病,對於很愛動手實現一些想法的我實在是倍感困擾。

因為AC本來就不是為了賺投資人的錢而生的,所以我一直都把開發方向導向於適合自己研究的路徑,然而會經營AC不諱言也是想順便賺一些生活費,但我應該算是很有良心的經營者吧,很多先跟我聊過的朋友要花錢的時候我都會試圖阻止XD,因為AC只是開發平台,如果沒有開發能力,AC就沒什麼價值了,現在網路上各式各樣的軟體都有,有些甚至不用錢,比起AC真是CP值無限大。

AC成立的這幾年來我幫不少人寫過東西,有些是贊助者有些不是,有人叫我開價,但我開不出來,因為寫這些東西對我而言實在不是什麼難事,但賺這些零頭又太累了,就當交個朋友還比較值...除了有次是偏商業性質的提案,我開了薪水價對方就徹了,大概是以為我吃電就可以寫程式了....。

總之AC仍然是我無法託付給別人的責任,說到這裡,我想是該改變經營策略了,以解決想用AC的人空有平台卻苦無腳本的窘境。近期已將免費授權的功能調整至與標準授權相差無幾,以利平台的推廣,再來就是訂定代工委託的方案,讓AC至少能為個人所用,方案稍晚會再行發文。

因應這樣的改變,對現階段已經贊助的朋友(限2014年5月25日前的永久授權用戶),可以提案給我,我無償代工,但不保證什麼都做,小弟量力而為之,還請見諒。

2013年10月30日 星期三

那些年我獨自幹的蠢事

最初玩股票的時候,有幾次懊惱的經驗,我總是習慣關注未起漲股,並期待他追上其他股票,然後在看到大單敲進時腎上腺素也跟著噴出,一檔接著一檔的往上攻,再考慮下去又過了四五檔,就在那個當下,一個短暫的暫態,貪婪的神經取得了大腦的控制權,顧不了這麼多了!大漲在即!快買!

2013年8月20日 星期二

金融市場的致富之路

這是最近寫給我戰友的一封信。從08年金融海嘯前夕踏入這悲慘市場,已經有六年了,今年就是當初暗地立誓給自己的最後通牒期限,失敗了就老老實實夾著尾巴回職場賣命吧,這是我最不情願的退路了,雖然是貪婪的出發點,但我就是想要自由。

為了這背水一戰隔年我就離開了職場,並頃全力開發研究工具,大概沒人能體會頃全力有多瘋狂吧,如果我說夢境裡有個迴路偵測出程式寫錯,然後我就像做惡夢般驚醒彈起來修改程式你信嗎?用走火入魔來形容應該也是剛好而已!研究的後期已經不再著重開發工具了,而是在交易邏輯,那更是會讓人驚醒的惡夢,有次誤以為自己找到了通往天堂的門卡,一覺醒來就以光速重摔地獄,心情低落更是難以言喻。

其實08年後我就沒再交易了,也不再看盤,只是偶爾關心一下收盤或趨勢,我的壓力與恐懼也完全不在盤勢上,我約束自己如果沒有找到穩定的方法就永遠不再下單,但坐吃山空好一陣子著實讓我煩惱最後通牒的日子無情的逼近。 從前常常會想問金融交易到底有沒有聖杯,都已經付出到這樣的地步了...還不夠嗎!?

...直到一個輾轉的緣份,讓我看到了十年之後...這一眼十年突然就讓我豁達了,甚至提早夾著尾巴回到了職場...這封信只有一個公式外加一些廢話。

財富 = 本金 x ((報酬率?風險) ^ 時間)

如果你的研究也遇到了瓶頸,試著細細品嚐這個公式吧!

2013年8月19日 星期一

腳本運作的流程

AC裡腳本的執行流程與一般Java程式的執行流程不同,Java程式語言的進入點是一個static的main函數,進入後流程的控制權就完全交給程式設計師了,一旦離開main函數,程式完全消滅,但AC的腳本不是這樣。

在AC裡執行Java腳本時,是以事件驅動的方式執行,大流程是由事件觸發,小流程是由設計師控制。所謂事件,舉例來說,像是腳本一開始被執行時處在尚未初始化的狀態,AC就會呼叫腳本裡的init函數(大流程),執行開發者的初始化流程,開發者可以趁機做一些變數的宣告或初始化的動作(小流程),當離開init函數後程式也不會結束,只是靜靜的等待下個事件的到來,下個事件很可能是'發生新的報價'或'游標移動到某根K棒'。以事件觸發的方式來驅動流程,可以很容易的區別每個函數的工作,我們先簡單看看常用的三個事件函數:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
public class MyScript extends ScriptCore
{
 public void init()
 {
 }

 public void run()
 {
 }

 public void endOfPeriod(int type)
 {
 }
}


---


public void init()
通知腳本可以開始執行初始化流程。


public void run()
通知腳本有新的報價資料出現(報價可能來自歷史資料,或即時接收到的報價),這時候可以做一些指標的運算,或數值的分析等。


public void endOfPeriod(int type)
通知腳本某種週期結束(EO事件),像是EOB(1根K棒結束)、EOD(一天結束)、EOH(歷史報價結束)等。此時就可以做一對應的工作,例如當歷史報價結束時(EOH),可以檢查選股邏輯是否成立等。

---

另外還有些比較不常用上...


public void eventShowInput()
通知腳本有顯示參數選單的需求,這時後可以決定要輸出什麼樣的選單給使用者看。


public void eventHilightMovin(int t)
通知腳本滑鼠游標移動到某根K棒上,這時候可以更新圖格標題顯示的時間或報價訊息。

本人僅以個人知識經驗分享,多所無知,難免有錯,還請見諒。