工程師 您好:
請問
1. 想用自動交易控制停損 例如: close < 買進價5% 賠5%就自動執行停損賣出
(可指定時間或收盤前嗎? 例如: 1點或1:20 因盤中有時只是急殺)
2. 如果有庫存股 比如 2330 已經賠7% 可以排除指定的股票 暫不執行停損嗎?
謝謝您~
工程師 您好:
請問
1. 想用自動交易控制停損 例如: close < 買進價5% 賠5%就自動執行停損賣出
(可指定時間或收盤前嗎? 例如: 1點或1:20 因盤中有時只是急殺)
2. 如果有庫存股 比如 2330 已經賠7% 可以排除指定的股票 暫不執行停損嗎?
謝謝您~
你的要求其實用券商的智慧下單的功能就可以達成
有蠻多家券商的app都有(統一,群益,日盛..)不只設% 還可以設時間喔 !
如果用xq,於訂閱模組時,輸入「XQ優惠碼」:6064VTH
感恩您 !
謝謝尼大的回覆 我會先使用~~
請問工程師 如果上題要用自動交易程式來執行
請問該如何寫程式碼 或有案例可參考嗎?
謝謝!
請問工程師 如果上題要用自動交易程式來執行
請問該如何寫程式碼 或有案例可參考嗎?
謝謝!
請問工程師 如果上題要用自動交易程式來執行
請問該如何寫程式碼 或有案例可參考嗎?
謝謝!
請問工程師 如果上題要用自動交易程式來執行
請問該如何寫程式碼 或有案例可參考嗎?
謝謝!
Hello 東尼,
自動交易控制停損您可以使用 FilledAvgPrice 來取得進場價格,並依此來計算。
https://xshelp.xq.com.tw/XSHelp/?HelpName=FilledAvgPrice&group=TRANSACTIONFUNC
如果需要指定時間的話,只要多加個條件即可。
舉例來說:
condition1 = currenttime >= 130000; //時間大於13:00
condition2 = close <= (FilledAvgPrice * 0.95); //收盤價小於進場價格的95%
if condition1 and condition2 and position <> 0 then setposition(0, market); //如果達成上面兩個條件,且部位不為0的話清空部位
關於停損和時間限制的寫法討論區已經有許多用戶發問過,您亦可以參考那些文章看是否有符合您需求的部分。
如果您想指定某隻特別的股票的話,可以使用symbol函數。
https://xshelp.xq.com.tw/XSHelp/?HelpName=Symbol&group=FIELDFUNC
用上面的例子的話:
condition1 = currenttime >= 130000; //時間大於13:00
condition2 = close <= (FilledAvgPrice * 0.95); //收盤價小於進場價格的95%
if condition1 and condition2 //如果達成上面兩個條件
and position <> 0 and symbol <> "2330.TW" //部位不為0且商品不為2330.TW
then setposition(0, market); //清空部位
另外小幫手補充一下,基本上小幫手回覆問題時會從後面頁數往前回覆。(優先回覆先發問之用戶)
如果您一直重複推文的話,會反覆把問題推到前面的頁數,反而造成小幫手更晚看到。
最近由於居家工作的關係,用戶問題數量有變多的傾向,需要麻煩您在發問後多等一陣子。
感謝。
另外感謝 尼莫 的熱心回覆。
感謝您的指導~~
辛苦了!
請問工程師:
如果要寫一個停利(close>=成本+10%)及停損(close<=成本-5%)交易腳本
因無寫交易腳本的經驗 所以請問這樣改編寫對嗎?
1.請問完整腳本這樣寫對嗎? 停損/停利一起寫對嗎? 要放在"交易"類腳本對嗎?
2.腳本若正確 經過設定帳正確後 就會自行去抓指定帳號庫存 是嘛?
3.腳本執行頻率需要(不要)設定?
4.因剛開始使用 如果只想在達到-停損或停利條件時 只要出清一半(1/2)部位 請問怎改?
---------------------------------------------------------------------------------------------------
if filled >0 then begin
condition1 = currenttime >= 130000; // 時間大於13:00 後決定
condition2 = close <= (FilledAvgPrice * 0.95); //收盤價小於進場價格的95%
condition3 = close >= (FilledAvgPrice * 1.10); //收盤價大於進場價格的 10%
if condition1 and condition2 //如果達成上面1&2兩個條件- 停損
if condition1 and condition3 //如果達成上面1&3兩個條件- 停利
and position <> 0 and symbol <> "2330.TW" //部位不為0且商品不為2330.TW
then setposition(0, market); //清空部位
-------------------------------------------------------------------------------
5.如果要用20日均線停損時 是否改成指定這個件就好了
condition1 = currenttime >= 130000; // 時間大於13:00 後決定
//condition2 = close <= (FilledAvgPrice * 0.95); //收盤價小於進場價格的95%
//condition3 = close >= (FilledAvgPrice * 1.10); //收盤價大於進場價格的 10%
condition4 = close <= average(getfield("收盤價", "D"),20) ;//20日均價
if condition1 and condition4 //如果達成上面1&4兩個條件-
then setposition(0, market); //清空部位
謝謝~
Hello 東尼,
1.
由於您有使用到 FilledAvgPrice 交易函數,所以必須要用交易腳本。
略作修改的腳本如下:
if filled > 0 and position > 0 then begin
condition1 = currenttime >= 130000; // 時間大於13:00 後決定
condition2 = close <= (FilledAvgPrice * 0.95); //收盤價小於進場價格的 95%
condition3 = close >= (FilledAvgPrice * 1.10); //收盤價大於進場價格的 110%
condition4 = symbol <> "2330.TW"; //商品不為2330.TW
if condition1 and (condition2 or condition3) and condition4 then setposition(0, market); //如果達成上面1&(2 or 3)&4條件-市價出場
end;
2.
您需要登入帳戶,然後將策略部位設定為依庫存。
需注意此設定只有在啟動的時候會去讀取庫存。
在此策略運作的狀況下,所有外部操作 (ex. 手動進出場,其他策略進出場) 都不會對該策略的部位庫存有影響。
您可以參考自動交易中心的教學。
3.
所有策略都需要設定頻率。
4.
您可以參考setposition的說明,並且設定input來作調整。
舉例來說,假設您持有四張,所以只要出2張,可以將腳本修改為:
input: qty(4, "初始持有張數");
if filled > floor(qty/2) and position > floor(qty/2) then begin
condition1 = currenttime >= 130000; // 時間大於13:00 後決定
condition2 = close <= (FilledAvgPrice * 0.95); //收盤價小於進場價格的 95%
condition3 = close >= (FilledAvgPrice * 1.10); //收盤價大於進場價格的 110%
condition4 = symbol <> "2330.TW"; //商品不為2330.TW
if condition1 and (condition2 or condition3) and condition4 then setposition(floor(qty/2), market); //如果達成上面1&(2 or 3)&4條件-市價出場
end;
5.
是的,您的condition4跨頻率計算平均值的寫法並沒有錯。
工程師 您好:
順道請教
1.若股價到設定的停損/停利價格時 如果要指定用 市價 內盤價 外盤價 或限定價格的方式賣出 該如何定義?
2.如果早上10點買一檔股票100元 到13:10分時股價跌到94元 該腳本會執行動作嗎? 或該如何做?
如果庫存是融資 或是當沖該注意甚麼嗎?
謝謝~
14 評論