커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의

if Data1(Bdate != Bdate[1]) Then k1 = k; if k >= k1 + 상승 Then Buy(); 위 내용 주석 부탁드립니다. *********************************************************************************** input:상승(0.90); var : sum1(0,Data1),sum2(0,Data1),sum3(0,Data1),sum4(0,Data1),sum5(0,Data1); var : k(0,Data1),k1(0,data1); sum1 = data2(c) + data3(c); sum2 = data4(c) + data5(c); sum3 = data6(c) + data7(c); sum4 = data8(c) + data9(c); sum5 = data10(c) + data11(c); k = min(sum1,sum2,sum3,sum4,sum5); if Data1(Bdate != Bdate[1]) Then k1 = k; if k >= k1 + 상승 Then Buy();
프로필 이미지
목마와숙녀
2021-03-12
671
글번호 147054
시스템
답변완료

고생이 많으세요 트레이딩뷰 식 변환 부탁드립니다.

감사합니다. //@version=2 strategy("Forex Master v4.0", overlay=true) Price = close Length = input(20) Mult = input(1.5) Basis = sma(Price, Length) StdDev = Mult * stdev(Price, Length) Upper = Basis + StdDev Lower = Basis - StdDev ADX_Length = input(50) TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1]))) DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0 DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0 SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/ADX_Length) + TrueRange SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/ADX_Length) + DirectionalMovementPlus SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/ADX_Length) + DirectionalMovementMinus DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100 DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100 DX = abs(DIPlus - DIMinus) / (DIPlus + DIMinus)*100 SmoothedADX1 = ema(DX, input(6)) SmoothedADX2 = ema(DX, input(12)) Condition1 = crossover(Price, Lower) and SmoothedADX1 < SmoothedADX2 Condition2 = crossunder(Price, Upper) and SmoothedADX1 < SmoothedADX2 Take_Profit = input(500) Stop_Loss = input(500) strategy.entry("LongEntry", true, when = Condition1) strategy.exit("LongExit", "LongEntry", profit = Take_Profit, loss = Stop_Loss) strategy.entry("ShortEntry", false, when = Condition2) strategy.exit("ShortExit", "ShortEntry", profit = Take_Profit, loss = Stop_Loss)
프로필 이미지
midasys
2021-03-12
836
글번호 147048
시스템

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2021-03-12
111
글번호 147039
지표
답변완료

문의드립니다

input : shortperiod(12),midperiod(29),longperiod(50); var1 = (highest(high,shortperiod)+lowest(low,shortperiod))/2; var2 = (highest(high,midperiod)+lowest(low,midperiod))/2; var3 = (highest(high,longperiod)+lowest(low,longperiod))/2; plot1(var1); plot2(var2); plot3(var3); 안녕하세요 위식에서 숏,미드 가 롱 상향돌파하면 빨간색화살표 반대로 되면 파란색 화살표 표시가 가능한가요? 화살표가 안되면 다른표시도 괜찮습니다 가능하면 부탁드립니다
프로필 이미지
작두1
2021-03-12
639
글번호 147036
지표

동동이아빠 님에 의해서 삭제되었습니다.

프로필 이미지
동동이아빠
2021-03-12
49
글번호 147035
지표
답변완료

문의합니다

안녕하세요 이평선(5) 가 이평선(20) 을 상향돌파시 붉은색 화살표, 하향돌파시 파랑색 화살표가 자동으로 차트에 나타나는 수식을 부탁드립니다 혹시 불가하시면 수평선이라도 자동으로 그려시는 수식은 가능하실지요 부탁합니다 감사합니다
프로필 이미지
파티아
2021-03-12
828
글번호 147032
지표
답변완료

교차가 N회 이상인 종목

감사합니다 일봉 이평5가 이평20을 상승교차 했을 때의 종가를 교차수평선이라고 한다면, 그 교차수평선을 기준으로, 일봉 종가가 그 교차수평선을 N회 이상 업다운 (상승교차 하락교차 모두 포함)했는지를 검색하고 싶습니다
프로필 이미지
jdavid
2021-03-12
823
글번호 147031
종목검색
답변완료

거래량 관련 지표 작성 문의

업무에 수고가 많으십니다. 도움주심에 항상 감사합니다. 아래는 당일 첫봉제외 최대거래량을 나타내는 지표입니다만, 첫봉을 제외하고 "1st 최대거래량" 과 함께 "2nd 최대거래량"을 plot으로 나타내고 싶습니다. 도움주시면 감사하겠습니다. var: HV(0),HVO(0),HVH(0), HVL(0),HVC(0); var: HV1(0),HVO1(0),HVH1(0), HVL1(0),HVC1(0); if Bdate != Bdate[1] Then { HV = H; HVO = O; HVH = H; HVL = L; HVC = C; HV1 = 0; } Else { if V > HV and HV > 0 Then { HV = V; HVO = O; HVH = H; HVL = L; HVC = C; } if HV1 == 0 or (HV1 > 0 and V > HV1) Then { HV1 = V; HVO1 = O; HVH1 = H; HVL1 = L; HVC1 = C; } } plot1(HVO,"시가"); plot2(HVH,"고가"); plot3(HVL,"저가"); plot4(HVC,"종가"); plot5(HVH1,"고가(첫봉제외)"); plot6(HVL1,"저가(첫봉제외)");
프로필 이미지
ycchoi17
2021-03-12
761
글번호 147028
지표
답변완료

재문의2

알려주신 대로 해 보았는데 거래가 발생하지 않습니다. 한번만 다시 봐주실 수 있을까요? 수식상의 오류인지 아니면 시스템 설정상에 오류인지 파악이 안 되고 있습니다 도움 부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 오류 수정 부탁드립니다! > 안녕하세요 예스스탁입니다. 1 Entry변수가 시작시간에 0으로 초기화가 됩니다. 초기화가 되는 부분을 삭제하시면 됩니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0); if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; } Entry = DayOpen + (Var1-Var2)*K; if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,Entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket); 2 시가가 당일시가입니다. 만약 시작시간2의 시가이면 아래식 적용하시면 됩니다. input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5); var : Tcond(false), Entry(0),OO(0); if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then { var1 = H; var2 = L; } if sTime >= 시작시간 and sTime < 끝시간 Then { if H > var1 Then var1 = H; if L < Var2 Then Var2 = L; } if (sdate != sdate[1] and stime >= 시작시간2) or (sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then { Tcond = true; OO = O; } Entry = OO + (Var1-Var2)*K; if (sdate != sdate[1] and stime >= 끝시간2) or (sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then Tcond = False; if MarketPosition == 0 and Tcond == true Then Buy("B",AtStop,Entry); if MarketPosition == 1 and NextBarSdate != sdate Then exitlong("bx",AtMarket);
프로필 이미지
syskama
2021-03-12
672
글번호 147018
시스템