커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수고하십니다

언제나 질문에 정성스럽게 답변해주셔서 감사드립니다 초보이다보니 자꾸 귀찮게 해드립니다 1) 랭귀지공부를 할려고 하는데 가장기초적인 부분에서 막히네요 ma, c, ,k .d ,s,b,es 이런단어들은 랭귀지에서도 언급이 없는데 이런단어들이 무었을 뜻하는지 종류별로 설명 부탁드립니다 2) 첨부 식은 Value1 이나 Value2 를 c가 상향이면 매수 하향이면매도를 하도록 만들어 주세요 3)여기에 청산식도 부탁드립니다 방식은이렇읍니다 매수진입후 진입후의 고점을 계속 기억하고 (예: 261.05,-> 261.75->261.80 이면 261.75 기억후 261.80 이면 261.75는 버리고 261.80을기억 이런식으로 계속 고점을 기억 하다 가 최고점에서 0.5포가 내리면 청산 (매도역시 저점을 기억하다가 최저점에서 0.5 오르면 청산)하는식을 부탁드리겠읍니다
프로필 이미지
회원
2013-11-02
197
글번호 69148
시스템

토라 님에 의해서 삭제되었습니다.

프로필 이미지
토라
2013-11-02
0
글번호 69147
시스템
답변완료

수식작성 부탁드립니다

아래 수식은 스토캐스틱을 한번 평활한 것인데요 이를 종가(c) 말고 중간값{(고가+저가)/2 } 을 기준으로 할 수는 없습니까? Input : Period(7), Period1(3), Period2(3), Period3(2); Plot1(StochasticsD(Period,Period1,Period2), "StochasticsD"); Plot2(ema(StochasticsD(Period,Period1,Period2), Period3), "Stochastics_M"); PlotBaseLine1(20, "기준선1"); PlotBaseLine2(80, "기준선2"); value1 = plot2 ; if value1 > value1[1] Then plot3(value1,"통합",red); Else plot3(value1,"통합",BLUE);
프로필 이미지
회원
2013-11-02
202
글번호 69146
지표
답변완료

중간값 이용한 그물망

아래 수식은 고가를 이용한 그물망인데요 중간값을 이용한 그물망으로 만들어주시면 감사하겠습니다 input : Period(1); var : FO1(0),FO2(0),FO3(0), FO4(0), FO5(0),FO6(0),FO7(0),FO8(0), FO9(0), F10(0); FO1 = (H-LRL(H,Period*1))/H*100; FO2 = (H-LRL(H,Period*2))/H*100; FO3 = (H-LRL(H,Period*3))/H*100; FO4 = (H-LRL(H,Period*4))/H*100; FO5 = (H-LRL(H,Period*5))/H*100; FO6 = (H-LRL(H,Period*6))/H*100; FO7 = (H-LRL(H,Period*7))/H*100; FO8 = (H-LRL(H,Period*8))/H*100; FO9 = (H-LRL(H,Period*9))/H*100; F10 = (H-LRL(H,Period*10))/H*100; var1 = H-(FO1*H/100); var2 = H-(FO2*H/100); var3 = H-(FO3*H/100); var4 = H-(FO4*H/100); var5 = H-(FO5*H/100); Var6 = H-(FO6*H/100); Var7 = H-(FO7*H/100); Var8 = H-(FO8*H/100); Var9 = H-(FO9*H/100); Var10 = H-(F10*H/100); if var1 > var1[1] then plot1(var1, "1", red); Else plot1(var1, "1", blue); if var2 > var2[1] then plot2(var2, "2", red); Else plot2(var2, "2", blue); if var3 > var3[1] then plot3(var3, "3", red); Else plot3(var3, "3", blue); if var4 > var4[1] then plot4(var4, "4", red); Else plot4(var4, "4", blue); if var5 > var5[1] then plot5(var5, "5", red); Else plot5(var5, "5", blue); if Var6 > var1[1] then plot6(Var6, "6", red); Else plot6(var1, "6", blue); if Var7 > var2[1] then plot7(Var7, "7", red); Else plot7(var2, "7", blue); if Var8 > var3[1] then plot8(Var8, "8", red); Else plot8(var3, "8", blue); if Var9 > var4[1] then plot9(Var9, "9", red); Else plot9(var4, "9", blue); if Var10 > var5[1] then plot10(Var10, "10", red); Else plot10(var5, "10", blue);
프로필 이미지
회원
2013-11-02
268
글번호 69145
지표

오라클 님에 의해서 삭제되었습니다.

프로필 이미지
오라클
2013-11-01
27
글번호 69144
시스템
답변완료

부탁드립니다.

아래 식을 만들어 주셨는데요... 한가지 수정 부탁드립니다. 적용을 해보니까요... 1분봉에서 매매하는데, 1분봉 기준으로 청산이 되어버리네요. 청산은 일봉기준입니다. *청산은 일봉의 종가가 이평선(20,60) 이격 99.5미만이면, 다음봉(익일 첫봉이 됩니다.)에 청산합니다. ---------------------------------------------------------- 1. input : P(60); var : cnt(0),sum(0),mav(0),dis(0); sum = 0; for cnt = 0 to P-1{ sum = sum+DayClose(cnt); } mav = sum/P; dis = C/mav*100; if MarketPosition == 0 And ExitDate(1) != sdate and C < dayopen And dis >= 100 and dis <= 102.5 Then buy("b",AtMarket); if MarketPosition == 1 Then{ if countif(dis < 99.5,2) == 2 Then ExitLong("bx1",AtMarket); if C >= EntryPrice*1.10 Then ExitLong("bx2",AtMarket); if highest(h,BarsSinceEntry) >= EntryPrice*1.05 Then ExitLong("bx3",AtStop,highest(h,BarsSinceEntry)-(highest(h,BarsSinceEntry)-EntryPrice)*0.3); } 2. input : P(20); var : cnt(0),sum(0),mav(0),dis(0); sum = 0; for cnt = 0 to P-1{ sum = sum+DayClose(cnt); } mav = sum/P; dis = C/mav*100; if MarketPosition == 0 And ExitDate(1) != sdate and C < dayopen And dis >= 100 and dis <= 102.5 Then buy("b",AtMarket); if MarketPosition == 1 Then{ if dis < 99.5 Then ExitLong("bx1",AtMarket); if C >= EntryPrice*1.10 Then ExitLong("bx2",AtMarket); if highest(h,BarsSinceEntry) >= EntryPrice*1.05 Then ExitLong("bx3",AtStop,highest(h,BarsSinceEntry)-(highest(h,BarsSinceEntry)-EntryPrice)*0.3); } > 현물, 분봉사용합니다. 2가지 부탁드립니다. 1번. <매수> -주가가 당일 시초가보다 이하이고(즉, 당일 음봉 중), -60일(일봉) 이평선 이격도 100~102.5이면 다음 첫봉에 매수 -오늘 청산되었다면 매수 금지 <청산> -일 종가가 60일(일봉) 이평선 이격도 99.5미만이 2회이면 다음 첫봉에 청산 -매수가대비 +10%이상 상승시 다음 첫봉에 청산 -매수가 대비 +5%이상 상승 후, 매수가와 최고상승가(+100%로 가정) 대비 +30%로 하락하면 청산 2번. <매수> -주가가 당일 시초가보다 이하이고(즉, 당일 음봉 중), -20일(일봉) 이평선 이격도 100~102.5이면 다음 첫봉에 매수 -오늘 청산되었다면 매수 금지 <청산> -일 종가가 20일(일봉) 이평선 이격도 99.5미만(1회)이면 다음 첫봉에 정산 -매수가 대비 10%이상 상승시 다음 첫봉에 청산 -매수가 대비 +5%이상 상승 후, 매수가와 최고상승가(+100%로 가정) 대비 +30%로 하락하면 청산
프로필 이미지
쌀사비팔
2013-11-01
208
글번호 69140
시스템
답변완료

문의드립니다

아래식수정을 부탁합니다 장시작후 var3의 절대값을기억하여 장중에 두배가되었을때 현재값에 표시 var3 = Abs(var1-var2); if dayindex == 1 Then value1 = var3; if dayindex > 0 Then{ if var4 = Abs(var3 <= value1*2) Then var4 = (H+L)/2;
프로필 이미지
처음처럼22
2013-11-01
196
글번호 69133
지표
답변완료

문의 드립니다

아래식은 제가 사용하는 매수/매도수식일부입니다,,, ------------------------------------------------------------ if CrossUp(c,s20) && c>fr[2] && c<fr[0]+(fr[1]-fr[5]) && c>r2 && c<r2+1 and mav > mav[1] and c>mav and Condition1 == false Then{ if (PreBuyPrice == 0 or (PreBuyPrice > 0 and c > PreBuyPrice)) Then buy("매수"); } if CrossDown(c,fr[4]) && c<fr[4] && c>fr[6]-(fr[1]-fr[5]) && c<s2 && c>s2-1 and mav < mav[1] and c<mav and Condition1 == false Then{ if (PreSellPrice == 0 or (PreSellPrice > 0 and c < PreSellPrice)) Then Sell("매도"); } ----------------------------------------------------------------------------- 여기에 아래의 지표중 red일때만 매수신호가 나오고,blue일때만 매도신호가 나오게 하고 싶은데 잘안되네요,,,,, 지표) var5=int((c-dayopen)/0.764)*0.764+DayOpen; if var5 > var5[5] Then value5 = 5; if var5 < var5[5] Then value5 = -5; if value5 == 5 Then plot19(var5+0.764,"5",RED); Else plot19(var5-0.764,"5",BLUE); 위지표의 내용을 시스템수식에 적용하여 red(var5+0.764)조건일때만 매수신호,,,,blue( var5-0.764)일때는 매도신호가 나오게 설정부탁드립니다
프로필 이미지
오동도물개
2013-11-01
213
글번호 69125
시스템
답변완료

수정 바랍니다

아래식 수정 바랍니다 1. 매도식 Trailing 반영 매수가 대비 5% 돌파한 종목이 분봉 저가가 2% 하락 전환시 잔량 즉시 매도 2. 매도 Closing time 반영 매수가 대비 수익 중인 경우 매수일 (sdate) 대비 다음날 아침 09:55 기준 전량 매도 3. 매도식 수정 분봉 고가가 매수가 대비 4.5% 이상 초과 돌파시 매수량 40% 즉시 매도 분봉 고가가 매수가 대비 7% 이상 초과 돌파시 매수량 잔량 즉시 매도 아래는 사용 수식입니다. input : 투자금액(5200000),N(1); var : vol(0),count(0); Count = 0 ; for Value1 = 0 to 10 { if EntryDate( Value1 ) == sdate then Count = Count + 1; } vol = int(int((투자금액)/C)/10)*10; var5 = 1098; var6 = var5*0.9955; If sdate >= 20131101 and stime >= 90000 and crossdown(L,var6) and count < N then buy("b",OnClose,def,vol); if MarketPosition == 1 Then{ var2 = round(var6[BarsSinceEntry],0); exitlong("bx1",Atlimit, var2*1.045,"",int(int(MaxContracts*0.4)/10)*10,1); exitlong("bx2",Atlimit, var2*1.075); }
프로필 이미지
미래테크
2013-11-01
191
글번호 69124
시스템