커뮤니티

안녕하세요. 코딩 부탁드립니다.

프로필 이미지
최태수
2025-08-24 10:55:47
130
글번호 193458
답변완료
안녕하세요 담당자님. 항상 고생 많으십니다. 기존에 있던 슈퍼트렌드 매도 전용 코딩에 12,26 ema 크로스 전략을 추가 하고 싶어 문의 남깁니다. 동시에 신호가 나야지만 진입하는거 말고 순서 상관없이 두 신호가 나왔을때 진입, 청산을 하고싶습니다! 진입: 슈퍼트렌드 매도신호 + 12,26 ema 가 데드크로스 날때 청산: 슈퍼트렌드 매수신호 + 12,26 ema 가 골든크로스 날때 ex1) 12,26 ema가 데드크로스 후 슈퍼트렌드에서 매도 신호가 나오면 매도 진입 ex2) 슈퍼트렌드에서 매도 신호가 나오고 12,26 ema가 데드크로스 하면 매도 진입 아래는 기존에 답변 해주셨던 슈퍼트렌드 코딩 남겨드립니다! --------------------------------------------------------------------------------- input : factor(3), AtrPeriod(14); 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; alpha = 1 / AtrPeriod ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; // 지수가중이평방식 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 CrossDown(C, lowerBand) Then Sell("ShortEntry"); # 매도 청산 (숏 포지션 종료) if CrossUp(C, upperBand) Then Buy("ShortExit");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-08-25 12:25:48

안녕하세요 예스스탁입니다. 매도와 매도청산만 하는 경우이면 sell과 exitshort함수를 이용하셔야 합니다. input : factor(3), AtrPeriod(14),P1(12),P2(26); var : src(0), AtrV(0), upperBand(0), lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), superTrend(C), direction(0), alpha(0), source(0); var : E1(0),E2(0); if CurrentBar > 1 Then { src = (H+L)/2; alpha = 1 / AtrPeriod ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; // 지수가중이평방식 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; } E1 = Ema(C,P1); E2 = Ema(C,P2); # 매도 진입 (숏 포지션 시작) Condition1 = C < lowerBand and E1 < E2; Condition2 = C > upperBand and E1 > E2; if Condition1 == true and Condition1[1] == False Then Sell("ShortEntry"); # 매도 청산 (숏 포지션 종료) if Condition2 == true and Condition2[1] == False Then ExitShort("ShortExit"); 즐거운 하루되세요 > 최태수 님이 쓴 글입니다. > 제목 : 안녕하세요. 코딩 부탁드립니다. > 안녕하세요 담당자님. 항상 고생 많으십니다. 기존에 있던 슈퍼트렌드 매도 전용 코딩에 12,26 ema 크로스 전략을 추가 하고 싶어 문의 남깁니다. 동시에 신호가 나야지만 진입하는거 말고 순서 상관없이 두 신호가 나왔을때 진입, 청산을 하고싶습니다! 진입: 슈퍼트렌드 매도신호 + 12,26 ema 가 데드크로스 날때 청산: 슈퍼트렌드 매수신호 + 12,26 ema 가 골든크로스 날때 ex1) 12,26 ema가 데드크로스 후 슈퍼트렌드에서 매도 신호가 나오면 매도 진입 ex2) 슈퍼트렌드에서 매도 신호가 나오고 12,26 ema가 데드크로스 하면 매도 진입 아래는 기존에 답변 해주셨던 슈퍼트렌드 코딩 남겨드립니다! --------------------------------------------------------------------------------- input : factor(3), AtrPeriod(14); 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; alpha = 1 / AtrPeriod ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; // 지수가중이평방식 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 CrossDown(C, lowerBand) Then Sell("ShortEntry"); # 매도 청산 (숏 포지션 종료) if CrossUp(C, upperBand) Then Buy("ShortExit");