EasyTrader ArtNo 232
未平倉籌碼分析是判斷期貨多空方向的一種方式,其中最常聽到的是由期交所每日公布法人期貨未平倉資料,用來判斷法人的方向,每日期貨商的分析報告和分析師幾乎都會引用這項資料,也有許多程式交易相關文章、或是學校金融相關科系的一些學生論文都在研究法人未平倉部位和台指走勢的相關性。基本論點在於1.法人持倉成本可以做為支撐或是壓力的判斷。2.不論結算日是想拉高或是壓低結算,在那附近幾天的變動總是較為劇烈的。
很特別的是黃色框框內的未平倉量變化,接近結算日附近波動開始增加,且在結算日的次日都會出現一根大量的紅柱,這是否暗示一些訊息呢? 從圖表上,我先假設當根紅柱出現的三日內的最高價與最低價分別是壓力與支撐,只要高點被突破或低點被跌破就可以進場
首先,利用看盤軟體將所需資料輸出到 Excel ,並轉換成 MC 可接受匯入的文字檔格式 ,然後在TS或MC建立成新商品的資料,接著就依據上述想法建立價格通道如下圖
系統參數與變數
input:ExitType(1) ;
input:NBarL(5),NBarS(5),TradeProfit(0.04),TradeStopLoss(0.04),ATRs_L(3),ATRs_S(3);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0); input:LongLen(3),ShortLen(3),PriceTrigL(10000),Factor(1.1);
Vars:BuyPrice(0),SellPrice(0),OIGap(0),YUOI(0);
MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
input:ExitType(1) ;
input:NBarL(5),NBarS(5),TradeProfit(0.04),TradeStopLoss(0.04),ATRs_L(3),ATRs_S(3);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0); input:LongLen(3),ShortLen(3),PriceTrigL(10000),Factor(1.1);
Vars:BuyPrice(0),SellPrice(0),OIGap(0),YUOI(0);
MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
PF = AvgPrice*TradeProfit ;
PL = AvgPrice*TradeStopLoss ;
{讀取 台指未平倉 OI資料 }
YUOI = Close of data3 ;
{計算今日與昨日差異量}
OIGap = YUOI - YUOI[1] ;
{如果差異量超過某數值建立3日內高低點通道 }
if OIGap > PriceTrigL then Begin
BuyPrice = Highest(High,LongLen)[1] ;
SellPrice = Lowest(Low,ShortLen)[1] ;
end;
{ 上通道價格突破作多 }
if MP <> 1 then Buy next bar at BuyPrice stop ;
{ 下通道價格跌破作空 }
if MP <> -1 then Sell next bar at SellPrice stop ;
PL = AvgPrice*TradeStopLoss ;
{讀取 台指未平倉 OI資料 }
YUOI = Close of data3 ;
{計算今日與昨日差異量}
OIGap = YUOI - YUOI[1] ;
{如果差異量超過某數值建立3日內高低點通道 }
if OIGap > PriceTrigL then Begin
BuyPrice = Highest(High,LongLen)[1] ;
SellPrice = Lowest(Low,ShortLen)[1] ;
end;
{ 上通道價格突破作多 }
if MP <> 1 then Buy next bar at BuyPrice stop ;
{ 下通道價格跌破作空 }
if MP <> -1 then Sell next bar at SellPrice stop ;
{設停損保護}
SetStopLoss(PL * BigPointValue) ;
if IsBalanceDay then setExitonClose ;
SetStopLoss(PL * BigPointValue) ;
if IsBalanceDay then setExitonClose ;
台指期 日K 留倉 交易週期 2004/11/1~ 2014/10/31 交易成本 1200
初步簡單的測試看起來是可以考慮作進一步的調整,讀者可以利用一些指標來判斷走勢方向,我是使用 近期ATR變化與 K棒收紅或收黑來作區分
{作多進場邏輯
A - 3日真實區間波動均值 大於 6日波動均值
B - K棒收紅
C - 突破上通道進場 }
if MP <> 1 and AvgTrueRange(3) > AvgTrueRange(6)*Factor and Close > Open
then Buy next bar at BuyPrice stop ;
then Buy next bar at BuyPrice stop ;
{作空進場邏輯
A - 3日真實區間波動均值 大於 6日波動均值
B - K棒收黑
C - 突破下通道進場 }
if MP <> -1 and AvgTrueRange(3) > AvgTrueRange(6)*Factor and Close < Open
then Sell next bar at SellPrice stop ;
{搭配的出場方式}
if ExitType = 1 then SetStopLoss(PL * BigPointValue) ;
if ExitType = 2 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
end;
if ExitType = 3 then Begin
if MP > 0 and BarsSinceEntry = NBarL then ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then ExitShort next bar at Market ;
end;
if ExitType = 4 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
if MP > 0 and BarsSinceEntry = NBarL then {Sell } ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then {Buy} ExitShort next bar at Market ;
end;
if IsBalanceDay then setExitonClose ;
台指期 60 分K 留倉 交易週期 2004/11/1~ 2014/10/31 交易成本 1200
{搭配的出場方式}
if ExitType = 1 then SetStopLoss(PL * BigPointValue) ;
if ExitType = 2 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
end;
if ExitType = 3 then Begin
if MP > 0 and BarsSinceEntry = NBarL then ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then ExitShort next bar at Market ;
end;
if ExitType = 4 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
if MP > 0 and BarsSinceEntry = NBarL then {Sell } ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then {Buy} ExitShort next bar at Market ;
end;
if IsBalanceDay then setExitonClose ;
台指期 60 分K 留倉 交易週期 2004/11/1~ 2014/10/31 交易成本 1200
沒有留言:
張貼留言