Diunggah oleh EasyTrader
Ini adalah strategi perdagangan yang dilakukan oleh kurtosis dan skewness yang digunakan untuk mendistribusikan data statistik. Apabila data menunjukkan trend dan trend berpotensi positif, kami melakukan lebih banyak. Apabila data menunjukkan trend dan trend berpotensi negatif, kami melakukan pengurangan.
Jadi, bagaimana kita menentukan trend dan kekuatan trend? Mari kita lihat semula definisi puncak dan bias.
Pertama, mari kita lihat definisi sebaran normal.
Sebaran (distribution): sebaran kes di mana semua nilai dalam pembolehubah muncul sebanyak kali, dengan koordinat grafik yang dipaparkan sebagai nilai pembolehubah pada paksi lateral dan frekuensi muncul pada paksi vertikal. Sebaran biasa: juga dikenali sebagai Gaussian distribution
Pembagian standard yang tetap: grafik pembahagian yang tetap yang digariskan dengan nilai purata (mean) sebagai pusat, dan standard deviation (perbezaan standard) sebagai satuan asas pada paksi penunjuk.
m ± 1s mengandungi 68.26% individu dari seluruh kumpulan sampel.
m ± 2s mengandungi 95.44% individu dari seluruh kumpulan sampel.
m ± 3s mengandungi 99.74% individu dari seluruh kumpulan sampel.
95% individu jatuh di antara m ± 1.96s.
99% individu jatuh di antara m ± 2.58s.

Dalam statistik, puncak ((Kurtosis) mengukur keadaan puncak dalam pengedaran peluang bagi pembolehubah rawak nombor riil. Puncak yang tinggi bermaksud bahawa perbezaan yang lebih besar disebabkan oleh perbezaan ekstrem yang lebih besar atau lebih kecil daripada purata pada frekuensi rendah.
Puncak (bahasa Inggeris: peak, kurtosis) adalah statistik yang menggambarkan kecanggihan bentuk penempatan sekumpulan data. Puncak penempatan biasa adalah 3, jadi kita menyebut puncak yang lebih besar daripada 3 sebagai puncak, yang menunjukkan penempatan data lebih tertumpu dan lebih halus daripada penempatan biasa. Puncak yang kurang dari 3 kita sebut sebagai puncak rata, yang menunjukkan penempatan data lebih halus daripada penempatan positif.
Skewness menggambarkan simetri penyebaran data, atau kedudukan modus dalam data. Skewness sama dengan 0 untuk menggambarkan simetri yang sempurna. Statistik ini juga perlu dibandingkan dengan penyebaran biasa: lebih besar daripada 0 menunjukkan bahawa berbanding dengan penyebaran biasa, array ini mempunyai skewness kanan, yang merupakan ekor panjang di sebelah kanan dan nilai ekstremnya lebih banyak di sebelah kanan; sebaliknya skewness kiri, yang merupakan ekor panjang di sebelah kiri dan nilai ekstremnya lebih banyak di sebelah kiri.
Dalam teori peluang dan statistik, bias mengukur ketidaksempurnaan dalam pengedaran peluang bagi pembolehubah rawak nombor riil. Nilai bias boleh menjadi positif, negatif atau bahkan tidak dapat didefinisikan. Secara kuantitatif, bias negatif (negatif bias) bermakna bahagian belakang pada bahagian kiri fungsi kepadatan peluang lebih panjang daripada bahagian kanan, dan sebahagian besar nilai (termasuk nombor tengah) terletak di sebelah kanan nilai purata.
Terdapat dua jenis bias:

input:ExitType(5) ;
input:NBarL(2),NBarS(2),TradeProfit(0.053),TradeStopLoss(0.023),ATRs_L(5.4),ATRs_S(10.9);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0),HLRange(100);
inputs:Length(20),Trigger(3),UpSkew(3.4),DownSkew(2.2) ;
vars:KurtValue(0),SkewValue(0),BuyPoint(0),SellPoint(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 ;
{计算峰度 }
KurtValue = Kurtosis(Close,Length) ;
{计算偏度}
SkewValue = Skew(Close,Length) ;
{ 峰度向下跌破 Trigger 线 ,建立买卖点 }
if KurtValue Cross under Trigger then Begin
BuyPoint = High 3;
SellPoint = Low-3;
end;
{ 偏度大于某数值后 ,趋势确认进场作多 }
if SkewValue > -UpSkew 2 then Buy next bar at BuyPoint stop ;
{ 偏度小于某数值后 ,趋势确认进场作空 }
if SkewValue < -DownSkew 2 then Sell next bar at SellPoint Stop ;
end;
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 ExitType = 5 then Begin
{*******************************************************************
Description : ATR Trailing Stop Long Exit
Provided By : Omega Research, Inc. (c) Copyright 1999
********************************************************************}
{Inputs: ATRs_L(3);}
Variables: PosHigh(0), ATRVal_L(0);
ATRVal_L = AvgTrueRange(10) * ATRs_L;
If BarsSinceEntry = 0 Then PosHigh = High;
If MarketPosition = 1 Then Begin
If High > PosHigh Then PosHigh = High;
ExitLong ("ATR") Next Bar at PosHigh - ATRVal_L Stop;
End else ExitLong ("ATR eb") Next bar at High - ATRVal_L Stop;
{*******************************************************************
Description : ATR Trailing Stop Short Exit
Provided By : Omega Research, Inc. (c) Copyright 1999
******************************************************************}
{Inputs: ATRs_S(3);}
Variables: PosLow(0), ATRVal_S(0);
ATRVal_S = AvgTrueRange(10) * ATRs_S;
If BarsSinceEntry = 0 Then PosLow = Low;
If MarketPosition = -1 Then Begin
If Low < PosLow Then PosLow = Low;
ExitShort ("ATR_1") Next Bar at PosLow ATRVal_S Stop;
End else ExitShort ("ATR_1 eb") Next bar at Low ATRVal_S Stop;
end;
if IsBalanceDay then setExitonClose ;
Diambil dari blog Faruto