커뮤니티
수식문의
2012-02-10 09:17:34
313
글번호 47574
안녕하세요. 항상 수고해 주셔서 감사합니다.
만기일 지난 첫 주말입니다. 편안한 주말 되세요~~
------------------------------------------------
아래의 수식은 쿠프먼 필터 수식입니다.
수식문의 1.
ㄱ. 지수이동평균 n이 아래 지표를 골드크로스 하면 매수
데드크로스 하면 매도 하는 수식을 얻고 싶습니다.
수식문의 2.
ㄱ-1. 아래지표를 중심선으로 하는 볼린저밴드를 구하고 싶습니다.
아래2 는 BPDL Trend Filter - Raw 지표 수식입니다.
수식문의 3.
ㄴ. 아래2 지표의 값이 직전값 대비 n값 이상 상승하면 **색을
n값 이상 하락하면 %%색을
n값 이내로 횡보하면 직전 봉 색깔을 유지 하는 지표를 얻고 싶습니다.
또, 그 지표에 대한 이동평균선 n1, n2, n3을 구하여 추가로 삽입하고 싶습니다.
수식문의 4
ㄷ. ㄴ.에서 구한 이동평균선 n1이 n2값을 골드크로스하면 매수,
데드크로스하면 매도 하는 시스템 수식을 얻고 싶습니다.
ㄹ. 아래2 지표의 값이 직전값 대비 n값 이상으로 상승하면 매수,
n값 이하로 하락하면 매도
하는 시스템 수식을 얻고 싶습니다.
수식문의 5.
ㅁ. ㄱ에서 구한 시스템 수식과 ㄹ에서 구한 시스템 수식을 하나로 합치고 싶습니다.
즉, ㄱ의 조건과 ㄹ의 조건을 동시에 만족할 때에만 매수,매도 신호를 뿌려주는 것입니다.
ㅂ. ㄱ에서 구한 시스템 수식과 ㄹ에서 구한 시스템 수식을 하나로 합치고 싶습니다.
그러나, ㅁ과는 달리,
ㄱ의 매수매도 조건과 ㄹ의 매수매도 조건 중 먼저 발생하는 신호를 취하여 뿌려줍니다.
알음알이가 깊지 못하여 자꾸 질문을 드리게 되네요.
질문이 많지만 서로 연결되는 듯 하여 하나로 묶어서 질문드립니다.
염치없이 부탁 좀 드리겠습니다.
감사합니다.
아래 1
input: period(10);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise
(0);
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
plot1(AMA);
아래 2
Inputs: Length(14);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
Plot1(accum(value4 + value5), "BPDL Trend Filter - Raw");
답변 1
예스스탁 예스스탁 답변
2012-02-10 13:40:26
안녕하세요
예스스탁입니다.
ㄱ.
input: period(10),n(20);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise(0);
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
var1 = ema(c,n);
if crossup(var1,ama) Then
buy();
if CrossDown(var1,ama) Then
sell();
ㄱ-1.
input: period(10),dv(2);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise(0);
Var : SumSqrt(0), Avgv(0), Counter(0),Stdv(0);
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
If period != 0 Then Begin
Avgv = ama;
SumSqrt = 0;
For Counter = 0 To period - 1 Begin
SumSqrt = SumSqrt + (c[Counter] - Avgv) * (c[Counter] - Avgv);
End;
Stdv = SquareRoot(SumSqrt / period);
End
Else
Stdv = 0;
value1 = ama+(stdv*dv);
value2 = ama-(stdv*dv);
plot1(ama);
plot2(value1);
plot3(value2);
ㄴ.
강조식으로 작성해서 차트에 적용하시면 됩니다.
Inputs: Length(14),n(1);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
var1 = accum(value4 + value5);#BPDL Trend Filter - Raw
if var1 >= var1[1]+n Then
var2 = 1;
if var1 <= var1[1]-n Then
var2 = -1;
if var2 == 1 Then
PlotPaintBar(c,O,"1",RED);
if var2 == -1 Then
PlotPaintBar(c,O,"1",blue);
이평은 강조식으로 되지 않으므로 다로 지표식으로 작성하셔야 합니다.
Inputs: Length(14),n(1),n1(5),n2(10),n3(20);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
var1 = accum(value4 + value5);#BPDL Trend Filter - Raw
var2 = ma(var1,n1);
var3 = ma(var1,n2);
var4 = ma(var1,n3);
plot1(var2);
plot2(var3);
plot3(var4);
ㄷ.
Inputs: Length(14),n1(5),n2(10);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
var1 = accum(value4 + value5);#BPDL Trend Filter - Raw
var2 = ma(var1,n1);
var3 = ma(var1,n2);
if crossup(var2,var3) Then
buy();
if CrossDown(var2,var3) Then
sell();
ㄹ.
Inputs: Length(14),n(1);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
var1 = accum(value4 + value5);#BPDL Trend Filter - Raw
if var1 >= var1[1]+n Then
buy();
if var1 <= var1[1]-n Then
sell();
ㅁ.
Inputs: Length(14),n(1);
input: period(10),nn(20);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise(0);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
var1 = accum(value4 + value5);#BPDL Trend Filter - Raw
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
var11 = ema(c,nn);
if crossup(var11,ama) and var1 >= var1[1]+n Then
buy();
if CrossDown(var11,ama) and var1 <= var1[1]-n Then
sell();
ㅂ.
Inputs: Length(14),n(1);
input: period(10),nn(20);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise(0);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
var1 = accum(value4 + value5);#BPDL Trend Filter - Raw
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
var11 = ema(c,nn);
if crossup(var11,ama) or var1 >= var1[1]+n Then
buy();
if CrossDown(var11,ama) or var1 <= var1[1]-n Then
sell();
즐거운 하루되세요
> 흑수돌 님이 쓴 글입니다.
> 제목 : 수식문의
>
안녕하세요. 항상 수고해 주셔서 감사합니다.
만기일 지난 첫 주말입니다. 편안한 주말 되세요~~
------------------------------------------------
아래의 수식은 쿠프먼 필터 수식입니다.
수식문의 1.
ㄱ. 지수이동평균 n이 아래 지표를 골드크로스 하면 매수
데드크로스 하면 매도 하는 수식을 얻고 싶습니다.
수식문의 2.
ㄱ-1. 아래지표를 중심선으로 하는 볼린저밴드를 구하고 싶습니다.
아래2 는 BPDL Trend Filter - Raw 지표 수식입니다.
수식문의 3.
ㄴ. 아래2 지표의 값이 직전값 대비 n값 이상 상승하면 **색을
n값 이상 하락하면 %%색을
n값 이내로 횡보하면 직전 봉 색깔을 유지 하는 지표를 얻고 싶습니다.
또, 그 지표에 대한 이동평균선 n1, n2, n3을 구하여 추가로 삽입하고 싶습니다.
수식문의 4
ㄷ. ㄴ.에서 구한 이동평균선 n1이 n2값을 골드크로스하면 매수,
데드크로스하면 매도 하는 시스템 수식을 얻고 싶습니다.
ㄹ. 아래2 지표의 값이 직전값 대비 n값 이상으로 상승하면 매수,
n값 이하로 하락하면 매도
하는 시스템 수식을 얻고 싶습니다.
수식문의 5.
ㅁ. ㄱ에서 구한 시스템 수식과 ㄹ에서 구한 시스템 수식을 하나로 합치고 싶습니다.
즉, ㄱ의 조건과 ㄹ의 조건을 동시에 만족할 때에만 매수,매도 신호를 뿌려주는 것입니다.
ㅂ. ㄱ에서 구한 시스템 수식과 ㄹ에서 구한 시스템 수식을 하나로 합치고 싶습니다.
그러나, ㅁ과는 달리,
ㄱ의 매수매도 조건과 ㄹ의 매수매도 조건 중 먼저 발생하는 신호를 취하여 뿌려줍니다.
알음알이가 깊지 못하여 자꾸 질문을 드리게 되네요.
질문이 많지만 서로 연결되는 듯 하여 하나로 묶어서 질문드립니다.
염치없이 부탁 좀 드리겠습니다.
감사합니다.
아래 1
input: period(10);
var: efratio(0), smooth(1), fastend(0.666), slowend(0.0645), AMA(0), diff(0), signal(0), noise
(0);
efratio = 1;
diff = absvalue(C - C[1]);
if currentbar > period then {
signal = absvalue(C - C[period]);
noise = accumN(diff,period);
if noise <> 0 then efratio = signal / noise;
smooth = power(efratio*(fastend - slowend) + slowend,2);
AMA = AMA[1] + smooth*(C - AMA[1]);
}
else
AMA = C;
plot1(AMA);
아래 2
Inputs: Length(14);
value1 = C - C[1];
value2 = Power(Ma(Power(value1,2), Length)+1, 0.5);
value3 = Power(Power(value1,2)+1, 0.5);
value4 = Iff(Ma(value1, Length) > 0,1 * value2,-1 * value2);
value5 = IFF(value1 > 0 ,1 * value3,-1 * value3);
Plot1(accum(value4 + value5), "BPDL Trend Filter - Raw");
이전글