執行回測的時候有辦法知道買進的價位或日期嗎?
舉個簡單例子最高點回跌30%停損停利, 可是在回測的時候沒辦法知道買進的日期或價位
Hi 小卡,
您好,回測報告的走勢圖與明細表上應該會揭示才對,若仍有問題,
請提供進、出場腳本的完整程式碼,與回測報告與回測設定,
以利小編分析問題的原因,謝謝。
Hi 小幫手,
我是想問出場的腳本, 有辦法知道進場的資訊嗎?
因為跑回測的時候, 這個資訊是進場腳本觸發的..
舉個例子, 我要做到進場後的最高點回跌30%停損停利
那我回測的出場腳本要如何撰寫呢?
Hi 小幫手,
進出場使用同一個腳本
變數是可以共用的是這樣嗎?
若使用不同的腳本, 宣告的變數可以互相吃到嗎?
Hi 小幫手,
我使用範例的方式, 宣告變數紀錄進場價格 (_Buy_Price_x )
但是看起來變數在出場的時候會變成0, 出場的迴圈永遠都不會ret=1
Input: _BuyOrSell(0), Percent(0.3);
SetInputName(1, "買進=1;賣出=0");
SetInputName(2, "出場價位(賣出)");
Vars: _Buy_Price_x(0);
if _BuyOrSell = 1 then
begin
if getsymbolfield("tse.tw","收盤價") > average(getsymbolfield("tse.tw","收盤價"),10)[1] then begin
value4=GetField("總市值");
value5=average(value4,600);
if value4[1]<value5[1]*0.7
and close=highest(close,10)
then condition1= true;
end;
if condition1 then begin
_Buy_Price_x = close;
ret=1;
end;
end
else
begin
if close < (_Buy_Price_x * (1-Percent)) then ret = 1;
end;
Hi 小卡,
待小幫手查看後再向您說明,謝謝。
進出場使用同一個腳本
變數是可以共用的是這樣嗎?
若使用不同的腳本, 宣告的變數可以互相吃到嗎?
進出場使用同一個腳本,變數不能共用唷~
使用不同的腳本,宣告的變數也不能互相吃到~
小幫手供您參考的範例文章中,有以下的撰寫邏輯:
進場腳本比較單純,條件觸發即進場,
出場腳本需要先撰寫進場的策略,當進場策略觸發時,記錄相關資訊,以供出場腳本進行運算。
以上說明,謝謝。
我使用範例的方式, 宣告變數紀錄進場價格 (_Buy_Price_x )
但是看起來變數在出場的時候會變成0, 出場的迴圈永遠都不會ret=1
您的寫法不太對,問題的原因在於
判斷為進場腳本的輸入參數放的地方不正確,應該要放在進場佈單的判斷,也就是進場 ret = 1; 處,
修改後的範例腳本跑出來有交易筆數如下圖:

所以小幫手修改後的範例腳本如下,供您參考,謝謝:
Input: _BuyOrSell(0), Percent(0.3);
SetInputName(1, "買進=1;賣出=0");
SetInputName(2, "出場價位(賣出)");
Vars: _Buy_Price_x(0);
if getsymbolfield("tse.tw","收盤價") > average(getsymbolfield("tse.tw","收盤價"),10)[1] then begin
value4=GetField("總市值");
value5=average(value4,600);
if value4[1]<value5[1]*0.7 and close=highest(close,10) then condition1= true;
end;
if condition1 then begin
_Buy_Price_x = close;
if _BuyOrSell = 1 then ret=1;
end;
if close < (_Buy_Price_x * (1-Percent)) then ret = 1;
以上說明,謝謝。
進出場使用同一個腳本,變數不能共用唷~
使用不同的腳本,宣告的變數也不能互相吃到~
小幫手你好
我最近看到這篇文章的討論,關於你在上面的回覆,我不是很明白想要請教。
1.進出場使用同一個腳本,變數不能共用
我的疑問,既然是同一個腳本,裡面的變數一定是相同的,如何進出場不共用變數? 意思能否再詳細說明。
如果是進場段與出場段不能用同一變數,但上方的程式碼為了記錄進場價,在進出場段也都有用到_Buy_Price_x的變數
2.使用不同的腳本,宣告的變數也不能互相吃到
以版友的範例文章來說,如果改寫成KD金叉進場及KD死叉出場2個腳本
在設定策略雷達的時候,如果在進場策略的腳本中用了k cross over d,那用在出場策略的腳本就不能用 k cross under d 對嗎?
以下還有問題請教,
1.範例是用變數紀錄進場價格,我想記錄買進的日期、商品代號或名稱該如何寫?
2.感覺腳本是套進每支商品獨立計算,如果我想計算同一策略下,所有商品總共買進了多少錢有辦法嗎?
請小幫手指教,謝謝
Hi 河馬,
待小幫手查看後再向您說明,謝謝。
19 評論