請教小幫手,分K的均線下滑用下面的寫法是否正確呢? 謝謝您
setBackBar(20, "10");
value1 = xfMin_XAverage("10",GetField("Close","10"),20); //當期MA
value2 = value1[1]; // 前一期MA
condition1 = value2 > value1; //均線下滑
請教小幫手,分K的均線下滑用下面的寫法是否正確呢? 謝謝您
setBackBar(20, "10");
value1 = xfMin_XAverage("10",GetField("Close","10"),20); //當期MA
value2 = value1[1]; // 前一期MA
condition1 = value2 > value1; //均線下滑
Hello 小雷,
您計算的是指數移動平均,其需要大量的前期運算值。
使用 settotalbar 要有 (計算期數 + 1) * 4 的長度才行。
您的腳本的話,就是 (20+1) * 4 = 84, settotalbar(84)。
另外,如果您使用非10分鐘頻率,還要依時間去換算。
舉例來說,如果使用1分鐘頻率的話,就會是840筆。
xfMin 系列的函數只能小頻率跨到大頻率,相反是不行的,所以您只能使用在10分鐘或以下的頻率。
value1[1] 取得的是執行頻率上一根Bar的資訊,如果是要上一根10分鐘頻率的指數移動平均的話,可以使用 xfMin_GetValue。
謝謝小幫手,
另外請教您一個部位的問題
假設我有兩個腳本,一個是買進4的單位,一個是買進2個單位,出場條件成立時都要清空4個單位與2個單位。有一個比較特別的條件成立時兩個腳本都會執行,此時我會有6個部位,但是兩個腳本出場條件不同,這樣系統會產生混淆嗎?
部位計算要是否要用"依照腳本" 才不會有問題
謝謝您
謝謝 小幫手的回覆。
想再跟您請教一個停損停利程式。下面是只要其一條件成立就平倉,請問這樣寫法是否正確?
if Position = 1 and Filled = 1 then begin
if profit_point > 0 and Close >= FilledAvgPrice + profit_point
then begin SetPosition(0); { 停利 }
end else if loss_point > 0 and Close <= FilledAvgPrice - loss_point
then begin SetPosition(0); { 停損 }
end else if condition1
then begin SetPosition(0); { 條件一成立後平倉 }
end;
end;
Hello 小雷,
是的,您的寫法就是當部位庫存為1時,停利、停損 和 條件一成立 這三個條件任何一個達到時就會平倉。
5 評論