(策略概念如下圖)
若我寫了一個突破進場策略,觸發價下一根bar的開盤價為進場點,其值為X,為了同時間執行停利出場策略,請問
X的值要如何取得?
(策略概念如下圖)
若我寫了一個突破進場策略,觸發價下一根bar的開盤價為進場點,其值為X,為了同時間執行停利出場策略,請問
X的值要如何取得?
不好意思..看得不是很懂....
舉個例子,如果我的進出場策略如下:
-------------------------------------------------------------------------------
進場:(紅K棒突破5日均線)
If open[1]<MA5 and close[1]>open[1] and close[1]>MA5
then ret=1;
出場:獲利10%
If GetQuote("成交") > "X" * 1.1
then ret=1;
------------------------------------------------------------------------------
我主要想問的是,這個X要怎麼用程式的語法來求得,因為XS無法去取得證券庫存的成本價
整個策略在跑的時候,我可能在上班,當進場觸發後,的確就會自動下單
但我不可能在上班的時候隨時去注意已經進場,而再去手動輸入X值,再去跑出場策略
真正的程式交易,應該是達成條件後,自動進出場
不知XQ小幫手有看到這篇嗎?
首先,XS進場和出場是不同腳本分開運作但同步執行的;
一般來說進場腳本都是出場腳本的上半部,除非進出場採的是異向指標(例如:進場用KD,出場用均線),
否則就把進場上半部觸發值SAVE在一個變數值內,再由此變數值做為依據加入條件or算式後成為出場腳本。
舉例來說,你要收紅+突破均線時買入,一般就是 condition1=close[1]>open[1] and close[1]>ma5;
當condition1條件成立時為觸發ret=1。
而出場腳本除了引用進場腳本外,還需加入要做為依據的變數值value或自定義變數;
例如 condition1=close[1]>open[1] and close[1]>ma5;
當條件成立時將觸發改為暫存於變數值
if value2=0 then ←假設要儲存的變數值為value2
begin
if condition1 then ←進場腳本觸發
begin
value2=open; ←進場價SAVE
end;
end else
begin
if value2>0 and close>= value2*1.1 or close<=value2/1.1 then ←出場條件成立
begin
ret=1;
value2=0; ←觸發後變數歸零
ertmsg="自訂";
end;
有時間性如當沖單
就加上
if value2>1 and CurrentTime >= XXXXXX ←強制出場時間
then begin
ret=1;
value2=0;←一樣要歸零
RetMsg = "TIME UP強制平倉";
end;
end;
7 評論