커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
1526
글번호 230811
지표
답변완료

수식작성

제가 지인 추천으로 가입해서 첨해보는거라 잘 몰라요 근데 예스트레이더에서 지표 만드는건 하는것까지는 배웠거든요 스탑로스를 2103에서 매수가격에서 몇프로 거는거 말고 수익이 0.03%이상일 때 최고가에서 0.03% 떨어지면 청산되기 이렇게 될까요? 0.12%라면 0.09%되면 자동청산되는거요 이것도 예스 랭기쥐에서 만들어요? 기본으로 0.05% 손실날 때 자동청산되는것도 수식으로 넣어주세요 그리고 지금 2103에서 매수 할때마다 스탑로스 걸어주는데 매번 하기가 번거로워서요 시스템 트레이딩이나. EZ전략생성기 이런거 쓰면 손쉽게 제가 말씀드린 최고가에서 떨어지면 청산하는거 셋팅 가능한지요? 수식 써야하면 수식 좀 알려주세요 근데 제가 초보라 지표는 수식 넣어서 추가하는건 알겠는데 스탑로스 수식 주시면 적용하는 걸 모르겠는데 참고 영상링크같은게 있으면 부탁드릴게요
프로필 이미지
미카다
2025-09-16
275
글번호 194043
지표
답변완료

수식수정

늘 감사합니다. 수식은 유용하게 잘 쓰고 있습니다. 아래 수식에 선의 굵기를 추가해 주세요 var : count(0,data1),cnt(0); Array : CC[500](0),CTL[500](0); if data1(Bdate != Bdate[1]) Then { var51 = data1(O); count = 0; } if data1(V>=거래량) Then { count = count+1; CC[count] = data1(C); CTL[count] = TL_New_Self(data1(sDate),data1(sTime),CC[count],data1(NextBarSdate),data1(NextBarStime),CC[count]); TL_SetColor(CTL[count],Black); //색상 } if count >= 1 Then { For cnt = 1 to count { TL_SetEnd(CTL[cnt],NextBarSdate,NextBarStime,CC[cnt]); } } 감사합니다.
프로필 이미지
상암동
2025-09-16
190
글번호 194038
지표
답변완료

지표 변환 부탁드립니다.

//@version=5 indicator(title="On Balance Volume Scaled", shorttitle="OBV-Scaled", format=format.volume, timeframe="", timeframe_gaps=true) length=input.int(100,minval=10,title="Length of Scaling", group="Settings",tooltip = "The number of candles measured for the highest price, lowest price and average price in the indicator.") var cumVol = 0. cumVol += nz(volume) if barstate.islast and cumVol == 0 runtime.error("No volume is provided by the data vendor.") src = close obv = ta.cum(math.sign(ta.change(src)) * volume) highest_in_length = ta.highest(obv,length) highest_in_length_avg= ta.ema(highest_in_length,length) lowest_in_length = ta.lowest(obv,length) lowest_in_length_avg= ta.ema(lowest_in_length,length) avg_range= highest_in_length_avg - lowest_in_length_avg middle_line =avg_range/2 normalized_obv= if obv>=middle_line -1*((0.5-((math.abs(math.abs(obv)-math.abs(lowest_in_length_avg)))/(math.abs(avg_range))))*100) else 1*((-0.5-((math.abs(obv)-math.abs(math.abs(lowest_in_length_avg)))/(math.abs(avg_range))))*100) band1 = hline(50, "Upper Band", color=#787B86, linestyle=hline.style_dashed) hline(0, "Middle Band", color=color.new(#787B86, 50)) band0 = hline(-50, "Lower Band", color=#787B86, linestyle=hline.style_dashed) fill(band1, band0, color=color.rgb(33, 150, 243, 90), title="Background") plot(normalized_obv, color=#2962FF, title="OnBalanceVolume") ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "Bollinger Bands" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing") smoothingLine = ma(normalized_obv, smoothingLength, typeMA) plot(smoothingLine, title="Smoothing Line", color=#f37f20, display=display.none)
프로필 이미지
삼손감자
2025-09-16
306
글번호 194037
지표
답변완료

문의 드립니다.

안녕하세요 항상 친절한 답변 감사합니다. 손절매에 대한 서식 작성을 부탁드립니다. *일봉기준 손절매: -매수 진입 시: 최근 3일간의 봉(전일까지 3개의 봉) 기준으로 저점(봉의 몸통만) 돌파시 매수 청산 -매도 진입 시: 최근 3일간의 봉(전일까지 3개의 봉) 기준으로 고점(봉의 몸통만) 돌파시 매도 청산 **최근 3일간의 봉은 input으로 넣어주시기 바랍니다.(최적화) 감사합니다.
프로필 이미지
가자아이
2025-09-16
158
글번호 194036
지표
답변완료

안녕하세요 질문 있습니다.

질문) OnClose 손절 시 슬리피지 문제 및 정확한 손절 방법 문의 안녕하세요 해외선물 시스템 매매에서 손절 로직 관련 문의드립니다. 현재 OnClose 방식으로 손절을 구현했는데, 설정한 손절가보다 훨씬 큰 손실로 청산되는 문제가 발생하고 있습니다. ㅠ 현재 코드: easylanguageInput : StopTicks(1.5); // 1.5포인트 손절 설정 if MarketPosition == 1 Then { if C <= AvgEntryPrice - StopTicks then { ExitLong("Stop_L"); } } 문제점: 1.5포인트 손절 설정했으나 실제로는 2.0~3.0포인트에서 청산 변동성 큰 구간에서 슬리피지가 심함 갭 발생 시 손실이 예상보다 커짐 질문사항: SetStopLoss 함수를 사용하면 정확한 손절이 가능한지요? easylanguage SetStopLoss(StopTicks*PriceScale, PointStop); 진입과 동시에 손절 주문을 설정하는 방법이 있나요? 바로 손절 해줘야 하는데 종가 확인 후 손절하다 보니 1.5 포인트 보다 훨씬 초과 되면서 손절을 하더라고요. ㅠ OnClose 대신 실시간으로 손절가 터치 시 즉시 청산하는 방법은 없나요? easylanguage if MarketPosition == 1 and L <= AvgEntryPrice - StopTicks then ExitLong("Stop_L", AtMarket); 해외선물에서 정확한 손절을 위한 권장 방법이 있다면 알려주심 감사하겠습니다. 슬리피지를 최소화하면서 설정한 손절가에 최대한 가깝게 청산할 수 있는 방법 부탁드립니다. ------------------------------ 질문) 제목: 60분 주기별 강제청산 및 시간 만료 청산 방법 문의 해외선물 시스템 매매에서 60분 주기 관리 및 강제청산 로직 관련 문의드립니다. 시스템 구조: 매시 정각에 60분 주기 시작 (예: 8:00, 9:00, 10:00...) 첫 5분간 고가/저가 수집하여 상하단선 설정 5분 후부터 상하단선 돌파 시 진입 해당 60분 주기 종료 시 강제청산 필요 현재 시도한 코드: easylanguagevar : hour60StartTime(0), minutesFromStart(0); if TimeToMinutes(stime) % 60 == 0 Then { hour60StartTime = TimeToMinutes(stime); // 레인지 초기화 } minutesFromStart = TimeToMinutes(stime) - hour60StartTime; // 60분 만료 강제청산 시도 if MarketPosition != 0 and minutesFromStart >= 59 Then { if MarketPosition == 1 then ExitLong("Time_L"); else ExitShort("Time_S"); } 문제점: 60분 주기 종료 시점에 정확한 강제청산이 안됨 다음 주기로 포지션이 넘어가는 경우 발생 시간 계산이 정확하지 않음 질문사항: 매시 정각 기준으로 60분 후 정확한 강제청산 방법이 있나요? TimeToMinutes 함수를 사용한 시간 계산이 올바른 방법인가요? 60분 주기 관리를 위한 더 정확한 시간 체크 로직은 뭐죠? 해외선물에서 특정 시간 경과 후 강제청산하는 권장 방법이 있나요? 예를 들어 8:00에 시작한 주기는 8:59에, 9:00에 시작한 주기는 9:59에 반드시 청산되어야 합니다. 올바른 60분 주기 관리 및 강제청산 방법 부탁드립니다. ---------------------------------- 질문) 혼합 청산 방법 궁금합니다. 손절은 SetStopLoss로 즉시 처리하고 익절은 OnClose로 종가 확인 후 처리하는 방식이 가능한지? 진입과 손절 주문의 타이밍: easylanguage Buy("BreakUp", OnClose, Def, 1); SetStopLoss(StopTicks*PriceScale, PointStop); 이렇게 진입 주문과 손절 주문을 동시에 설정할 때 실행 순서는 뭐죠? CurrentBar 변수의 정확성: 해외선물에서 CurrentBar를 이용한 재진입 방지가 안정적인가요? 24시간 거래에서 봉 번호가 정확히 증가하는지요? 시간 함수 관련: TimeToMinutes(stime) % 60 == 0 조건이 해외선물에서 정확히 작동할까요? 서머타임 적용 시에도 문제없는지요? --------------------- 질문) 변수 초기화 및 메모리 관리 문의 easylanguage// 60분 주기 초기화 시 if TimeToMinutes(stime) % 60 == 0 Then { EntryCount = 0; FirstEntryResult = 0; LastExitBar = 0; // 기타 변수들 초기화 } 질문사항: 매시 정각마다 변수를 초기화할 때, 이전 주기의 포지션 정보가 올바르게 유지되는지요? AvgEntryPrice, MarketPosition 같은 내장 변수들은 자동으로 관리되는지요? 변수 초기화와 포지션 청산의 순서가 중요한지요? 장시간 운영 시 메모리 누수나 변수 오류 방지를 위한 권장사항이 있는지요? 답변 잘 부탁합니다. 감사합니다.
프로필 이미지
스오어스
2025-09-16
257
글번호 194035
시스템
답변완료

종목검색식 부탁드립니다

1. 지수 10 이평이 , 단순 60 이평을 골든크로스할때 종목검색식 부탁드려요. 2. 지수 10 이평이, 단순 60 이평을 골든크로스할때, 단. 0봉전 ~ 10봉전 까지의 모든종목 검색식 부탁드립니다. 3. 지수 10 이평이, 단순 60 이평 을 골든크로스 한후, 단순60이평 위에 있을때 모든종목 검색식 부탁드려요. 4. 주봉에서, 주봉의 60 "단순 이평이" 상승추세로 바뀔때 종목검색식 부탁드려요 5. 주봉에서, 주봉의 60 "지수 이평이" 상승추세 로 바뀔때 종목검색식 부탁드립니다. 6. 아래 수식을 참고하여(하단), 일봉기준차트에 주봉 10일 이평선을(단순) 긋고, 일봉차트에서 주봉 10일 이평선이(단순) , 아래 (수식1)의 이평선을 돌파하고, 위에 있을때 모든 종목 검색식 부탁드려요 ---아래--- (수식1) 이평 smoothADD = ma_length + if(smoothingBool, ma_lengthSmoothing, 0); MS = if(ma_type == 1, ma(C, smoothADD), if(ma_type == 2, eavg(C, smoothADD), if(ma_type == 3, ma(C, smoothADD,가중), eavg(C, smoothADD)))); MS (수식2) 상승 if(MS(1)<MS,MS,0) (수식3) 하락 if(MS(1)>=MS,MS,0) - 지표조건설정 ma_length : 80 ma_lengthSmoothing : 20 smoothingBool : 0 ma_type : 2
프로필 이미지
일지매7
2025-09-16
234
글번호 194034
종목검색
답변완료

검색식 문의 드립니다.

안녕 하세여~ 문의 하나만 드립니다. 일목균형표 후행스팬이 볼린져 밴드 하단선를 골든 크로스 하는 검색식를 알고 싶어 문의 드립니다. 수고 하세여~~ 감사 합니다!!!
프로필 이미지
r8
2025-09-16
199
글번호 194033
종목검색
답변완료

수식 문의2

[진입] 1)당일 첫봉이 양봉이면 매수진입하고 음봉이면 매도진입(1분봉기준임) 진입횟수는 100회차까지 진입 2)현재가가 전회차 진입봉대비 5틱 수익이면 계속 불타기 진입 (이렇게 5틱 수익 날때마다 N회차 계속 진입해서 최종100회차까지 진입) 3)트레일일스탑 청산후 당일 목표수익이 1% 안되었을경우 다시 진입하되 현재가가 당일 시가보다 작으면 매도 진입후 진입과 청산 반복루팅 매매 현재가가 당일 시가보다 크면 매수 진입후 진입과 청산 반복루팅 매매 [청산] 1)목표수익청산1 : 진입금액대비 2%면 목표수익청산 2)목표수익청산2 : 잔고대비 1% 수익이면 목표수익청산 3)트레일링스탑청산 : 0.5%부터 트레일링스탑 가동후 고점대비 30% 밀리면 트레일링스탑청산 4)트레일링스탑청산이 반복되서 당일목표수익 1%달성시 매매 종료 5)손절매1 : 진입금액대비 -10%면 손실청산 6)손절매2 : 잔고대비 -10% 손실청산 7)당일7시 시작해서 익일06일 일괄청산
프로필 이미지
엔돌핀
2025-09-16
192
글번호 194032
시스템
답변완료

수식 문의

수고하십니다.^^ 수식좀 부탁드립니다. [진입] 1)당일 첫봉이 양봉이면 매도진입하고 음봉이면 매수진입(1분봉기준임) 진입횟수는 100회차까지 진입 2)현재가가 전회차 진입봉대비 5틱 손실이면 진입 (이렇게 5틱 밀릴때마다 N회차 계속 진입해서 최종100회차까지 진입) 3)트레일일스탑 청산후 당일 목표수익이 1% 안되었을경우 다시 진입하되 현재가가 당일 시가보다 작으면 매수진입후 진입과 청산 반복루팅 매매 현재가가 당일 시가보다 크면 매도진입후 진입과 청산 반복루팅 매매 [청산] 1)목표수익청산1 : 진입금액대비 2%면 목표수익청산 2)목표수익청산2 : 잔고대비 1% 수익이면 목표수익청산 3)트레일링스탑청산 : 0.5%부터 트레일링스탑 가동후 고점대비 30% 밀리면 트레일링스탑청산 4)트레일링스탑청산이 반복되서 당일목표수익 1%달성시 매매 종료 5)손절매1 : 진입금액대비 -10%면 손실청산 6)손절매2 : 잔고대비 -5% 손실청산 7)당일7시 시작해서 익일06일 일괄청산
프로필 이미지
엔돌핀
2025-09-16
189
글번호 194031
시스템