커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

MACD 지표에서

안녕하세요 보조지표로 MACD를사용하는데 빨간선이 바란선을 크로스할때 화살표로 매수 매도 표시가 되게 해주세요 거기다 크로스 될때 매수 매도소리도 나오면 좋겠읍니다 꼭좀부탇드립니다~ 감사합니다~^^
프로필 이미지
bdew
2023-03-24
1132
글번호 167505
지표
답변완료

전환 쌍바닥

Input : 전환(0.2),쌍바닥상(1),쌍바닥하(2),쌍봉상(1),쌍봉하(2); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),TX1(0); Array:고[10,4](0),저[10,4](0); var : box(0),BB(False); var : TX11(0),TX12(0),TX13(0); var : cond11(False),cond12(False),cond13(False); HH = H; LL = L; If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1]+전환 <= HH and hiBar == 0; Condition2 = 고[1,1]-전환 >= LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { //양전환되면 tx11점은 삭제 Text_Delete(tx11); For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New_Self(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,2); TL_SetColor(TL1,RED); Text_Delete(tx1); TX1 = Text_New_Self(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)); Text_SetSize(tx1,25); Text_SetColor(Tx1,Red); Text_SetStyle(tx1,1,1); Text_SetBold(tx1,1); cond13 = False; if 고[1,1] <= 고[2,1]+PriceScale*쌍봉상 and 고[1,1] >= 고[2,1]-PriceScale*쌍봉하 and 고[2,1] > 0 Then { cond13 = true; tx13 = Text_New(고[1,3],고[1,4],고[1,1],"●"); Text_SetStyle(tx13,2,0); Text_SetColor(tx13,Magenta); Text_SetSize(tx13,20); } } Else If 고[1,1] < HH[hiBar] Then { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); Text_SetString(TX1,NumToStr(고[1,1]-저[1,1],2)); Text_SetLocation(TX1,고[1,3],고[1,4],고[1,1]); if cond13 == False Then { if 고[1,1] <= 고[2,1]+PriceScale*쌍봉상 and 고[1,1] >= 고[2,1]-PriceScale*쌍봉하 and 고[2,1] > 0 Then { cond13 = true; tx13 = Text_New (고[1,3],고[1,4],고[1,1],"●"); Text_SetStyle(tx12,2,0); Text_SetColor(tx12,Magenta); Text_SetSize(tx12,20); } } Else { if 고[1,1] <= 고[2,1]+PriceScale*쌍봉상 and 고[1,1] >= 고[2,1]-PriceScale*쌍봉하 and 고[2,1] > 0 Then { Text_SetLocation(tx11,고[1,3],고[1,4],고[1,1]); } Else { Text_Delete(tx12); cond12 = False; } } } 최종꼭지점 = "고점"; Plot1(고[1,1]); NoPlot(2); } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,2); TL_SetColor(TL1,BLUE); Text_Delete(tx1); TX1 = Text_New_Self(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1]-고[1,1],2)); Text_SetSize(tx1,25); Text_SetColor(Tx1,Blue); Text_SetStyle(tx1,1,0); Text_SetBold(tx1,1); bb = False; if bb == False and 저[1,1] <= 고[1,1]-0.5 and 고[1,1] > 0 Then { bb= true; box = Box_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); Box_SetColor(box,Lime); Box_SetFill(box,true,70); } cond11 = False; if 저[1,1] >= 저[2,1]-PriceScale*2 and 저[2,1] > 0 Then { cond11 = true; tx11 = Text_New(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx11,2,0); Text_SetColor(tx11,Blue); Text_SetSize(tx11,30); } cond12 = False; if 저[1,1] < DayHigh-0.7 and 저[1,1] <= 저[2,1]+PriceScale*쌍바닥상 and 저[1,1] >= 저[2,1]-PriceScale*쌍바닥하 and 저[2,1] > 0 Then { cond12 = true; tx12 = Text_New(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx12,2,0); Text_SetColor(tx12,Green); Text_SetSize(tx12,20); } } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); Text_SetString(TX1,NumToStr(저[1,1]-고[1,1],2)); Text_SetLocation(TX1,저[1,3],저[1,4],저[1,1]); if bb == true Then Box_SetEnd(box,저[1,3],저[1,4],저[1,1]); Else { if bb == False and 저[1,1] <= 고[1,1]-0.5 and 고[1,1] > 0 Then { bb= true; box = Box_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); Box_SetColor(box,Lime); Box_SetFill(box,true,70); } } if cond11 == true Then { if 저[1,1] >= 저[2,1]-PriceScale*2 and 저[2,1] > 0 Then Text_SetLocation(tx11,저[1,3],저[1,4],저[1,1]); if 저[1,1] < 저[2,1]-PriceScale*2 and 저[2,1] > 0 Then { Text_Delete(tx11); cond11 = False; } } if cond12 == False Then { if 저[1,1] < DayHigh-0.7 and 저[1,1] <= 저[2,1]+PriceScale*쌍바닥상 and 저[1,1] >= 저[2,1]-PriceScale*쌍바닥하 and 저[2,1] > 0 Then { cond12 = true; tx12 = Text_New(저[1,3],저[1,4],저[1,1],"●"); Text_SetStyle(tx12,2,0); Text_SetColor(tx12,Green); Text_SetSize(tx12,20); } } Else { if 저[1,1] < DayHigh-0.7 and 저[1,1] <= 저[2,1]+PriceScale*쌍바닥상 and 저[1,1] >= 저[2,1]-PriceScale*쌍바닥하 and 저[2,1] > 0 Then { Text_SetLocation(tx11,저[1,3],저[1,4],저[1,1]); } Else { Text_Delete(tx12); cond12 = False; } } } 최종꼭지점 = "저점"; Plot2(저[1,1]); NoPlot(1); } 81350 재문의 쌍바닥 쌍봉 수식에 오류가 많이 납니다. 검토 부탁드립니다.
프로필 이미지
고성
2023-03-24
1414
글번호 167502
지표
답변완료

수고하십니다.

안녕하세요.. 만약 F4 검증이 랭귀지나 스팟에서 조절할 수 없다면 1시간마다 자동 F4 검증을 할 수 는 업나요. 방법을 알려주시면 감사하겠습니다.
프로필 이미지
구름달
2023-03-24
1369
글번호 167501
사용자 함수

아트정 님에 의해서 삭제되었습니다.

프로필 이미지
아트정
2023-03-24
7
글번호 167495
시스템
답변완료

진입한 다음봉에 청산

감사합니다. 1 이평5가 이평20을 돌파하여 매수했다면 그 매수신호 다음봉에 청산하는 수식을 알고 싶습니다. 2 매수신호 이후 N봉에 청산하는 수식을 알고 싶습니다
프로필 이미지
jdavid
2023-03-24
1166
글번호 167493
시스템
답변완료

수식작성 부탁드립니다.

안녕하세요. 운영자님 아래 사이트의 트레이딩뷰 수식을 예스트레이더 수식으로 변환가능하신지 문의/부탁드립니다. 감사합니다. rsiPeriod = input(11, minval = 1, title = "RSI Period") bandLength = input(31, minval = 1, title = "Band Length") lengthrsipl = input(1, minval = 0, title = "Fast MA on RSI") lengthtradesl = input(9, minval = 1, title = "Slow MA on RSI") src = close // Source of Calculations (Close of Bar) r = rsi(src, rsiPeriod) // RSI of Close ma = sma(r, bandLength) // Moving Average of RSI [current] offs = (1.6185 * stdev(r, bandLength)) // Offset up = ma + offs // Upper Bands dn = ma - offs // Lower Bands mid = (up + dn) / 2 // Average of Upper and Lower Bands fastMA = sma(r, lengthrsipl) // Moving Average of RSI 2 bars back slowMA = sma(r, lengthtradesl) // Moving Average of RSI 7 bars back hline(30) // Oversold hline(50) // Midline hline(70) // Overbought upl = plot(up, "Upper Band", color = blue) // Upper Band dnl = plot(dn, "Lower Band", color = blue) // Lower Band midl = plot(mid, "Middle of Bands", color = orange, linewidth = 2) // Middle of Bands plot(slowMA, "Slow MA", color=green, linewidth=2) // Plot Slow MA plot(fastMA, "Fast MA", color=red, linewidth=2) // Plot Fast MA fill(upl, midl, red, transp=90) // Fill Upper Half Red fill(midl, dnl, green, transp=90) // Fill Lower Half Green
프로필 이미지
고박사122
2023-03-24
1112
글번호 167492
지표
답변완료

예비신호

안녕하세요? 예비신호에 나오는 프로그램이 잇고 없는 프로그램이 있습니다. 어떻게 해야 예비 신호가 전부 나오나요? Sell("S",Atmarket,def,1); 감사합니다.
프로필 이미지
대가들의매매
2023-03-24
1028
글번호 167491
시스템
답변완료

수식 문의 드립니다

항상 감사드립니다. 현재 아래의 수식은 진입이 항상 매수만 되는 수식인데, 매도도 진입가능한 (매수/매도 모두 진입가능한) 수식으로 바꿔주시면 감사드리겠습니다. Input : 매수장기이평길이(200), 매수단기이평길이(10), 매수RSI길이(2), 매수RSI기준(5), 매도이평(10), 매도RSI길이(2), 매도RSI기준(75); Var : longCondition(False), exitCondition(False); longCondition = ma(close, 매수장기이평길이) < close and ma(close, 매수단기이평길이) > Close and rsi(매수RSI길이) < 매수RSI기준; exitCondition = ma(close, 매도이평) < Close and rsi(매도RSI길이) > 매도RSI기준; if longCondition Then { Buy("매수", AtMarket); } if exitCondition Then { Exitlong("매도", AtMarket); }
프로필 이미지
행복곰
2023-03-24
1074
글번호 167489
시스템
답변완료

수식 문의드립니다.

5일선 10일선 골든크로스할때 매수를 하려하는데 봉이 완성되기 전 골든크로스가 일어나면 바로 매수할수있도록 수식을 만들고싶습니다. 현재는 신호는 발생하는데 골든크로스한 봉의 종가에서만 사지는데 봉이 완성되기전에 매수가 가능하도록 수식작성이 가능한지 궁금합니다.
프로필 이미지
망고맨
2023-03-24
1187
글번호 167487
시스템