예스스탁
예스스탁 답변
2024-02-08 11:02:16
안녕하세요
예스스탁입니다.
input : AtrPeriod(50),factor(5);
input : P1(7),P2(20);
var : T(0),S(0);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0);
if CurrentBar > 1 Then {
src = (H+L)/2;
// ATR계산(ATR 계산시 지수가중이동평균(rma)이용)
alpha = 1 / AtrPeriod ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식
//ATrV = ma(source,AtrPeriod); //단순이평방식
upperBand = src + factor * AtrV;
lowerBand = src - factor * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
supertrend = lowerband;
Else
supertrend = upperband;
}
var1 = ma(C,P1);
Var2 = ma(C,P2);
if CrossUp(C,superTrend) Then
{
T = 1;
S = 0;
}
if CrossDown(C,superTrend) Then
{
T = -1;
S = 0;
}
if T == 1 Then
{
if CrossUp(var1,Var2) Then
{
S = S+1;
if S <= 3 Then
Buy("b");
if S == 4 Then
Sell("bs");
}
if CrossDown(var1,Var2) Then
ExitLong("bx");
}
if T == -1 Then
{
if CrossDown(var1,Var2) Then
{
S = S+1;
if S <= 3 Then
Sell("s");
if S == 4 Then
Buy("sb");
}
if CrossUp(var1,Var2) Then
ExitShort("sx");
}
즐거운 명절되세요
> 왈라스 님이 쓴 글입니다.
> 제목 : 수식부탁합니다.
> ..슈퍼트랜드(50,5) ,이평크로스(7,20)를 이용합니다.
1.슈퍼트랜드가 매수방향일때 이평크로스가 매수라면
매수신호만 대응하는데 1,2,3번째 신호까지는 매수신호로 대응하고 4번째 매수신호는 매도로 대응합니다.
2.슈터트랜드가 매도일때 이평신호 매도만을 대응하는데 1,2,3차 까지는 매도로 대응하고 4번째매도신호는 매수로 대응합니다.
3.5번째 신호는 쉽니다.
잘 부탁드립니다....