想寫一個以觸發條件時的收盤價為基準,100點後停利的程式

  •   57 
  • 最後發表   Chun Yi  4 週前
Chun Yi 發文於   2025/04/15

小幫手您好!!!

小弟目前才剛接觸程式交易

想寫一個以MA5跟MA20黃金交叉後

以該黃金交叉後的收盤價為基準

超過該收盤價的100點後停利

例如台積電期貨(全)的5分K

目前的草稿如下:

If  average(close,5)[1] < average(close,20)[1] and average(close,5) > average(close,20)

then

  begin

    value1=close

    buy(1,market)

  end;

if price > value1 + 100

then sell(1,market)

目前因為工作性質的關係,在離島出差

也不方便攜帶筆電

回台灣也要一個多月後

可是這個程式碼在我心裡一直想了好幾天

好想測試知道對不對

有感覺似乎某些地方可能有點怪

好像有點知道是哪裡出問題,但自己又說不太上來

請小幫手不吝指教Orz

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/04/18

Position=1 and filled=1,代表預期部位1張,實際部位也是1張,亦即全部成交。setposition(1),position是1,若filled=0,代表買進的1張還沒成交。

Chun Yi 發文於   2025/04/18

如果說

當我條件達成時,送出委託單,成交以前

這樣position=1,filled=0對吧

當成交後才會filled=1沒錯吧

可是成交之後,position還是等於1嗎

還是委託成交後position會變成0

因為看教授之前寫的程式碼是在當有部位下準備要賣時是寫position=1 and filled=1

可是position字面上是寫預期,當預期達成了之後就是實際了吧

還請教授解惑Orz

虎科大許教授 發文於   2025/04/18

Position是預期部位,Filled是實際部位。

Chun Yi 發文於   2025/04/18

了解,有點明白了

Position是當策略執行後

因執行該策略而持有的部位

與本身自己以該策略指定的帳號而手動下單的部位不同

而filled是指該策略指定的交易帳號內

實際擁有的部位

請問這樣理解對嘛><

虎科大許教授 發文於   2025/04/17

(1)長期多單,程式仍然可以根據是否有部位判斷訊號。

(2)若不勾選逐筆洗價,則筆數宣告不需要用intrabarpersist。

(3)是否用position或filled控制交易指令,要看情況。有時候用position,有時候要用filled,有些時候需要兩者一起使用。你的非逐筆洗價程式,用position控制即可。

Chun Yi 發文於   2025/04/17

想請問許教授 

Position跟filled有一定要一起用嘛

可以單獨使用filled嘛

剛爬文後,目前的認知好像是委託

但是如果要賣掉的時候,要等到條件成立後才委託吧

還請許教授解惑Orz

Chun Yi 發文於   2025/04/17

因為我可能會留長期的多單,所以程式可能沒辦法以是否有部位為判斷依據

以下為非洗價的草稿:

Var:intraBarPersist  PriceBasis(0)

Condition1= average(close[1],5) < average(close[1],20) and average(close,5) > average(close,20)

If condition1 then

  begin

    PriceBasis=close

    Buy(1,Market);

  end;

If high > PriceBasis + 100 then

Sell(1,Market)

Chun Yi 發文於   2025/04/17

我還是先從非洗價開始好了⋯

目前對洗價模式方面感覺有點複雜><

晚一點我再來寫寫看非洗價的程式碼

寫完之後再請許教授有空的時候不吝指教

虎科大許教授 發文於   2025/04/17

讓K棒第一個Tick進入if裡面,然後讓myTime=Time,這樣的話,同一根K棒的其他Tick洗價,就不會再進入if。

Chun Yi 發文於   2025/04/17

請問許教授,程式裡面一開始宣告MyTime

以及Time不等於MyTime時

最後Time=MyTime

請問這些程式碼的意義為何

我翻了李經理出的書、還有網站上的函數列表都還是找不到><

還請許教授不吝指教

顯示更多回應 發表回覆
Close