supertrend 검색해서 나오는 식 사용해봤는데 잘 안되네요 TT
supertrend를 무조건 추종합니다.
(1) uptrend가 시작되는 첫 봉의 종가에서 롱 진입
(2) downtrend로 바뀌는 첫 봉의 종가에서 롱 엑시트 & 숏 진입
(3) uptrend로 바뀌는 첫 봉의 종가에서 숏 엑시트 & 롱 진입
이런식으로 지속적으로 스위칭하고
(4) 진입 후 롱일경우 최고가에서 1% 하락하면 손절
(5) 진입 후 숏일경우 최고가에서 1% 상승하면 손절...
이런 알고리즘을 수식으로 구현해주시면 감사하겠습니다.
답변 1
예스스탁
예스스탁 답변
2024-06-14 10:18:24
안녕하세요
예스스탁입니다.
input : factor(3), AtrPeriod(10);
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;
}
if direction == 1 and direction[1] == -1 Then
Buy("b");
if direction == -1 and direction[1] == 1 Then
Sell("s");
if MarketPosition == 1 Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)*0.99);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)*1.01);
즐거운 하루되세요
> 돼지엄마 님이 쓴 글입니다.
> 제목 : 수식 요청드립니다
> supertrend 검색해서 나오는 식 사용해봤는데 잘 안되네요 TT
supertrend를 무조건 추종합니다.
(1) uptrend가 시작되는 첫 봉의 종가에서 롱 진입
(2) downtrend로 바뀌는 첫 봉의 종가에서 롱 엑시트 & 숏 진입
(3) uptrend로 바뀌는 첫 봉의 종가에서 숏 엑시트 & 롱 진입
이런식으로 지속적으로 스위칭하고
(4) 진입 후 롱일경우 최고가에서 1% 하락하면 손절
(5) 진입 후 숏일경우 최고가에서 1% 상승하면 손절...
이런 알고리즘을 수식으로 구현해주시면 감사하겠습니다.