開拓者OLS交易系統(tǒng)策略源碼,日內(nèi)技術[開拓者公式]
- 寄語:
組合交易方法不光包括品種的組合,還包括交易系統(tǒng)的組合和交易周期的組合。
沒有什么能夠阻擋我對自由的向往。
資金管理是期市生存第一鐵律,要在這個市場生存下去,資金管理永遠是第一位的。
執(zhí)著和程序化交易讓我重拾信心。
我是技術交易者,任何一個市場在我眼中都是獨立的,關注好各自的價格即可。
日內(nèi)短線的核心是贏率的重要性。
日內(nèi)的最大優(yōu)勢是積小勝為大盈。
短線交易的優(yōu)點是充分利用資金,缺點是往往會錯過大段跳空利潤。
科學、客觀地制定交易計劃。
在這個市場上評判高手的界定標準是:能操盤大資金并長期穩(wěn)定獲利,并且不限定行情。
做期貨至今找到了幸福感,但缺乏成就感。
順大勢逆小勢,永遠跟著趨勢走。
- 源碼
//------------------------------------------------------------------------
// 簡稱: OLS
// 名稱: 最小二乘估計回歸均線
// 類別: 公式應用
// 類型: 用戶應用
// 輸出:
//------------------------------------------------------------------------
// 應用周期:分鐘級別,最好是1分鐘
Params
Numeric Length(5);
Vars
NumericSeries n;
Numeric iN;
Numeric B0;
Numeric B1;
NumericSeries X;
Numeric y;
NumericSeries OlsValue;
Numeric i;
Numeric Sum1(0);
Numeric Sum2(0);
Numeric Sum3(0);
Numeric Sum4(0);
Numeric Sum5(0);
Numeric Sum6(0);
Numeric Sum7(0);
Numeric Sum8(0);
Numeric Sum9(0);
Numeric Sum10(0);
Numeric Sum11(0);
Numeric Sum12(0);
NumericSeries Y0;
Numeric Yi;
Numeric YA;
Numeric SY;
Numeric X0;
Numeric XA;
Numeric TA(2);
Numeric R;
Numeric EndTime;
Numeric UpperBrand;
Numeric LowerBrand;
Begin
n = n[1];
X = X[1];
OlsValue = OlsValue[1];
Y0 = Y0[1];
If(BarType == 1 || Left(Symbol,2) != "IF")
EndTime = 0.1460 - 0.0001*BarInterval;
// ------------------ 計算擬合回歸 ------------------
If(BarStatus == 0 || Date != Date[1])
{
n = 1;
X = 1;
y = Close;
Y0 = y;
}
Else
{
n = n + 1;
iN = n;
If(BarType == 1)
{
X = X + BarInterval;
}
Else
{
Alert("請選擇分鐘周期");
Return;
}
For i = 1 to iN
{
Sum1 = Sum1 + X[n-i]*Close[n-i];
}
For i = 0 to iN-1
{
Sum2 = Sum2 + X[i];
}
For i = 1 to iN
{
Sum3 = Sum3 + Close[n-i];
}
For i = 0 to iN-1
{
Sum4 = Sum4 + X[i]*X[i];
}
Sum5 = Sum2*Sum2;
B1 = (n*Sum1 - Sum2*Sum3)/(n*Sum4 -Sum5);
B0 = Sum3/n - B1*(Sum2/n);
//y = B0 + B1*n;
y = B0 + B1*n*0.75;
//y = B0 + B1*(n+1);
}
OlsValue = y;
PlotNumeric("曲線:", y, 0, Cyan);
If(BarStatus == 0 || BarStatus == 2 || Date != Date[1] || Time == EndTime)
PlotNumeric("直線:", y, 0, Magenta);
Else
{
y = InvalidNumeric;
PlotNumeric("直線:", y, 0, Magenta);
}
PlotNumeric("開盤:", OpenD(0), 0, White);
// ------------------ 預測置信區(qū)間 ------------------
X0 = X[n-1];
XA = Sum2/iN;
Sum6 = Sqr(X0 - XA);
For i = 0 to iN-1
{
Sum7 = Sum7 + Sqr(X[i] - XA);
}
Sum8 = Sqrt(1 + 1/iN + Sum6/Sum7);
For i = 0 to iN-1
{
Yi = B0 + B1*i;
Sum9 = Sum9 + Sqr(Close[i] - Yi);
}
If(iN <= 2)
SY = 10;
Else
SY = Sqrt(Sum9/(iN-2));
//UpperBrand = OlsValue + TA*SY*Sum8;
//LowerBrand = OlsValue - TA*SY*Sum8;
UpperBrand = OlsValue + TA*SY*Sum8*0.6;
LowerBrand = OlsValue - TA*SY*Sum8*0.6;
PlotNumeric("上軌:", UpperBrand, 0, Red);
PlotNumeric("下軌:", LowerBrand, 0, Green);
// ------------------ 判定擬合系數(shù) ------------------
For i = 0 to iN-1
{
Sum10 = Sum10 + OlsValue[i];
}
YA = Sum10/n;
//FileAppend("F:\\OLS"+"-"+Symbol+".txt", Text(date)+" "+Text(time));
For i = 0 to iN-1
{
Yi = B0 + B1*i;
Sum11 = Sum11 + Sqr(Yi - YA);
}
For i = 0 to iN-1
{
Sum12 = Sum12 + Sqr(Close[i] - YA);
}
R = Sum11/Sum12;
//FileAppend("F:\\OLS"+"-"+Symbol+".txt", "R = "+Text(R));
End
//------------------------------------------------------------------------
// 編譯版本 GS2010.12.08
// 用戶版本 2011/06/24 15:52
// 更改聲明:TB小揚
//每一版本的TrabeBlazer公式修改和重寫的權利
//------------------------------------------------------------------------
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯(lián)系技術人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內(nèi)容