커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

아래의 트레이디이뷰 수식을 변환부탁드립니다.

/@version=6indicator("Dynamic Deviation Levels [BigBeluga]", overlay = true, max_labels_count = 500) // INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ int len = input.int(50) float mult = input.float(3) color col_up1 = input.color(#85C1FF, "", inline = "c") color col_up2 = input.color(#4FA3F2, "", inline = "c") color col_up3 = input.color(#3182DE, "", inline = "c") color col_up4 = input.color(#164F96, "", inline = "c") color col_dn1 = input.color(#FF8A64, "", inline = "cc") color col_dn2 = input.color(#F26947, "", inline = "cc") color col_dn3 = input.color(#DE5731, "", inline = "cc") color col_dn4 = input.color(#A13A20, "", inline = "cc") bool show_dev = input.bool(false, "Deviation Levels") color color_na = #363a4500 color mid_line = color.new(chart.fg_color, 50) // } // CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ atr = ta.atr(200) mid = ta.hma(ta.median(hl2, len*2), 10) stdv_lbl(condition, src, mid, txt, color, side = true)=> cond = condition bars = ta.barssince(cond) if cond and barstate.isconfirmed and bars[1] > 20 label.new(bar_index-1, src, txt, style = side ? label.style_label_lower_right : label.style_label_upper_right, textcolor = color.black, color = color, tooltip = txt + " Stdev") line.new(bar_index-1, mid[1], bar_index-1, hl2[1], color = chart.fg_color, style = line.style_dashed) mid_1 = mid - atr * mult * 1 mid_2 = mid - atr * mult * 2 mid_3 = mid - atr * mult * 3 mid1 = mid + atr * mult * 1 mid2 = mid + atr * mult * 2 mid3 = mid + atr * mult * 3 mid1_cond = ta.crossover(low, mid1) mid2_cond = ta.crossover(low, mid2) mid3_cond = ta.crossover(low, mid3) mid_1_cond = ta.crossunder(high, mid_1) mid_2_cond = ta.crossunder(high, mid_2) mid_3_cond = ta.crossunder(high, mid_3) // } // PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ colorUp = (close > mid3 ? col_up1 : close > mid2 ? col_up2 : close > mid1 ? col_up3 : close > mid ? col_up4 : na) colorDn = (close < mid_3 ? col_dn1 : close < mid_2 ? col_dn2 : close < mid_1 ? col_dn3 : close < mid ? col_dn4 : na) color_ = close > mid ? colorUp : colorDn scoreUp = (close > mid3 ? 3 : close > mid2 ? 2 : close > mid1 ? 1 : close > mid ? 0 : na) scoreDn = (close < mid_3 ? -3 : close < mid_2 ? -2 : close < mid_1 ? -1 : close < mid ? 0 : na) score_ = close > mid ? scoreUp : scoreDn color = color.new(chart.fg_color, show_dev ? 70 : 100) plot(mid_1, color = color, linewidth = 2) plot(mid_2, color = color, linewidth = 3) plot(mid_3, color = color, linewidth = 4) plot(mid, "", color = chart.fg_color, linewidth = 1) plot(mid1, color = color, linewidth = 2) plot(mid2, color = color, linewidth = 3) plot(mid3, color = color, linewidth = 4) stdv_lbl(mid1_cond, mid1, mid, "1", color_) stdv_lbl(mid2_cond, mid2, mid, "2", color_) stdv_lbl(mid3_cond, mid3, mid, "3", color_) stdv_lbl(mid_1_cond, mid_1, mid, "-1", color_, false) stdv_lbl(mid_2_cond, mid_2, mid, "-2", color_, false) stdv_lbl(mid_3_cond, mid_3, mid, "-3", color_, false) if barstate.islast var dash = table.new(position.bottom_right, 60, 60) for i = 1 to 20 table.cell(dash, i, 0) table.cell(dash , score_ == 3 ? 1 : score_ == 2 ? 5 : score_ == 1 ? 8 : score_ == -1 ? 13 : score_ == -2 ? 16 : score_ == -3 ? 20 : 10 , 0 , text = "▼" , width = 0.5 , text_color = chart.fg_color ) table.cell(dash, i, 1, width = 0.5 , text_color = color.black , bgcolor = i <= 10 ? color.from_gradient(i, 0, 20, col_up1, color.new(col_up4, 50)) : color.from_gradient(i, 0, 20, color.new(col_dn4, 50), col_dn1) ) table.cell(dash, i, 2 , text = i == 1 ? "3" : i == 5 ? "2" : i == 8 ? "1" : i == 13 ? "-1" : i == 16 ? "-2" : i == 20 ? "-3" : "" , width = 0.5 , text_color = chart.fg_color ) plotcandle(open, high, low, close, title='Color Candles', color = color_, wickcolor=color_, bordercolor = color_) barcolor(color_) // }
DynamicDeviationLevels Hull
프로필 이미지
해암
2025-10-22
88
글번호 227196
지표
답변완료

질문 있습니다.

안녕하세요.아직도 코드이랑 씨름을 하고 있습니다.지금 어려운 그 문제가 있는데 일일 수익 표시 타이밍 문제입니다..해외선물 23시간 인데아침 8시 부터 20시까지 매매하면서 수익, 손실를 차트에 표시 하고새벽 5시에 전날 누적 수익을 표시하려고 하는데, 항상 0T만 표시됩니다.// 새벽 5시 표시if CurrentHour == 5 and CurrentHour != CurrentHour[1] Then { Text_New(sDate, sTime, H + 2.0, "+" + NumToStr(TodayProfit, 0) + "T"); } // 날짜 변경 시 초기화 if Bdate != Bdate[1] Then { TodayProfit = 0; } 🆕 추가로 이상한 점: 거래가 1회만 있는 날: 새벽 5시에 "+234T" 정상 표시됨 거래가 여러 번 있는 날 (수익+손실): 새벽 5시에 "0T" 표시됨 예를 들어: 케이스1: +234틱 1회만 → 05:00에 "+234T" ✅ 케이스2: +234틱, -45틱 (순수익 +189틱) → 05:00에 "0T" 으로 순수익이 표시 되지 않습니다. ㅠ 질문이 있습니다.Bdate 변경과 CurrentHour == 5 중 어느 것이 먼저 실행되나요?Bdate는 정확히 언제 변경되나요? (자정? 새벽 5시? 거래 시작 시간?)새벽 5시에 전날 수익을 표시하려면 어떤 조건을 사용해야 하나요?추가로 이상한 점에서 거래 횟수에 따라 결과가 다른 이유가 있을까요? 1회만 거래하면 새벽 5시에 통계 보듯이 순수익 정상 표시 되고1회 이상 거래 하면 새벽 5시에 순수익 통계가 안 나옵니다.감사합니다!
NetProfit Text_New
프로필 이미지
스오어스
2025-10-22
66
글번호 227194
시스템
답변완료

수식을 요청 합니다.

YesLanguage 시스템의 실시간 차트 데이터를 외부(파이썬 시스템)로 전달하고자 합니다.이에 실시간으로 형성되는 10분 봉의 OHLCV 데이터와 LRL 지표의 계산된 값을, 파일 또는 데이터베이스에 기록하는 시스템식 요청드립니다.실시간 데이터 CSV 파일 기록 시스템식 요청대상 종목: MYMZ25 (해외선물)작동 주기 및 트리거:10분 봉 차트를 기준으로 합니다.매 10분 봉 종가 기준입니다. 추출 데이터 항목: 봉 완성 시간 (정확한 시간 정보, 예: YYYY-MM-DD HH:MM:SS 형식) 시가(Open) 고가(High) 저가(Low) 종가(Close) 거래량(Volume) LRL 지표 값: LRL 지표의 최종 계산된 값 데이터 저장 방식 및 형식: -지정된 CSV 파일 (.csv 확장자) 로 저장 합니다. -파일 내 데이터는 새로운 데이터가 가장 아래 줄에 추가(Append)되는 방식으로 기록 합니다. (기존 내용을 덮어쓰지 않고, 계속해서 누적 저장 합니다.) -각 데이터 항목은 쉼표(,)로 구분 합니다. - 파일 저장 경로 및 파일명 예시: C:\YesData\realtime_mymz25.csv (해당 경로는 YesLanguage 시스템이 데이터를 기록하고, 파이썬 시스템이 데이터를 읽을 수 있는 공통의 로컬 경로로 조정 가능합니다.) -파일 내 한 줄 데이터 형식 예시 (헤더 포함 시): -DateTime,Open,High,Low,Close,Volume,LRL 2025-10-22 15:00:00,1000.0,1010.0,990.0,1005.0,1000,1002.5 2025-10-22 15:10:00,1005.0,1015.0,1000.0,1012.0,1200,1009.8 ... (헤더 라인 포함 여부는 예스스탁에서 구현 용이성을 고려하여 제안해주시면 감사하겠습니다.) 2. 위 CSV 파일 기록 방식과 더불어, -YesLanguage 시스템 내에서 DB(데이터베이스)와의 데이터 송수신 및 연동이 가능한지요? -가능 하다면 YesLanguage 시스템과 DB(데이터베이스) 연동 시스템식 추가 요청 드립니다. -또한, 실시간 OHLCV 및 LRL 값을 DB에 기록하는 예스랭귀지 시스템식도 함께 요청드립니다.DB 종류 예시 : 가장 접근성이 좋은 SQLite DB 파일로 기록이 가능하다면 좋습니다.DB 저장 방식 : 새로운 데이터가 특정 테이블에 행으로 추가(Insert)되는 방식.저장 데이터 항목 : CSV 요청과 동일한 항목 (봉 완성 시간, 시가, 고가, 저가, 종가, 거래량, LRL 지표 값).DB 파일 경로 및 테이블명 예시 : C:\YesData\realtime_mymz25.db 파일 내의 ohlcv_lrl 테이블 (경로 및 테이블명은 조정 가능). ** YesLanguage 시스템에서 데이터를 추출하여 파이썬 시스템에 전달하고, 이를 강화 학습 모델의 추론 및 재훈련에 활용할 계획입니다. 구체적인 예스랭귀지 시스템식을 작성하여 제공해 주시면 프로젝트 진행에 큰 도움이 되겠습니다.** 아직 수식 작성에 미숙 합니다. 주석을 충분히 달아 주시면 감사 하겠습니다.감사합니다.
프로필 이미지
너무조아
2025-10-22
135
글번호 227193
시스템
답변완료

미결제약정 지표

안녕하세요... 코스피200 선물 미결제약정 첨부한 화일 형태로 차트에 보여지게 할려면 어떻게 해야 할까요? 그리고 누적량을 나타내는 그래프 부분도 증가하면 빨강으로 내려가면 검정색으로 색깔을구분할 수 있으면 더욱 좋겠고요....감사합니다.
미결제약정 OI
프로필 이미지
랑랑
2025-10-22
82
글번호 227192
지표
답변완료

질문 있습니다.

어제 답변 너무 감사합니다!!!꼬였던 그 문제를 해결 해서 깔끔하게 되었습니다!! 감사합니다!! ㅠㅠ이제 다른 질문인데요.하루 목표 수익 달성 로직 관련 질문입니다. 그 뜻은 제가 하루 목표 수익을 달성하면 매매 중단하고 끝내는 로직입니다.손실, 수익 합쳐서 순수익 목표 달성하면 매매 중단하고 싶은데 순수익 목표를 달성하지 못하고 그냥 끝내서 좀 해매고 있습니다.MACD 매매 시스템에서 하루 목표 수익 기능을 구현 중인데, 예상과 다르게 작동해서 질문드립니다.ㅠㅠ 현재 상황 Input : DailyProfitTarget(30); // 목표 300틱 Input : UseDailyTarget(1); var : TodayProfit(0); var : TradeProfit(0); // 익절 시 TradeProfit = (C - AvgEntryPrice) / 0.1; TodayProfit = TodayProfit + TradeProfit; if TodayProfit >= DailyProfitTarget Then { TargetReached = 1; } 문제는 아래와 같습니다. DailyProfitTarget = 30 설정 (300틱 목표) 실제 누적 수익 252틱인데 매매종료 표시가 나오면서 매매 종료됨300틱 달성 전인데 왜 종료되는지 모르겠습니다.질문(C - AvgEntryPrice) / 0.1 계산 결과가 틱 단위인가요? (예: 마이크로 골드)DailyProfitTarget 입력값은 어떤 단위로 해야 하나요?TodayProfit 변수에 누적되는 값이 정확히 어떤 단위인가요?아니면 제가 모르는 것이 있을까요?감사합니다!
당일수익청산 NetProfit
프로필 이미지
스오어스
2025-10-22
71
글번호 227191
시스템
답변완료

수식을 더해보니 오류가 나서 재차 질문 합니다

V(1)+3<V and Crossup(C,dayopen())이수식과A=predayhigh()-predaylow();B=dayopen()+A+1.5;B1=RSI(1);Crossup(C,B) and B1>60이두가지 수식을 하나의 수식으로 사용 하고자 합니다.답변주신 수식을 넣어보니 일부 오류로 나오네요.
프로필 이미지
문어발
2025-10-22
70
글번호 227181
사용자 함수
답변완료

문의 드립니다.

input : length(22); input : mult(3.0); input : useClose(1);#1:종가, 0:고가/저가 var : alpha(0),atrv(0),a(0); var : longStop(0),longStopPrev(0),shortStop(0),shortStopPrev(0),dir(1); var : Buysignal(False),Sellsignal(False); alpha = 1 / length ; atrv = IFf(IsNan(ATRV[1]) == true, ma(TrueRange,length) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATRV[1])==true,0,ATRV[1])); a = mult * atrv; longStop = IFF(useClose == 1,highest(close, length), highest(H,length)) - a; longStopPrev = iff(isnan(longStop[1])==true, longStop,longStop[1]); longStop = iff(close[1] > longStopPrev , max(longStop, longStopPrev) , longStop); shortStop = IFF(useClose == 1,lowest(close, length), lowest(L,length)) + a; shortStopPrev = iff(IsNan(shortStop[1])==true, shortStop[1], shortStop); shortStop = iff(close[1] < shortStopPrev , min(shortStop, shortStopPrev) , shortStop); dir = iff(close > shortStopPrev , 1 , iff(close < longStopPrev , -1 , dir)); buySignal = dir == 1 and dir[1] == -1; sellSignal = dir == -1 and dir[1] == 1; if buySignal == true Then Buy("Buy"); if sellSignal == true Then Sell("Sell");위 시스템 수식을 지표 수식으로 만들어주세요.
ChandelierExit 샹들리에청산
프로필 이미지
신대륙발견
2025-10-22
92
글번호 227180
지표
답변완료

수식작성 부탁 드립니다

1. 종가가 60 이평위에 있을때 가격이 20 이동평균선 아래에서 위로 돌파 후 20이동 평균선에서 2틱 더 상승시점에 매수진입 , 2. 가격이 50이평선 위에서 50이평선 아래로 하락 돌파 후 2틱 더 하락시점 에 매수 청산 되도록 수식작성 원합니다.
프로필 이미지
뎅이요
2025-10-22
74
글번호 227178
시스템
답변완료

부탁드립니다

다음 키움 지표식을 YT로 변환하고 싶습니다. 미리 감사드립니다.수식1: 대세라인a=bbandsup(17,2);b=bbandsup(60,2);valuewhen(1,crossup(a,b)&&C>b,b)수식2: 급등라인a=bbandsup(17,2);b=bbandsup(30,1.8);valuewhen(1,crossup(a,b)&&C>b,b)수식3: 맥점라인a=avg(c,5); b=avg(c,20); d=avg(c,25); e=avg(c,60); valuewhen(1,crossup(C,a) &&crossup(C,b) &&crossup(C,d) &&C>e, C)
프로필 이미지
고도산
2025-10-22
114
글번호 227167
지표

고도산 님에 의해서 삭제되었습니다.

프로필 이미지
고도산
2025-10-22
2
글번호 227164
지표