커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

문의 드립니다

input:length(2),a틱(30),b틱(30),c틱(2); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),process(0),T(0); Array:HH[10,2](0),LL[10,2](0); input : StartTime(120000),EndTime(53000); var : Tcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } process = 0; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If LL[1,1] > L Then process = -1; If HH[1,1] < H Then process = 1; } Else If Highest(H,length) == H and lastHiVal <> H Then process = 1; Else If Lowest(L,length) == L and lastLoVal <> L Then process = -1; If process == 1 Then { T = 1; lastHiVal = H; If HH[1,2] < LL[1,2] Then { For j = 10 DownTo 2 { HH[j,1] = HH[j-1,1]; HH[j,2] = HH[j-1,2]; } } If HH[1,2] < LL[1,2] or HH[1,1] < H Then { HH[1,1] = H; HH[1,2] = Index; sBar = Index - LL[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } if LL[1,1] > 0 Then { TL1 = TL_New(sDate[sBar],sTime[sBar],LL[1,1],sDate[eBar],sTime[eBar],HH[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],HH[1,1],"+"+NumToStr(abs(HH[1,1]-LL[1,1])/PriceScale,0)); Text_SetStyle(Text1, 2, 1); } Else { Text_Delete(text1); Text1 = Text_New(sDate[eBar],sTime[eBar],HH[1,1],"+"+NumToStr(abs(HH[1,1]-LL[1,1])/PriceScale,2)); Text_SetStyle(Text1, 2, 1); } Text_SetStyle(Text1, 2, 1); } if MarketPosition <= 0 and HH[2,1] >= LL[2,1]+PriceScale*a틱 and LL[1,1] <= HH[2,1]-PriceScale*b틱 and Tcond == true Then Buy("b",AtStop,HH[2,1]+PriceScale*c틱); } If process == -1 Then { T = -1; lastLoVal = L; If LL[1,2] < HH[1,2] Then { For j = 10 DownTo 2 { LL[j,1] = LL[j-1,1]; LL[j,2] = LL[j-1,2]; } } If LL[1,2] < HH[1,2] or LL[1,1] > L Then { LL[1,1] = L; LL[1,2] = Index; sBar = Index - HH[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } if HH[1,1] > 0 Then { TL1 = TL_New(sDate[sBar],sTime[sBar],HH[1,1],sDate[eBar],sTime[eBar],LL[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],LL[1,1],"-"+NumToStr(abs(HH[1,1]-LL[1,1])/PriceScale,0)); Text_SetStyle(Text1, 2, 0); } Else { Text_Delete(text1); Text1 = Text_New(sDate[eBar],sTime[eBar],LL[1,1],"-"+NumToStr(abs(HH[1,1]-LL[1,1])/PriceScale,0)); Text_SetStyle(Text1, 2, 0); } } if MarketPosition >= 0 and LL[2,1] <= HH[2,1]-PriceScale*a틱 and HH[1,1] >= LL[2,1]+PriceScale*b틱 and Tcond == true Then Sell("s",AtStop,LL[2,1]-PriceScale*c틱); } if MarketPosition == 1 and IsEntryName("b") == true Then Sell("bs",AtStop,EntryPrice-PriceScale*50); if MarketPosition == -1 and IsEntryName("s") == true Then Buy("sb",AtStop,EntryPrice+PriceScale*50); 위 수식어의 해석을 부탁드립니다 ------------------------------------------- 아래 2가지 수식어를 부탁드립니다. 1. 전일 전체폭의 60% 당일 하락시 매수후 청산은 +300% 해외선물 매매시간은 08시 ~익일 07시 2. 당일 하락폭이 -200틱일때 매수후 청산은 +200틱 해외선물 매매시간은 08시 ~익일 07시
프로필 이미지
푸른
2025-01-14
657
글번호 187157
시스템
답변완료

문의드립니다.

틱차트에 분봉차트의 keltner channel 지표를 나타내고자 합니다. 수식의 변수값은 수정가능하게 부탁드립니다. 수고하세요!!! 항상 감사합니다.
프로필 이미지
해암
2025-01-14
542
글번호 187156
지표
답변완료

종목검색식 재 문의 드려요

만들어주신 수식으로 종목검색을하면 기간 500일. 일봉 기준으로 2260개가 나오고 이격도하고 상관없이 나오네요. 제가 요청하는 수식 아래와 같습니다. Smart Disparity Index를 계산하는 공식: SDI = 100 x (EMA6 - simple_moving_average) / simple_moving_average 50일 이동평균 : SDI50 = 100 x (EMA6 - SMA50) / SMA50 10일 이동평균 : SDI10 = 100 x (EMA6 - SMA10) / SMA10 이렇게 10일과 50일 각각의 이동평균선을 구하고 이 수식으로 만든 10일과 50일선 두 선의 이격도가 2%이내인 종목을 찾는 검색식입니다. 다시한번 확인 부탁드려요 안녕하세요 예스스탁입니다. input : length1(10); input : length2(50); var1 = ma(C,length1); var2 = ma(C,length2); value1 = 100 * (var1 - var2) / var1; if abs(value1) < 10 Then Find(1); 즐거운 하루되세요 > 신데렐라맨 님이 쓴 글입니다. > 제목 : 종목검색식 문의 드려요 > 트뷰 smart disparty index 라는 지표인데 일반적인 이격도에 수식을 추가하여 지표를 부드럽게 만든거같습니다. 이 지표기준 그림처럼 10일선과 50일선의 이격도가 2%이내인 종목을 찾는 검색식좀 만들어주세용~~ https://kr.tradingview.com/v/P6RTbphF/
프로필 이미지
신데렐라맨
2025-01-13
651
글번호 187155
종목검색
답변완료

시스템식 부탁드립니다.

항상 도움 주셔서 감사합니다. 아래 조건에 맞는 시스템식 부탁드립니다. 종목 : 해외선물 차트 : 5분봉 매수 : 5일 이평이 10일 이평 상승 돌파시 매수 1계약 추가매수 : 매수후 10틱 하락시 추가 1계약 매수 추가매수 횟수는 변수를 설정해서 최대 진입회수를 제한 할수 있게 부탁드립니다. 매수익절 : 매수후 평균수익이 20틱 이상일 경우 익절 매수손절 : 매수후 평균손실이 50틱 이상일 경우 손절 죄송하지만 주석도 부탁드립니다. 감사합니다.
프로필 이미지
양치기
2025-01-13
506
글번호 187154
시스템
답변완료

종목 검색식 부탁드립니다

항상 감사 드립니다. 다음 수식을 예스트레이더 종목검색식으로 부탁드립니다 cnt=countsince(date==date(1) && date==date(2) && date!=date(3),c>dayopen() && c(1)<dayopen()); s=countsince(date!=date(1), c<dayopen()); cnt==1 && cnt(1)==0 && s>1
프로필 이미지
파크에버뉴
2025-01-13
537
글번호 187153
종목검색

살빼고싶다 님에 의해서 삭제되었습니다.

프로필 이미지
살빼고싶다
2025-01-14
73
글번호 187152
검색
답변완료

문의드립니다.

var : T(0),B(0); var1 = ma(C,20); var2 = (DayHigh+DayLow)/2; if sDate != sDate[1] Then { T = 0; b = 0; } B = B +1; if B >= 10 Then { if CrossUp(c,var1) then T = 1; if T == 1 and CrossUp(C,var2) Then T = 2; if T == 2 and C >= DayHigh*0.997 Then { T = 3; Find(1); } } 음...이게 진짜 나중에 보면 정말 창피할 질문이지만...혼자 해보려는데...이해가 안되서 질문합니다... 1. 위의 검색식이 분봉기준이라는게 어떤건가요? 혹시...파워종목검색의 기준봉설정에 좌우되는 건가요? 2. 보면, 내부변수가 T와 B, 2개가 설정되어 있는데, B가 왜 분봉인가요? 3. 왜 1분이 지나 분봉하나생성되면 B가 1씩 더해 지나요? 이부분이 전혀 이해가...되지 않아요...ㅠㅠ 설명 부탁드립니다... 미리 감사합니다...ㅎ
프로필 이미지
시온사랑
2025-01-13
602
글번호 187151
검색
답변완료

종목검색 재질문 드립니다.

노고에 감사드립니다. 질문1 3201. 3202 화면에서 과거시점을 검색하려고 5를 입력하고 검색해도 현재봉이 나오는데 제가 조작을 잘못했나요? 5를 입력후 5봉전 결과를 알고 싶을때 조작방법을 설명부탁드립니다. 질문2 지난번 질문에서 일목균형표 선행 (1 or 2) 보다 캔들(주가)이 아래 있기를 기대했는데 전부 일목 구름위에 있습니다. 일목 구름속 or 일목 아래 있는걸로 수정하려고 하는데 어디를 고처야할지 모르겠습니다. 수고스럽지만 부탁드립니다. var : AA(0),BB(0),X1(0),X2(0),A(0); AA=(H+L+C)/3; BB=AA*V; X1=AccumN(BB,2); X2=AccumN(V,2); A=X1/X2; input : Period(20),dv(2); var : BBup(0),BBmd(0),BBdn(0); BBup = BollBandUp(Period,dv); BBmd = ma(c,Period); BBdn = BollBandDown(Period,dv); var : 기준선(0), 전환선(0),선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2; 기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2; 선행스팬1 = (전환선[25] + 기준선[25]) / 2 ; 선행스팬2 = (Highest(High, 52)[25] + Lowest(Low, 52)[25]) / 2; if ma(Money,5)[1] >= 500000000 and ma(Volume,5)[1] >= 50000 and ma(C,112) < ma(C,224) and ma(C,224) < ma(C,448) and V >= ma(V,120)[1]*(700/100) and A[3] > A[2] && A[2] > A[1] && A[1] < A[0] and ((CrossUp(C,bbup) or CrossUp(c,선행스팬1) or CrossUp(c, 선행스팬2)) or CrossUp(C,C[25])) and ((C < min(선행스팬1,선행스팬2) and C >= min(선행스팬1,선행스팬2)*0.98) and (C < C[25] and C >= C[25]*0.98)) Then Find(1);
프로필 이미지
햇살가득
2025-01-13
522
글번호 187150
종목검색
답변완료

도움 부탁드립니다

안녕하세요 늘 도움주셔서 감사드립니다. 아래의 지표 내용중에서 캔들에 "●","▼","▲" 표시를 하는 부분이 있습니다. 총 8개 인데 이 부분을 검색식으로나, 아니면 강조식이든 켄들이 종가 마감이 아닌 캔들이 시작될때 표시되었으면 합니다. 표현이 제대로 되었는지 ... 고맙습니다. input : length(20); input : len2(10); input : showsignals(true); input : highlighting(true); var : upper(0),lower(0); lower = lowest(L,length); upper = highest(H,length); plot1(upper, "Upper"); plot2(lower, "Lower"); var : up(0),down(0),sup(0),sdown(0); var : k1(0),k2(0),k3(0),k4(0),i1(-1),i2(-1); up=highest(high,length); down=lowest(low,length); sup=highest(high,len2); sdown=lowest(low,len2); if high >= up[1] Then i1 = 0; Else { if i1 >= 0 Then i1 = i1+1; } if Low <= down[1] Then i2 = 0; Else { if i2 >= 0 Then i2 = i2+1; } K1=iff(i1 <=i2, down , up); K2=iff(i1 <= i2,sdown,sup); K3=iff(close>K1,down,nan); K4=iff(close<K1,up,nan); plot3(K1,"Trend Line",red); plot4(K2,"Exit Line",blue); var : buySignal(False),sellSignal(False),buyExit(False),sellExit(False); var : O1(-1),O2(-1),O3(-1),O4(-1); var : E1(-1),E2(-1),E3(-1),E4(-1); var : tx1(0),tx2(0),tx3(0),tx4(0); var : tx5(0),tx6(0),tx7(0),tx8(0); buySignal=high==upper[1] or CrossUp(high,upper[1]); sellSignal = low==lower[1] or CrossUp(lower[1],low); buyExit=low==sdown[1] or CrossUp(sdown[1],low); sellExit = high==sup[1] or CrossUp(high,sup[1]); if BuySignal == true Then var1 = Index; if sellSignal == true Then var2 = Index; if buyExit == true Then var3 = Index; if sellExit == true Then var4 = Index; O1= IFf(var1 > 0,Index-var1,-1); O2= IFf(var2 > 0,Index-var2,-1); O3= IFf(var3 > 0,Index-var3,-1); O4= IFf(var4 > 0,Index-var4,-1); if BuySignal[1] == true Then var5 = Index; if sellSignal[1] == true Then var6 = Index; if buyExit[1] == true Then var7 = Index; if sellExit[1] == true Then var8 = Index; E1= IFf(var5 > 0,Index-var5,-1); E2= IFf(var6 > 0,Index-var6,-1); E3= IFf(var7 > 0,Index-var7,-1); E4= IFf(var8 > 0,Index-var8,-1); if buySignal and O3<O1[1] Then { tx1 = Text_New(sDate,sTime,down,"●"); Text_SetColor(tx1,Green); } if buySignal and showsignals and O3<O1[1] Then { tx2 = Text_New(sDate,sTime,down,"▲"); Text_SetColor(tx2,Green); } if sellSignal and O4<O2[1] Then { tx3 = Text_New(sDate,sTime,up,"●"); Text_SetColor(tx3,Red); } if sellSignal and showsignals and O4<O2[1] Then { tx4 = Text_New(sDate,sTime,down,"▼"); Text_SetColor(tx4,Red); } if buyExit and O1<O3[1] Then { tx5 = Text_New(sDate,sTime,up,"●"); Text_SetColor(tx5,blue); } if buyExit and showsignals and O1<O3[1] Then { tx6 = Text_New(sDate,sTime,down,"▼"); Text_SetColor(tx6,blue); } if sellExit and O2<O4[1] Then { tx7 = Text_New(sDate,sTime,down,"●"); Text_SetColor(tx7,Yellow); } if sellExit and showsignals and O2<O4[1] Then { tx8 = Text_New(sDate,sTime,down,"▲"); Text_SetColor(tx8,blue); }
프로필 이미지
라몬
2025-01-13
546
글번호 187149
지표