在大數據時代,資料為王已介紹如何改寫函式,該函式可以抓取到預設數列以外的數列資料,本篇將利用這個改寫後的函式,進行訊號改寫,讓訊號可以依據長、短週期的數列,進行行情判斷,並依些產生進場訊號。
在策略中,新增二個輸入參數(輸入參數可進行最佳化),以下簡單介紹這二個參數:
{判斷長週期是否連續創高或創低}
LongContinueBreakOutHigh = _ContinueBreakOut(LongBarCount, High of Data2, 1);
LongContinueBreakOutLow = _ContinueBreakOut(LongBarCount, Low of Data2, -1);
{當連續創高條件成立時,就將長週期的方向設為1,並紀錄發生的K棒編號(LongBarNumber=BarNumber)}
If LongContinueBreakOutHigh Then
Begin
LongDirection = 1;
LongBarNumber = BarNumber;
End;
{當連續創低條件成立時,就將長週期的方向設為-1,並紀錄發生的K棒編號(LongBarNumber=BarNumber)}
If LongContinueBreakOutLow Then
Begin
LongDirection = -1;
LongBarNumber = BarNumber;
End;
在程式中,將先計算長週前的連續創新高或新低的條件是否成立,若成立時,則將方向紀錄下來,並且把發生的K棒編號保留下來,這樣才能在程式中,去計算其效力可以保持多少根K棒。
接下來再加一段程式,進行這個創高或創低的有效性,當超過設定的有效根數後,就將其方向歸零(即LongDirection = 0)。
{當發生的的K棒編號與目前的編號差異超過設定的限制值時,就將這個方向歸零,並將紀錄編號歸零}
If BarNumber - LongBarNumber > LongBarLimit Then
Begin
LongDirection = 0;
LongBarNumber = 0;
End;
加上這二段程式後,就可在原來單一週期的程式中,加上第二個週期數列的判斷,利用多週期的數列來達成以長週期為趨勢判斷,而短週期為較精準的進出場點位判斷,進而提升策略對行情的把握程度,可更容易開發出長期有效的策略。
讀者先進行策略的最佳化及判讀,明天的文章再針對此策略最佳化的報表,進行績效報表分析。