區間突破的程式怎麼寫?
相信大家都曉得,有一種高低區間突破的策略,取一天開盤的前數分鐘,這段時間過後,只要突破區間的高點做多、低點放空,在搭配停利或者停損,請問這樣的策略要怎麼寫呢?有看過一些範例,但沒有說明其實都不是很懂。剛接觸程式交易,請不吝指教!謝謝。 大概這樣吧~http://www.yctseng.net/2012/12/blog-post.html 不知為何,必須按重新整理才能看到一瞬間的程式碼,但我已經把它記下來了。看完之後,覺得相當簡潔易懂,但有些不太了解的地方。
input:length(10),endTime(1330); length(10)是10跟k棒吧,不論是幾分k
VAR:K(1),tobuy(9999),toshort(0);請問為什麼K(1)呢?什麼意思?
k=iff(D>D),1,k+1); 這串也看不太懂,我只知道今天大於昨天而已。
if sessionastbar then begin 回傳最後一根k棒就開始?什麼意思?
tobuy=9999;
toshort=0;
end;
if k=length then begin 當k數量和長度相等
tobuy=highest(high,k); tobuy變成最高價
toshort=lowest(low,k); toshort變最低價
end;
if k>= length and <= endtime then begin 條件符合,突破後,下一根K買進
if marketposition<=0 then
buy next bar tobuy stop;
if marketposition>=0 then
sellshort next bar toshort stop;
end;
setexitonclose; 將部位清空平倉
陳君弘 發表於 12-12-11 13:07 static/image/common/back.gif
不知為何,必須按重新整理才能看到一瞬間的程式碼,但我已經把它記下來了。
看完之後,覺得相當簡潔易懂, ...
我來試著回答一下, 若有誤請阿政大指正.
VAR:K(1),tobuy(9999),toshort(0);請問為什麼K(1)呢?什麼意思?K是用來計數K棒是今天開盤後第幾根, 先預設=1, 下面會依條件更新.
k=iff(D>D),1,k+1); 這串也看不太懂,我只知道今天大於昨天而已。所以逢開盤(換日) K就再設定為1, 盤中每根就依序遞增+1.
if sessionastbar then begin 回傳最後一根k棒就開始?什麼意思?
tobuy=9999;
toshort=0;
end;收盤時重設區間的高低變數.
本帖最後由 曾永政 於 12-12-11 17:10 編輯
TedWang大 回答完畢,讚!就是那樣~
補充一下,在變數或參數宣告時,括號內的數值是預設值,"K"是標記目前K棒是每天的第幾根,所以預設從1開始。
對了,在這個賠錢貨的程式碼,我不是等突破"後"才進場,是碰到突破價就進場。下單的指令是 stop 。
之前我也遇到相同的問題---"必須按重新整理才能看到一瞬間的程式碼", 後來用Chrome開網頁就正常了. 了解囉!謝謝tedwang 和政大^^
頁:
[1]