답변완료
수식변경 부탁합니다
트뷰지표인데 예스로 부탁합니다.
indicator("VWAP % Change with SMA", overlay=false)
smaPeriod = input.int(20, minval=1, title="SMA Period")
vwap_val = ta.vwap
vwap_roc = ta.roc(vwap_val, 1)
// Conditional coloring for columns
barcolor = vwap_roc >= 0? color.green: color.red
plot(vwap_roc, color=barcolor, title="VWAP % Change", style=plot.style_columns, linewidth=2)
// SMA on VWAP % Change with input period
smaLine = ta.sma(vwap_roc, smaPeriod)
plot(smaLine, color=color.blue, linewidth=2, title="SMA")
2025-08-26
100
글번호 193508
지표
답변완료
종목검색 부탁드립니다.
CLOSE < MA(CLOSE, 기준선) - ATR(ATR기간) * 배수
AND
REF(CLOSE, 1) >= REF(MA(CLOSE, 기준선), 1) - REF(ATR(ATR기간), 1) * 배수
AND
CLOSE > MA(CLOSE, 20)
AND
Highest(High, 20) - CLOSE >= ATR(20) * 1.2
변수
기준선: 7
ATR기간: 20
배수: 0.4
답변완료
안녕하세요. 문제가 있는데 어떻게 해결해야할까요?
담당자님 안녕하세요. 무더위에 항상 고생 많으십니다.
예스트레이더에서 SuperTrend와 EMA(12,26) 조합으로 숏 전용 전략을 테스트하고 있습니다.
현재 사용 중인 전략의 주요 로직은 다음과 같습니다.
진입 조건
포지션 없음 (MarketPosition = 0)
1.EMA12 < EMA26 (데드크로스 상태)
2.종가 < SuperTrend 라인
청산 조건
숏 포지션 보유 중 (MarketPosition = -1)
1.EMA12 > EMA26 (골든크로스 상태)
2.종가 > SuperTrend 라인
그런데 실전 차트에서 다음과 같은 문제가 발생합니다.
청산 조건이 충족된 이전 봉에서 바로 청산되지 않고, 한두 봉 뒤에서야 청산됩니다.
어떤 구간에서는 EMA 데드크로스와 SuperTrend 매도 조건이 순서만 달랐을 뿐 모두 발생했는데도, 진입이 전혀 이루어지지 않습니다.
첨부한 차트 이미지를 보시면,
첫 번째 이미지는 EMA와 SuperTrend 매도 신호가 모두 발생했지만 진입이 전혀 이뤄지지 않은 사례입니다.
두 번째 이미지는 청산 조건이 전전봉에서 충족됐지만 실제 청산은 그 다음 봉에서 이뤄진 사례입니다.
제가 적용한 코딩도 남겨드리겠습니다.
Inputs:
factor (3), // SuperTrend ATR 배수
AtrPeriod (14), // SuperTrend ATR 기간
shortLen (12), // EMA 단기 기간
longLen (26); // EMA 장기 기간
Vars:
src (0),
trv (0),
atrv (0),
upperBand (0),
lowerBand (0),
prevUB (0),
prevLB (0),
dir (0),
supertrend (0),
emaShort (0),
emaLong (0);
// === 1) SuperTrend 계산 ===
if CurrentBar > 1 then {
src = (High + Low) / 2;
trv = MaxList(High - Low,
MaxList(Abs(High - Close[1]),
Abs(Low - Close[1])));
atrv = EMA(trv, AtrPeriod);
upperBand = src + factor * atrv;
lowerBand = src - factor * atrv;
prevUB = upperBand[1];
prevLB = lowerBand[1];
if (lowerBand <= prevLB and Close[1] >= prevLB) then
lowerBand = prevLB;
if (upperBand >= prevUB and Close[1] <= prevUB) then
upperBand = prevUB;
if Close > upperBand then
dir = 1;
else if Close < lowerBand then
dir = -1;
if dir == 1 then
supertrend = lowerBand;
else
supertrend = upperBand;
}
// === 2) EMA 계산 ===
emaShort = EMA(Close, shortLen);
emaLong = EMA(Close, longLen);
// === 3) 숏 진입·청산만 ===
// 숏 진입: 포지션 없고 EMA < & 가격 < SuperTrend
if MarketPosition == 0
and emaShort < emaLong
and Close < supertrend then {
Sell("ShortEntry");
}
// 숏 청산: 숏 보유 중 EMA > & 가격 > SuperTrend
if MarketPosition < 0
and emaShort > emaLong
and Close > supertrend then {
ExitShort("ShortExit");
}
2025-08-25
109
글번호 193500
시스템
답변완료
사용자함수 질문입니다.
선생님 큰 도움이 되었습니다.
1. HighD/LowD의 일봉 경계 시각
예스트레이더 코인 암호화폐 분봉에서 HighD(1), LowD(1)의 “전일”은 KST 00:00~24:00(캘린더 데이) 기준인가요?
혹은 다른 타임존/세션을 사용하나요?
2. 동일 봉에서 타겟·스탑·반대신호 동시 근접 시 우선순위
다음 봉에서 AtLimit(≥)과 AtStop(≤) 둘 다 만족 가능한 경우, 시뮬레이터는 어떤 순서(예: 시가→고가→저가→종가)로 가격을 가정하여 어느 쪽을 먼저 트리거하나요?
우선순위 규칙이 정해져 있으면 알려주세요.
3. BarsSinceEntry==0 시점의 OHLC 사용 가능 여부
진입이 다음 봉 진행 중에 발생한 뒤, 그 같은 봉이 ‘완성’되었을 때 BarsSinceEntry==0 조건으로 수식을 고정하면, 그 시점의 **해당 봉의 H/L(완성값)**을 참조해도 되나요?
(즉, **엔트리 봉 완성값(H, L)**을 BarsSinceEntry==0에서 안전하게 읽을 수 있는지)
늘 감사합니다 선생님. 좋은 하루 되십시오!
답변완료
종목 검색식 부탁드립니다.
A=(DayHigh()+DayLow())/2;
B1=if(predayclose()>predayopen(),
(predayhigh()+predaylow()+predayclose()+predayhigh())/2-predaylow(),
(if(predayclose()<predayopen(),
(predayhigh()+predaylow()+predayclose()+predaylow())/2-predaylow()
(predayhigh()+predaylow()+predayclose()+predayclose())/2-predaylow())
)
);
B2=if(predayclose()>predayopen(),
(predayhigh()+predaylow()+predayclose()+predayhigh())/2-predayhigh(),
(if(predayclose()<predayopen(),
(predayhigh()+predaylow()+predayclose()+predaylow())/2-predayhigh()
(predayhigh()+predaylow()+predayclose()+predayclose())/2-predayhigh())
)
);
조건=A>B1 && A>B2;
조건 && !조건(1)
===== 위의 수식을 예스랭귀지로 변환가능한지요? ======
분봉에서도 사용가능한지도 궁금해요.