커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식문의

수고하십니다~ 1. MACD 오실레이터에서 양오실에서 음오실로 변할때 신호음발생. 반대로 음에서 양오실로 변할때도 신호음 발생되는 수식. 2.챠트상 임의의 가로선(가격선)을 그은후 현재지수가 그선을 터치하면 신호음 발생하는 수식, 또는 임의의 지수를 설정한후 현재지수가 그 지수에 오면 신호음 발생하는 수식.
프로필 이미지
저은아빠
2016-06-14
132
글번호 99027
시스템
답변완료

lrl 질문입니다

예스랭귀지 지표설명하는데 보면 value1 = 봉수 value2 = 봉수의 제곱 value3 = 봉수의 평균 value4 = 봉수의 제곱평균 value5 = 봉수의 평균제곱 value6 = 종가*봉위치 value7 = value6의 이동평균 value8 = 종가 이동평균 LRL = (Value7 - value3 * Value8) / (value4 - Value5) * (Value1 - value3) + Value8 식이 이렇게 홈페이지에 나와있던데 봉수가의미하는 것과 봉위치가 의미 하는게 뭐죠? 그리고 보면 value3 가 2개나오가 value2 는 나오질않는데 오타가 있는거같네요
프로필 이미지
하얀머리
2016-06-14
184
글번호 99026
지표
답변완료

질문입니다.

안녕하세요^ 종목검색에서 코스피나 코스닥 지수에 연동해서 검색할수 있는지요? 가령 코스닥지수가 3일간 최고가 일경우에만, 당일 전일종가대비 5%이상 상승한 종목들에 대한 검색을 원할경우 어떻게 수식을 작성해야 하나요?...
프로필 이미지
7007
2016-06-14
137
글번호 99025
검색
답변완료

시스템식 질문입니다.

제가 여러가지 형태로 생각해보고 있습니다. 현재는 당일에 3회에 걸친 익절이나 손절이 아니면 익일이나 익익일까지 끌고 가는데, 혹시 당일에 1회라도 익절이나 손절이 나오는 경우에는 당일 2:30에 매도하는 형태로 수정해보고 싶습니다. 감사합니다. input: 매수금액1(8000000),매수금액2(12000000),지정일(20160613); var : Ev(0),Xv(0),Xcond(false),Nday(0),OpenPrice(0); if bdate != bdate[1] Then{ Nday = Nday+1; Xcond = false; } if TotalTrades > TotalTrades[1] and (LatestExitName(1) == "BL1" or LatestExitName(1) == "BL2") Then Xcond = true; if MarketPosition == 0 and NextBarSdate == 지정일 and Xcond == false and NextBarOpen < C*1.05 and dayindex == 0 Then { buy("b",OnClose,def,Floor(매수금액1/C)); Openprice = CloseD(1); } if MarketPosition == 1 Then{ if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BL1" Then{ Condition11 = true; Xcond = true; } if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BL2" Then{ Condition12 = true; Xcond = true; } if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP1" Then Condition21 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP2" Then Condition22 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP3" Then Condition23 = true; if MaxEntries == 1 and highest(H,BarsSinceEntry) < EntryPrice*1.05 and stime < 110000 and MaxContracts == CurrentContracts Then buy("bb",Atlimit,EntryPrice*0.97,Floor(매수금액2/C)); if CurrentContracts > CurrentContracts[1] Then{ Ev = AvgEntryPrice; Xv = Floor(MaxContracts*(1/100)); } if MaxEntries ==1 Then{ if Condition11 == false Then exitlong("BL1",AtStop,AvgEntryPrice*0.95,""); // if Condition12 == false Then // exitlong("BL3",AtStop,AvgEntryPrice*0.955); if Condition21 == false Then exitlong("BP1",AtLimit,AvgEntryPrice*1.05,"",xv*40,1); if Condition22 == false Then exitlong("BP2",AtLimit,AvgEntryPrice*1.10,"",xv*30,1); if Condition23 == false Then exitlong("BP3",AtLimit,OpenPrice*1.29); if MaxEntries == 1 and highest(H,BarsSinceEntry) >= EntryPrice*1.05 Then ExitLong("btr",AtStop,highest(H,BarsSinceEntry)*0.90); } if MaxEntries ==2 Then{ if Condition11 == false Then exitlong("BL11",AtStop,AvgEntryPrice*0.967,""); // if Condition12 == false Then // exitlong("BL33",AtStop,AvgEntryPrice*0.95); if Condition21 == false Then exitlong("BP11",AtLimit,AvgEntryPrice*1.05,"",xv*60,1); if Condition22 == false Then exitlong("BP22",AtLimit,AvgEntryPrice*1.10,"",xv*30,1); if Condition23 == false Then exitlong("BP33",AtLimit,OpenPrice*1.28); if MaxEntries == 1 and highest(H,BarsSinceEntry) >= EntryPrice*1.05 Then ExitLong("btr2",AtStop,highest(H,BarsSinceEntry)*0.90); } // if sdate > Nday[BarsSinceEntry]+1 and stime == 144500 Then If DayOfWeek(지정일) == 1 Then { if (DayOfWeek(sdate)==3 or DayOfWeek(sdate)==4 or DayOfWeek(sdate)==5) and stime>=143000 Then exitlong("bx월-수"); } If DayOfWeek(지정일) == 2 Then { if (DayOfWeek(sdate)==4 or DayOfWeek(sdate)==5 or DayOfWeek(sdate)==1) and stime>=143000 Then exitlong("bx화-목"); } If DayOfWeek(지정일) == 3 Then { if (DayOfWeek(sdate)==5 or DayOfWeek(sdate)==1 or DayOfWeek(sdate)==2) and stime>=143000 Then exitlong("수-금"); } If DayOfWeek(지정일) == 4 Then { if (DayOfWeek(sdate)==1 or DayOfWeek(sdate)==2 or DayOfWeek(sdate)==3) and stime>=143000 Then exitlong("bx목-월"); } If DayOfWeek(지정일) == 5 Then { if (DayOfWeek(sdate)==2 or DayOfWeek(sdate)==3 or DayOfWeek(sdate)==4) and stime>=143000 Then exitlong("bx금-화"); } } else{ Condition11 = false; Condition12 = false; Condition21 = false; Condition22 = false; Condition23 = false; }
프로필 이미지
깜피
2016-06-13
142
글번호 99024
시스템
답변완료

문의드립니다

문의드립니다 데이터2와 데이터3의 당일최고값과 최저값을 구해야 하는데요 종가는 현재종가이고요 결과값을 보니 현재봉의 고가또는 저가 기준으로 만들어지고 있습니다 참조데이터는 따로 선언을 해야한다고 예스도움말 글을 읽고 해보려고해 안되고있습니다 아래식을 간단하게도 부탁드립니다 설명도 부탁드립니다 감사합니다 input : Period1(5); var1 = c; var2 = h; var3 = l; var4 = abs(DayHigh-DayLow); var20 = data3(DayHigh); var30 = data3(DayLow); var40 = data3(DayClose); var5 = data2(DayHigh); var6 = data2(DayLow); var7 = data2(DayClose); var8 =(var5-var6)*100; var9 = (var4/var8); var10 = abs(var40-var7)*100; var11 = (var9*var10); var12 = (var1+var11); plot1(var12);
프로필 이미지
파파리리
2016-06-13
141
글번호 99023
지표
답변완료

시스템식 문의 드립니다....

수고가 많으시죠....^^ 단기이평선(20일) 장기이평선(200), 볼린저밴드(40,2),RSI(9) 1 단기이평선20일이 장기이평선200일 정배열이고 볼린저밴드 하단보다 시가가 적은봉이 10봉 이내에 있고 RSI가 35 상승돌파에 매수 단기이평선 20일이 장기이평선 200일 데드크로스에 매수청산 2 단기이평선20일이 장기이평선 200일이 역배열이고 볼린저밴드 상단보다 시가가 큰 봉이 10봉 이내에 있고 RSI가 65 하락돌파에 매도 단기이평선 20일이 장기이평선 200일 골든크로스에 매도청산 이상입니다...수고하세요....
프로필 이미지
우섭
2016-06-13
162
글번호 99022
시스템
답변완료

수식 문의 드려요

당일 이 수식에서 최초 단 한번만 매수되고 청산 후에도 다시는 매수되지 않도록 하려면 어떤 수식이 추가되어야 하나요?^^ (=당일 매수횟수 최초 1회로 제한) if dayopen >= DayClose(1)*1.03 and dayopen < DayClose(1)*1.09 and Then buy("b",AtMarket);
프로필 이미지
프로투자자
2016-06-13
125
글번호 99021
시스템
답변완료

재문의드립니다^^

INPUT:P5(5),P13(13),P9(9),P26(26); VAR:A5(0),A13(0),A9(0),A26(0),AF1(0),AF2(0),A2S(0); var: mav(0),T1(0),T2(0); A5=(highest(high,P5)+lowest(low,P5))/2; A13=(highest(high,P13)+lowest(low,P13))/2; A9=(highest(high,P9)+lowest(low,P9))/2; A26=(highest(high,P26)+lowest(low,P26))/2; AF1=(highest(high,P5)+lowest(low,P5)+(highest(high,P13)+lowest(low,P13))/4); AF2=(highest(high,P9)+lowest(low,P9)+(highest(high,P26)+lowest(low,P26))/4); A2S=EMA(AF2,9); mav = ma(C,20); if L > A2S and L > mav Then T1 = 1; if H < A2S and H < mav Then T1 = -1; if T1 == 1 and T1[1] != 1 Then buy("b1"); if T1 == -1 and T1[1] != -1 Then sell("s1"); if L > AF1 and L > mav Then T2 = 1; if H < AF1 and H < mav Then T2 = -1; if T1 == 2 and T1[1] != 2 Then buy("b2"); if T1 == -2 and T1[1] != -2 Then sell("s2"); if crossup(AF1,A2S) Then buy("b3"); if CrossDown(AF1,A2S) Then sell("s3"); if MarketPosition == 1 and CrossDown(c,mav) Then exitlong("bx"); if MarketPosition == -1 and CrossUp(c,mav) Then ExitShort("sx"); if MarketPosition == 0 and IsExitName("bx",1) == true Then{ if crossup(C,H[BarsSinceExit(1)]) Then buy("bb"); } if MarketPosition == 0 and IsExitName("sx",1) == true Then{ if CrossDown(C,H[BarsSinceExit(1)]) Then sell("ss"); } Condition1 = AF1 > AF2 and AF2 > A2S; Condition2 = AF1 < AF2 and AF2 < A2S; if Condition1 == true and Condition1[1] == false Then buy("b5"); if Condition2 == true and Condition2[1] == false Then sell("s5"); #Plot1(AF1, "반일목"); #plot2(AF2, "일목"); #plot3(A2S, "SIG"); 위수식을 해본결과 너무많은신호가 발생하여 재문의드립니다^^.. 수식1 INPUT:P5(5),P13(13),P9(9),P26(26); VAR:A5(0),A13(0),A9(0),A26(0),AF1(0),AF2(0),A2S(0); A5=(highest(high,P5)+lowest(low,P5))/2; A13=(highest(high,P13)+lowest(low,P13))/2; A9=(highest(high,P9)+lowest(low,P9))/2; A26=(highest(high,P26)+lowest(low,P26))/2; AF1=(highest(high,P5)+lowest(low,P5)+(highest(high,P13)+lowest(low,P13))/4); AF2=(highest(high,P9)+lowest(low,P9)+(highest(high,P26)+lowest(low,P26))/4); A2S=EMA(AF2,9); Plot1(AF1, "반일목"); plot2(AF2, "일목"); plot3(A2S, "SIG"); 이부분에서 다른 시스템수식한번부탁드리겠습니다 1. 반일목선과 SIG 선이 크로스할경우 매수 매도신호 발생 반일목선이 SIG 선을 뚫고 상향하면 매수신호 발생 반일목선이 SIG 선을 뚫고 하향하면 매도신호 발생 2. 수식에 20일 이평선을 추가한다음 반일목선과 20일이평선을 이용하여 매수 매도신호 발생 반일목선이 20일이평선을 뚫고 상향하면 매수신호 발생 반일목선이 20일이평선을 뚫고 하향하면 매도신호 발생 3. 위 2번수식에서 외부변수로 이평선을 선택하게 부탁드리겠습니다~ 4. 일목선과 SIG 선을 이용하여 지표속성에-차트표시에 채우기를 이용하여 일목선< SIG 색깔 파랑 일목선> SIG 색깔 빨강 으로 한뒤 캔들봉이 일목선<SIG 선안을를 뚫고 내려가는 부분에서 매도신호발생 일목선<SIG 선안을 뚫고 다시 올라온 봉에 매수신호 발생 매수신호 발생후 매수신호 발생신호의 봉의 저점을 다시 뚫을경우 재 매도신호발생 매도신호 발생후 매도신호 발생신호의 봉의 고점을 다시 뚫을경우 매수신호발생 5. 일목선과 SIG 선을 이용하여 지표속성에-차트표시에 채우기를 이용하여 일목선< SIG 색깔 파랑 일목선> SIG 색깔 빨강 으로 한뒤 캔들봉이 일목선<SIG 선안을를 뚫고 내려가는 부분에서 매도신호발생 일목선<SIG 선안을 뚫고 다시 올라온 봉에 매수신호 발생 6. 아침9시에 2번 으로 해서 외부변수 가능하게한후 첫신호발생! 오후3시에 강제청산 신호 발생 7. 아침10시30분에 2번으로 해서 외부변수 가능하게한후 첫신호발생! 오후 1시에 강제청산 신호 발생 수식2 INPUT:P9(9),P26(26),P52(52); VAR:A9(0),A26(0),AF1(0),AF2(0); A9=(Highest(H,P9)+Lowest(L,P9))/2; A26=(Highest(H,P26)+Lowest(L,P26))/2; AF1=(A9+A26)/2; AF2=(Highest(H,P52)+Lowest(L,P52))/2; Plot1(AF1-AF2, "선행12 41.6%"); Plot2(A26-AF2[P26-1], "기준-선행2 43.7%"); Plot3(A9-AF2[P26-1], "전환-선행2 40.4%"); PlotBaseLine1(0, "ZERO"); 위 수식에서 재 수식 부탁드립니다 1. 위 수식에 20일이평선을 넣은후 전환-선행2 선이 20일이평선을 뚫고 올라가는 곳에 매수신호 전환-선행2 선이 20일이평선을 뚫고 내려가는 곳에 매도신호 2. 위 1번 에서 외부변수 가능하게 좀 부탁드립니다^^
프로필 이미지
곽민수
2016-06-13
164
글번호 99020
시스템
답변완료

부탁 드립니다.

48153번 추가 질문 부탁 드립니다.
프로필 이미지
yes
2016-06-13
131
글번호 99019
지표