커뮤니티

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

프로필 이미지
최태수
2025-08-24 10:55:47
82
글번호 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");