커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 수정 요청드립니다.

안녕하세요.글번호 227003번의 작성자입니다.해당 글의 답글로 달아주신 수식을 적용하였더니 익절, 손절 외부변수에 어떤 값을 넣든지간에 진입 직후에 손절이 이루어지고 있습니다.피라미딩에 따른 평균진입가격에서 +0.5%면 익절, -0.5%면 손절이 될수 있는 수식으로 수정 부탁드리겠습니다.이에 더하여 22시30분부터 익일 오전 1시 사이에 익절 또는 손절이 1회라도 발생하면 추가 진입은 하지 않고 거래를 마치며, 만약 오전 1시까지 포지션이 있는 경우 오전 1시에 일괄 청산되도록 하는 수식도 추가 부탁드리겠습니다.항상 감사합니다.
프로필 이미지
트레이더365
2025-10-22
66
글번호 227201
시스템
답변완료

문의 드립니다.

수식1input : 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),tx(0); 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 dir == 1 Then { Plot1(longStop,"LongStop",Green); NoPlot(2); } else { NoPlot(1); Plot2(shortStop,"ShortStop",Red); } if buySignal == true then { tx = Text_New(sDate,sTime,longStop,"▲"); Text_SetStyle(tx,2,0); Text_SetColor(tx,Green); } if SellSignal == true then { tx = Text_New(sDate,sTime,shortStop,"▼"); Text_SetStyle(tx,2,1); Text_SetColor(tx,Red); } 수식2 input : length(20); var : vwma(0); vwma = ma(close * volume, length) / ma(volume, length); plot1(vwma,"vwma",blue); 수식1이 수식2를 크로스하면 매수/매도 신호가 나오게 해주세요.
vwma
프로필 이미지
신대륙발견
2025-10-22
86
글번호 227200
시스템

트레이더365 님에 의해서 삭제되었습니다.

프로필 이미지
트레이더365
2025-10-22
1
글번호 227199
시스템
답변완료

수식요청

수식변환 부탁드립니다.valuewhen(1, crossup(선행스팬1, 선행스팬2), max(h,h(1)))
valuewhen 선행스팬크로스
프로필 이미지
언젠가요
2025-10-22
70
글번호 227198
지표

세력은내밥줄 님에 의해서 삭제되었습니다.

프로필 이미지
세력은내밥줄
2025-10-22
20
글번호 227197
시스템
답변완료

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

/@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
85
글번호 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
133
글번호 227193
시스템
답변완료

미결제약정 지표

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