커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

박스 저장

input : Period(120); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),tl9(0), date21(0),date22(0),time21(0),time22(0),txx(0), vTL(0), vTL9(0),txxx(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),tx4(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var :box1(0),box2(0); Plot1(value12); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { Box_Delete(box2); For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; Condition88 = False; if Condition88 ==False Then { if value12 <= value11-0.85 Then { Condition88 = true; box1 = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L); Box_SetColor(box1,Lime); Box_SetFill(box1,true,30); Box_SetExtFill(box1,true); } } } Else { If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date22 = date[0]; time22 = stime[0]; if Condition88 ==False Then { if value12 <= value11-0.85 Then { Condition88 = true; box1 = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L); Box_SetColor(box1,Lime); Box_SetFill(box1,true,30); Box_SetExtFill(box1,true); } } } if Condition88 == true Then Box_SetEnd(box1,date12,time12,L); } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; Condition99 = False; if Condition99 ==False Then { if value12 >= value11+0.85 Then { Condition99 = true; box2 = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L); Box_SetColor(box2,Magenta); Box_SetFill(box2,true,30); Box_SetExtFill(box2,true); } } } Else { If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date32 = date[0]; time32 = stime[0]; if Condition99 == False Then { if value12 >= value11+0.85 Then { Condition99 = true; box2 = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L); Box_SetColor(box2,Magenta); Box_SetFill(box2,true,30); Box_SetExtFill(box2,true); } } } if Condition99 == true Then Box_SetEnd(box2,date12,time12,Value12); } } 추세선의 크기가 0.85p에 도달할 때부터 그 추세선이 끝나는 지점까지 박스를 표시했다가, 상승추세선에서 생성된 박스는 음전환시 모두 삭제하고, 하락추세선에서 생성된 박스는 양전환시 모두 저장하는 수식입니다. 박스 표시 크기 양호하고, 상승추세선 박스 음전환시 삭제도 양호합니다. 24줄에 있는 Box_Delete(box2); 를 삭제하고 보면 박스 생성은 완벽합니다.(파일참조) 다만, 하락추세선에서 생성된 박스의 양전환시 저장이 일부만 되고 대부분 안됩니다. 수정 부탁드립니다.
프로필 이미지
고성
2023-02-21
1860
글번호 166526
지표
답변완료

수식 문의드립니다

안녕하세요 이평션별로 기울기 값을 변수로 입력하고자 합니다 변수 작성방법을 알려주세요 간격은 포인트로 표기하고자 합니다 모든 작은이평선과 큰이평선의 간격이 0.5포인트 때 매도 진입하고자 합니다 이 때 변수값 표기방법 구하기입니다 input : Period1(100),Period2(200),Period3(300),Period4(400),Period5(500),Period6(600),??????????,익절틱수s1(63),손절틱수1s1(91); var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0); mav1 = ma(c, Period1); mav2 = ma(c, Period2); mav3 = ma(c, Period3); mav4 = ma(c, Period4); mav5 = ma(c, Period5); mav6 = ma(c, Period6); var1 = abs(mav100-mav200); var2 = abs(mav200-mav300); var3 = abs(mav300-mav400); var4 = abs(mav400-mav500); var5 = abs(mav500-mav600); if Tcond == true then { if MarketPosition >= 0 Then if var1 > ?? and var2 > ?? and var3 > ?? and var4 > ?? and var5 > ?? and mav1[1] > mav1 Then { if CurrentContracts < 1 Then sell("s1",OnClose,def,1); } if MarketPosition == -1 then { if mav1 < mav1 Then { ExitShort("s1-1",OnClose,def,"s1"); } ExitShort("sp1",atlimit,AvgEntryPrice-PriceScale*익절틱수s1,"s1"); ExitShort("sl1",AtStop,AvgEntryPrice+PriceScale*손절틱수s1,"s1"); } }
프로필 이미지
남산
2023-02-22
1126
글번호 166525
시스템
답변완료

문의 드립니다

수고하십니다. 30분봉의 아래 지표값을 5분봉에 적용할 수 있게 변환 부탁드립니다. 수고하세요.. ############### Input:분석기간1(10),예측구간1(5); Array:예측1[11](0); var : PRS차수13(0),PRS차수13예측1(0); var : T1(0); PRS차수13 = YHS_PolynomialRegression(2,분석기간1,예측1); If PRS차수13 == 1 Then { PRS차수13예측1 = 예측1[0]; if PRS차수13예측1 > PRS차수13예측1[1] then T1 = 1; if PRS차수13예측1 < PRS차수13예측1[1] then T1 = -1; input : PRS1상승색(Red), PRS1하락색(Blue); Plot24(PRS차수13예측1,"식1-4차",IFf(T1==1,PRS1상승색,PRS1하락색)); }
프로필 이미지
오이도인
2023-02-22
1264
글번호 166524
지표
답변완료

문의 드립니다

주가가 종가기준으로 일목균형표 기준선을 돌파하여 5%이상에서 3일이상일때 유지할때 4일째되는날 시가에 매수신호발생 그 반대의 경우에 매도 신호 발생하는 시스템식 요청드립니다 수고하세요
프로필 이미지
단정웅
2023-02-21
1684
글번호 166523
시스템
답변완료

시스템신호수식문의

1. 20선과 60선이 골든크로스 조건만족후에 주가와 20선이 데드크로스발생하면 매도신호발생 2. 20선과 60선이 데드크로스 조건만족후에 주가와 20선이 골든크로스발생하면 매수신호발생 시스템트레이닝 신호수식 부탁드립니다.
프로필 이미지
한림
2023-02-21
1452
글번호 166520
시스템
답변완료

문의 드립니다.

아래 식에서 매수 수량을 추가 조절 할 수 있도록 부탁드립니다. Var : P1(20), P2(120); Var : Mav1(0), Mav2(0); Mav1 = Ma(C, P1); Mav2 = Ma(C, P2); if Mav1 > Mav2 and Mav2 > Mav2[1] and CrossUp(C, Mav1) Then { Buy(); } if MarketPosition == 1 and CrossDown(C, Mav1) Then { ExitLong(); }
프로필 이미지
선물대장
2023-02-21
1376
글번호 166507
시스템
답변완료

문의드립니다

안녕하세요 전봉의 몸통에서 윗부분보다 종가가 클때 매수 (꼬리부분제외) 수식부탁드립니다
프로필 이미지
돌아온스머프
2023-02-21
1716
글번호 166506
시스템
답변완료

수식 부탁드립니다

수고하십니다 해외선물 30분봉 전일종가대비 (2종목) 상승율 비교 매매 입니다 Data1 A종목 30분봉 Data3 A종목 일봉(종가) Data2 B종목 30분봉 Data4 B종목 일봉(종가) 매매신호가 안나와서 수식 수정 부탁드립니다 input : 익절(0),손절(0),k(0.2),k1(0.2); var : R1(0,Data1),R2(0,Data2),S1(0,Data3),S2(0,Data4); R1 = Data1((C-S1)/S1*100); R2 = Data2((C-S2)/S2*100); if R1>0 and R1-R2 >= k Then Buy("b"); if R1-R2 <= -0.1 Then ExitLong(); if R2 < 0 and R1 <= R2-k1 Then Sell("s"); if R1-R2 >= 0.1 Then ExitShort(); SetStopProfittarget(익절,PointStop); SetStopLoss(손절,PointStop);
프로필 이미지
네온0609
2023-02-21
1097
글번호 166500
시스템
답변완료

문의드립니다

안녕하세요 감사드립니다 답변주신 식에서 청산후 다음 진입시 손실 폭이 -50이하 발생시 손실폭이 0이 될때까지 1계약에서 2계약으로 진입하는 식을 추가하고 싶습니다 1> 손실폭이 -50 이 되기 전 :1계약 2> 손실폭이 -50 이하가 되면 : 2계약 시작 3> 손실폭이 0이상이 되면 : 2계약 종료 1계약 시작 국선 기본적인 매매식을 바탕으로 부탁드립니다 감사합니다 안녕하세요 예스스탁입니다. 시스템식 하단에 아래 내용 추가하시면 됩니다. var : count(0),HPL(0),maxdd(0),tx(0); if TotalTrades > TotalTrades[1] Then { count = count+1; if count == 1 Then HPL = NetProfit; Else { if NetProfit > HPL Then HPL = NetProfit; } if NetProfit-HPL < maxdd Then { maxdd = NetProfit-HPL; } tx = Text_New(sDate[BarsSinceExit(1)],sTime[BarsSinceExit(1)],H[BarsSinceExit(1)]+PriceScale*3,NumToStr(maxdd,2)); Text_SetStyle(tx,2,1); } 즐거운 하루되세요 > 바바큰 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요 문의드립니다. 익절, 손절, 시간청산시 청산 신호(봉)에 최고누적손익 대비 손실폭을 표시하고 싶습니다. 누적손익 100 200 150 120 손실폭 0 0 -50 -80 <--표시 (pt) | | (전략차트 기간 내 표시된 봉 기준입니다.)
프로필 이미지
바바큰
2023-02-21
1071
글번호 166498
시스템