多空寫在一起

  •   216 
  • 最後發表   Alex嘉  2023 四月 19
Alex嘉 發文於   2023/04/13

想請問一下 

我在一個策略裡 使用多空的移動停損,但我發現好像只會進場一次,想請問一下 是為什麼呢?

我模擬 1/1-4/13 發現只有進場一次做空,但沒有出場,想請問一下是哪個判斷有問題呢?

我想要寫出 使用MACD的黃金交叉判斷多進場,MACD死亡交叉進場

然後皆使用移動停損出場,請問我是哪邊有問題呢?

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/04/17

Hello Alex嘉,

 

您的移動停損點計算方式用相同變數直接寫在一起。

這會導致 Close < FilledAvgPrice 和 Close > FilledAvgPrice 時不會依照是多方還是空方去判斷,而是單純的以成交價和進場價格去判斷。

只要將 stoploss_point print出來就可以看出問題原因。

建議您在這一段也加上 filled 來判斷。(ex. if filled > 0 and Close > FilledAvgPrice then ...)

同理,停利停損的部分也要加上 filled 來判斷。 (ex. if profit_point > 0 and Close >= FilledAvgPrice + profit_point and filled > 0 then ...)

Alex嘉 發文於   2023/04/17

請問  stoploss_point print,  是要怎樣寫呢?  因為這個我一直不太懂,不好意思。

XQ小幫手 發文於   2023/04/19

Hello Alex嘉,

 

小幫手建議您先看看網站上的教學區,裡面有XS語法的基礎和應用。

關於print的使用法,您可以參考相關說明。

需注意會顯示在執行畫面看到輸出的只有指標腳本。

 

舉例來說,您可以在腳本最下方加上:

if filled <> 0 then print(date, time, filled, filledavgprice, stoploss_point);

並在回測設定時勾選 啟動腳本內print指令,這樣就會將持有庫存時的日期、時間、庫存、進場成本 以及 stoploss_point給印出。

Alex嘉 發文於   2023/04/19

清楚了!謝謝

發表回覆
Close