커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

가격 하락 시, 고점에서 일정부분이 하락하면 매도를 칠 수 있는 수식?

예를 들면, 옵션 3분봉에서 순간적으로 하락을 할 때, 고점에서 0.05가 빠지면 거기서 바로 매도를 칠 수 있는 수식은? 도움을 주시기 바랍니다.
프로필 이미지
푸시
2025-05-19
171
글번호 190928
시스템
답변완료

검색식 부탁드립니다. _(_ _)_

항상 도와주심에 감사드립니다. _(__)_ 1봉전에서 첫장기정배열(240<120<60)과 첫완전정배열(240<120<60<20<5)을 동시에 만족시키고 그봉이 음봉일때 1. 0봉전에서 음봉을 잡아먹는 상승장악형봉이 나오는 검색식과 5봉전에서 첫장기정배열(240<120<60)과 첫완전정배열(240<120<60<20<5)을 동시에 만족시키는 봉이 10봉 신고가일때 2.0봉전에서 5봉전 신고가를 재돌파하는 검색식을 부탁드립니다.
프로필 이미지
한칼부르스
2025-05-19
194
글번호 190927
종목검색
답변완료

텍스트 지정

늘 감사합니다 아래의 지정 가격을 가격이름과 가격을 텍스트로 각 차트에 넣어 주세요. 전고/전저/전종 당시/당고/당저/현재/당일등가/진폭 위치는 차트 상단 굵기 조절 가능 감사합니다.
프로필 이미지
상암동
2025-05-18
205
글번호 190926
지표
답변완료

종목 검색 부탁드립니다.

1. 도지형 캔들 종목 검색 부탁 드립니다. 단, 캔들의(양봉 음봉 모두) 몸통보다 각각 윗꼬리가 길고, 아래꼬리가 긴 1봉전 도지형 캔들 2. 양봉 캔들 (0봉전) 종목 검색 부탁드려요.
프로필 이미지
일지매7
2025-05-18
176
글번호 190925
종목검색
답변완료

예스 트레이더 에서 쓸수 있게 고쳐 주세요 감사함미다

트레이딩 뷰에 있는 지표 임미다 indicator(title="Range Filter Buy and Sell 5min", shorttitle="Range Filter", overlay=true) upColor = color.white midColor = #90bff9 downColor = color.blue src = input(defval=close, title="Source") auto_per = input.bool(defval=true, title="Auto-adjust Sampling Period based on timeframe") per_input = input.int(defval=100, minval=1, title="Sampling Period (if not auto)") base_timeframe = 5 // Base timeframe in minutes (5min chart) base_per = 100 // Base sampling period for 5min chart per = auto_per and timeframe.isintraday ? math.max(1, math.round(base_per * (base_timeframe / timeframe.multiplier))) : per_input mult = input.float(defval=3.0, minval=0.1, title="Range Multiplier") smoothrng(x, t, m) => wper = t * 2 - 1 avrng = ta.ema(math.abs(x - x[1]), t) smoothrng = ta.ema(avrng, wper) * m smoothrng smrng = smoothrng(src, per, mult) rngfilt(x, r) => rngfilt = x rngfilt := x > nz(rngfilt[1]) ? x - r < nz(rngfilt[1]) ? nz(rngfilt[1]) : x - r : x + r > nz(rngfilt[1]) ? nz(rngfilt[1]) : x + r rngfilt filt = rngfilt(src, smrng) upward = 0.0 upward := filt > filt[1] ? nz(upward[1]) + 1 : filt < filt[1] ? 0 : nz(upward[1]) downward = 0.0 downward := filt < filt[1] ? nz(downward[1]) + 1 : filt > filt[1] ? 0 : nz(downward[1]) hband = filt + smrng lband = filt - smrng // Colors filtcolor = upward > 0 ? upColor : downward > 0 ? downColor : midColor barcolor = src > filt and src > src[1] and upward > 0 ? upColor : src > filt and src < src[1] and upward > 0 ? upColor : src < filt and src < src[1] and downward > 0 ? downColor : src < filt and src > src[1] and downward > 0 ? downColor : midColor filtplot = plot(filt, color=filtcolor, linewidth=2, title="Range Filter") // Target Bands hbandplot = plot(hband, color=color.new(upColor, 70), title="High Target") lbandplot = plot(lband, color=color.new(downColor, 70), title="Low Target") // Fills fill(hbandplot, filtplot, color=color.new(upColor, 90), title="High Target Range") fill(lbandplot, filtplot, color=color.new(downColor, 90), title="Low Target Range") // Bar Color barcolor(barcolor) // Break Outs longCond = bool(na) shortCond = bool(na) longCond := src > filt and src > src[1] and upward > 0 or src > filt and src < src[1] and upward > 0 shortCond := src < filt and src < src[1] and downward > 0 or src < filt and src > src[1] and downward > 0 CondIni = 0 CondIni := longCond ? 1 : shortCond ? -1 : CondIni[1] longCondition = longCond and CondIni[1] == -1 shortCondition = shortCond and CondIni[1] == 1 // Alerts plotshape(longCondition, title="Buy Signal", text="Buy", textcolor=color.white, style=shape.labelup, size=size.small, location=location.belowbar, color=color.new(#aaaaaa, 20)) plotshape(shortCondition, title="Sell Signal", text="Sell", textcolor=color.white, style=shape.labeldown, size=size.small, location=location.abovebar, color=color.new(downColor, 20)) alertcondition(longCondition, title="Buy alert on Range Filter", message="Buy alert on Range Filter") alertcondition(shortCondition, title="Sell alert on Range Filter", message="Sell alert on Range Filter") alertcondition(longCondition or shortCondition, title="Buy and Sell alert on Range Filter", message="Buy and Sell alert on Range Filter") 지표로 볼수있게 부탁 드려요 건강하세요
프로필 이미지
뽀스뽀스
2025-05-18
269
글번호 190924
지표
답변완료

수식요청

안녕하세요 수식 부탁 드려요 매수 식 당일 시가에서 100 틱 이상 하락 볼밴드 하선 하락 돌파후 볼밴 하단상승 돌파하고 이평 20선을 상향 돌파시 진입 손절 볼밴 하선 재하락돌파 매도 당일 시가에서 100틱이상 상승하고 볼밴 상단 돌파후 볼밴 상단선을 하락진입후 볼밴 상선상승 돌파시 손절 이평20선 상승돌파시
프로필 이미지
아트정
2025-05-19
194
글번호 190923
시스템
답변완료

수식요청

안녕하세요 검색식을 잘쓰고 있습니다. 그런데 아래와 같이 당일고가와 같은 고가가 나오는 종목을 찾으려고 하는데, 잘안되네요 // '▼' 텍스트 표시를 위한 변수 Var : tx(0); Var : conditionMet(false); // 최종 조건 만족 여부 플래그 Var : dayIndex(0); // 이전 날짜를 순회할 루프 인덱스 Var : matchCount(0); // DayHigh(0)와 일치하는 날짜 개수 카운터 // --- 조건 확인 로직: DayHigh(0)의 고가가 DayHigh(0)~DayHigh(99) 내에서 2번 이상 출현하는가? --- // (즉, 현재 날짜 고가가 과거 99 거래일 이내에서 한 번이라도 동일하게 출현하는가?) // 1. DayHigh(0) 고가가 전체 100 거래일(DayHigh(0) ~ DayHigh(99)) 내에서 몇 번 나타나는지 셉니다. // (주의: DayHigh(0) 자기 자신도 카운트되므로, 2번 이상 나타나야 과거 출현을 의미) matchCount = 0; // 카운트 초기화 For dayIndex = 0 to 99 Begin // 스캔 범위를 0부터 99까지 100 거래일로 설정 // 현재 스캔 중인 거래일의 고가가 DayHigh(0)의 고가와 정확히 같은지 확인 if (DayHigh(dayIndex) == DayHigh(0)) Then { matchCount = matchCount + 1; // 같으면 카운트 증가 } End; // --- 100 거래일 스캔 루프 끝 --- // 2. 'matchCount'가 2 이상인지 확인합니다. // (이는 DayHigh(0) 고가가 자기 자신 외에 과거 거래일에서 최소 한 번 더 나타났음을 의미) if (matchCount >= 2) Then { // 조건 만족: DayHigh(0) 고가가 과거 99 거래일 내에서 최소 한 번 이상 반복됨 conditionMet = true; } // --- 최종 판단 --- if (conditionMet) Then { // '▼' 텍스트를 차트에 표시합니다. 위치는 오픈가 기준 위쪽입니다. // (분봉 차트에서 사용 시, 해당 봉의 위치에 표시됩니다) tx = Text_New_Self(sDate,sTime,O+PriceScale*15,"▼"); // 스타일 및 색상 설정 Text_SetStyle(tx,2,0); Text_SetColor(tx,Black); } 상기와 같은 식을 만들었는데 식을 작동시키면 모든 봉에 표시가 됩니다.혹시 확인가능하신지요 감사합니다.
프로필 이미지
풍요
2025-05-18
200
글번호 190922
검색
답변완료

부탁드립니다 항상 감사합니다

10// &#9989; 예스트레이더 코인용 최종 안정화 Plot 버전 (Invalid argument(22) 완전 차단) Input: 익절비율(1.02), 손절비율(0.992), 기준거래량배수(2), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false), 기준거래량(0); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If CurrentBar = 1 Then PrevST = 0; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 기준거래량 = Average(Volume, 20); RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 롱 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 * 기준거래량배수 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 * 익절비율; 손절가 = 진입가 * 손절비율; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 * 기준거래량배수 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 * (2 - 익절비율); 손절가 = 진입가 * (2 - 손절비율); If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 2.// &#9989; E-mini Nasdaq 100 전용 안정화 Plot 버전 (포인트 기반 청산) Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // SuperTrend 계산 ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If CurrentBar = 1 Then PrevST = 0; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 롱 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * MinMove; 손절가 = 진입가 - 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 숏 진입 === If 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * MinMove; 손절가 = 진입가 + 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and 진입가 <> 손절가) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If Close >= 익절가 or Close <= 손절가 or RSI값 >= 75 Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If Close <= 익절가 or Close >= 손절가 or RSI값 <= 25 Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 (안정성 강화 버전) === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 3. // ? E-mini Nasdaq 100 전용: 수동 손익비 조절 박스 포함 안정화 버전 (문법 오류 수정 포함) Input: 익절포인트(30), 손절포인트(12), 기준거래량(10000), atrMult(3.0), atrLen(10), 수동진입가(0), 수동익절가(0), 수동손절가(0), 수동모드(false); Var: 진입가(0), 익절가(0), 손절가(0), 진입중(false), 숏진입중(false); Var: RSI값(0), BB상단(0), BB하단(0), BB중심(0), 손익비(0.0); Var: ATR(0), ST(0), Up(0), Dn(0), PrevST(0); Var: 총거래(0), 승거래(0), 손익률(0.0), 진입상태(0); Var: Plot익절(0), Plot손절(0), Plot승률(0); // 외부 함수 정의 필요 External: BollBandUp, BollBandDn; External: MinMove; // SuperTrend 계산 If CurrentBar = 1 Then PrevST = Close; ATR = Average(TrueRange, atrLen); Up = (High + Low)/2 + atrMult * ATR; Dn = (High + Low)/2 - atrMult * ATR; If Close > PrevST Then ST = Dn Else ST = Up; PrevST = ST; // 지표 계산 RSI값 = RSI(Close, 14); BB상단 = BollBandUp(Close, 20, 2); BB하단 = BollBandDn(Close, 20, 2); BB중심 = Average(Close, 20); // === 자동 진입 조건 === If 수동모드 = false and 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close > BB상단 and RSI값 < 70 and Close > ST Then Begin 진입가 = Close; 익절가 = 진입가 + 익절포인트 * MinMove; 손절가 = 진입가 - 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; If 수동모드 = false and 진입중 = false and 숏진입중 = false and Volume > 기준거래량 and Close < BB하단 and RSI값 > 30 and Close < ST Then Begin 진입가 = Close; 익절가 = 진입가 - 익절포인트 * MinMove; 손절가 = 진입가 + 손절포인트 * MinMove; If (진입가 > 0 and 손절가 > 0 and AbsValue(진입가 - 손절가) > 0.00001) Then 손익비 = (진입가 - 익절가) / (손절가 - 진입가); 숏진입중 = true; End; // === 수동 모드 진입 === If 수동모드 = true and 진입중 = false and 숏진입중 = false and 수동진입가 > 0 and 수동익절가 > 0 and 수동손절가 > 0 and AbsValue(수동진입가 - 수동손절가) > 0.00001 Then Begin 진입가 = 수동진입가; 익절가 = 수동익절가; 손절가 = 수동손절가; 손익비 = (익절가 - 진입가) / (진입가 - 손절가); 진입중 = true; End; // === 롱 청산 === If 진입중 = true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close >= 익절가 or Close <= 손절가 or RSI값 >= 75) Then Begin If Close >= 익절가 Then 승거래 += 1; 진입중 = false; 총거래 += 1; End; End; // === 숏 청산 === If 숏진입중 = true Then Begin If 익절가 > 0 and 손절가 > 0 and (Close <= 익절가 or Close >= 손절가 or RSI값 <= 25) Then Begin If Close <= 익절가 Then 승거래 += 1; 숏진입중 = false; 총거래 += 1; End; End; // === Plot 시각화 === 진입상태 = IFF(진입중 = true or 숏진입중 = true, 1, 0); Plot익절 = IFF(익절가 > 0 and 손절가 > 0, 익절가, 0); Plot손절 = IFF(익절가 > 0 and 손절가 > 0, 손절가, 0); Plot승률 = IFF(총거래 > 0 and 승거래 >= 0, 100 * 승거래 / 총거래, 0); Plot1(진입상태, "진입여부"); Plot2(Plot익절, "익절가"); Plot3(Plot손절, "손절가"); Plot4(Plot승률, "승률(%)"); 둘다 각 차트에 구현되게 부탁드립니다
프로필 이미지
윤호석
2025-05-18
223
글번호 190921
지표
답변완료

지표 문의 드립니다.

안녕하세요~ 항상 수고가 많으십니다. 불러온 차트봉수 혹은 지정한 캔들의 갯수의 거래량을 배열에 저장하고 해당 배열에서 저장된 값을 큰순서대로 정렬하여 해당값의 고가와 저가를 차트에 박스로 표현하고 싶습니다. 박스로 표현할때 상위 10위까지의 내용을 표현하고 싶습니다.
프로필 이미지
oni
2025-05-18
199
글번호 190920
지표
답변완료

수식 수정 부탁드립니다.

안녕하세요. 수고 많으십니다. 특정날짜에 시가 진입해서 특정날짜 시가에 청산하는 전략을 만들고 있습니다. 일봉을 사용하다보니 시가(장시작직후)에만 진입하도록 되어 있는데 10시(장시작 1시간후)에도 분할 매수매도 할 수 있도록 수식 수정 부탁드립니다. (일봉에서 구현이 어렵다면 한시간봉으로 전략을 만들어 주셔도 됩니다.) 또한 진입 청산 날짜가 계속 추가되다 보면 과거 시뮬레이션을 하려면 라인수가 너무 많아지는 단점이 있습니다. 시뮬레이션 및 실전전략으로 사용하기 위해서 라인 수를 줄여서 컴팩트하게 만들어 주시면 감사하겠습니다. Input : EntryDate1(20250331), EntryDate2(20250430); Input : ExitDate1(20250429), ExitDate2(20250528); Input : EntryTime1(90000), EntryTime2(100000); Input : ExitTime1(140000), ExitTime2(150000); If Date == EntryDate1 Then { Buy("BUY1", AtStop, NextBarOpen, int(1000000/C)); } If Date == ExitDate1 Then { ExitLong("Sell1", Atstop, NextBarOpen, "BUY1"); } If Date == EntryDate2 Then { Buy("BUY2", AtStop, NextBarOpen, int(1000000/C)); } If Date == ExitDate2 Then { ExitLong("Sell2", Atstop, NextBarOpen, "BUY1"); }
프로필 이미지
착한이
2025-05-18
193
글번호 190919
시스템