Postado por EasyTrader
É uma estratégia de negociação feita por um pico (kurtosis) e uma inclinação (skewness) distribuídos por estatísticas. Quando os dados são tendenciais e a tendência potencial é positiva, fazemos mais. Quando os dados são tendenciais e a tendência potencial é negativa, fazemos zero.
Então, como podemos determinar as tendências e a intensidade das tendências? Vamos rever a definição de pico e de inclinação.
Primeiro vamos ver a definição de distribuição normal.
Distribuição: distribuição em que todos os valores das variáveis aparecem na mesma frequência, representada na diagonal como o valor da variável e na vertical como a frequência de ocorrência. Distribuição normal: também conhecida como distribuição de Gaussian
Distribuição normal padrão: um gráfico de distribuição normal desenhado com a média (mean) como centro e o desvio padrão (standard deviation) como a unidade básica do eixo dos ponteiros. O gráfico é simétrico em forma de relógio.
m ± 1s contém 68,26% dos indivíduos de toda a amostra.
m ± 2s contém 95.44% dos indivíduos de toda a amostra.
m ± 3s contendo 99,74% dos indivíduos da amostra inteira.
95% dos indivíduos caem entre m ± 1.96s.
99% dos indivíduos caem entre m ± 2.58s.

Em estatística, o pico (Kurtosis) mede o pico de uma distribuição de probabilidade de uma variável aleatória real. Um pico alto significa que o aumento do diferencial é causado por um diferencial extremo maior ou menor do que a média de baixa frequência.
Pico (curtosis), é uma medida estatística do grau de curvatura da distribuição de um conjunto de dados. O pico da distribuição normal é 3, então chamamos de pico o pico maior do que 3, indicando que a distribuição de dados é mais concentrada e harmoniosa do que a distribuição normal. O pico menor do que 3 é chamado de pico plano, indicando que a distribuição de dados é mais suave do que a distribuição positiva.
A skewness representa a simetria da distribuição de dados, ou seja, a posição do número de dados no modo. A skewness é igual a 0 e representa a simetria perfeita. Esta estatística também é necessária para comparar a distribuição normal: a skewness maior que 0 indica que, em comparação com a distribuição normal, a matriz apresenta um desvio para a direita, representado como a cauda longa da direita e os valores extremos estão mais dispostos à direita; ao contrário, a skewness é para a esquerda, representada como a cauda longa da esquerda e os valores extremos estão mais dispostos à esquerda.
Em teoria da probabilidade e estatística, o desvio mede a assimetria da distribuição de probabilidades de variáveis aleatórias reais. Os valores do desvio podem ser positivos, negativos ou até mesmo indefiníveis. Numericamente, o desvio negativo significa que o extremo esquerdo da função de densidade de probabilidade é mais longo do que o extremo direito, e a maioria dos valores (incluindo a média) está no lado direito da média.
A tendência é de dois tipos:

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 ;
Reprodução do blog de faruto