커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식좀 요청 드립니다.

* 안녕하세요^^ * 아래 수식 추가좀 요청 드립니다. ㅇ 요청사항 1. 중심선이 2개 나오는데 마지막 중심선은 수평으로 현재봉 가지 나오게 (우축 연장요청 c[1]봉 ) 부탁 드립니다. (사진) →첫째 중신선은 대각선인데 수평선으로 c[1]봉 까지 수정 좀 부탁 드립니다. 2 지그재그선 완성후 상호간 연결선 좀 부탁 드립니다. . 저점 하단선은 하단선끼리 계속 연결 . 고점 상단선은 다음 하단선과 연결 (사진 파란선 참고) 3. 마지막 지그재그선 완성후 마지막 고저점 에서 연결선(c[1]) 좀 부탁 드립니다. (사진2) ## 아해 수식 Input:barCnt(5); Var:j(0),turnPntBit(""),TL1(0),TL33(0),TL44(0),HD(0),HT(0),LD(0),LT(0),HH(0),LL(0); var : TL121(0),TL122(0),tx121(0),tx122(0),tl2(0),TL3(0),TL4(0),TL5(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt); Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt); turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or (turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then { valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]); barArr[1] = barCnt; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2], sDate[barArr[1]],sTime[barArr[1]],valArr[1]); tL2 = TL_New(sDate[barArr[2]],sTime[barArr[2]],(valArr[2]+valArr[1])/2, sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); tL3 =tl2[1]; tL4 =tl3[1]; tL5 =tl4[1]; TL_Delete(TL5); } Else { TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); TL_SetEnd(TL2,sDate[barArr[1]],sTime[barArr[1]],(valArr[2]+valArr[1])/2); } } } TL_SetSize(TL1,2); TL_SetColor(TL1,RED); TL_SetSize(TL2,2); TL_SetColor(TL2,RED); * 매번 고맙습니다. * 수고하십시요.
프로필 이미지
요타
2025-02-13
656
글번호 188106
지표
답변완료

문의 드립니다

1. Inputs: VtyPercent(0.10),ATRperiod(10); input : StartTime(210000),EndTime(60000); 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); } } If MarketPosition() <> 1 Then Buy ("LE1", AtStop, Close + (VtyPercent * ATR(ATRperiod))); If MarketPosition() <> 1 Then ExitLong ("SE1", AtStop, Close - (VtyPercent * ATR(ATRperiod))); If MarketPosition() <> 1 Then ExitShort ("LE2", AtStop, Close + (VtyPercent * ATR(ATRperiod))); If MarketPosition() <> 1 Then sell ("SE2", AtStop, Close - (VtyPercent * ATR(ATRperiod))); --------------------------------------------------- 2. Inputs: VtyPercent(0.10),ATRperiod(10); input : StartTime(210000),EndTime(60000); 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); } } If MarketPosition() <> -1 Then Buy ("LE1", AtStop, Close + (VtyPercent * ATR(ATRperiod))); If MarketPosition() <> -1 Then ExitLong ("SE1", AtStop, Close - (VtyPercent * ATR(ATRperiod))); If MarketPosition() <> -1 Then ExitShort ("LE2", AtStop, Close + (VtyPercent * ATR(ATRperiod))); If MarketPosition() <> -1 Then sell ("SE2", AtStop, Close - (VtyPercent * ATR(ATRperiod))); 시장가로 주문 설정을 하였는데 시세급변으로 주문거부가 나서 체결이 안될 경우 설정창에서 자동정정주문을 설정하면 기존 주문은 취소가 되고 해당되는 초 후에 당시의 상대호가 설정한 호가에 주문이 다시 나가는 지 궁금합니다. 그리고 위 수식어 2개의 수정을 바랍니다. 손절 -100틱 추가 및 손절 체결전 호가주문창에 보이도록 할수있는지 문의 드립니다.
프로필 이미지
푸른
2025-02-13
591
글번호 188102
시스템
답변완료

박스 수식 부탁드립니다

아래 추세선 수식의 변곡점을 박스 수식으로 부탁드립니다 ================================================================================ input : Period(35),선두께(2); Var:상승색(Turquoise), 하락색(Turquoise); 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), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); Plot1(0); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if weekhigh(0)[1] < weekhigh(0) Then T = 1; if weekLow(0)[1] > weekLow(0) Then T = -1; If T == -1 Then { If T[1] != -1 Then { 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]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); } } 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]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); } } TL_SetSize(TL1,선두께); TL_SetDrawMode(TL1,0);
프로필 이미지
팔보채
2025-02-13
582
글번호 188101
지표
답변완료

수식 문의드립니다

보유중인 주식들을, 30분봉 차트에서 매일 매일 장 시작할때마다 '전일 종가'로 50만원씩 매도 주문 내는 식을 만들고자 합니다(매일 반복) 이것저것 해봐도 잘 안되서 ㅠㅠ 도움 부탁 드리겠습니다~ㅠ
프로필 이미지
루라라라
2025-02-13
470
글번호 188100
시스템
답변완료

KOSPI200 옵션 특정 현재가 조건의 행사가 추출

Kospi200 옵션 시세에서, 콜옵션/풋옵션 특정 현재가(프리미엄) 이상의 첫번째 행사가를 추출하여, 실시간 차트로 표현할 수 있는 수식 문의드립니다. 첨부 파일에 좀 더 자세한 내용 작성하였으니 참조 부탁드립니다. 감사합니다.
프로필 이미지
느린거북
2025-02-12
504
글번호 188099
사용자 함수
답변완료

수식 문의드립니다.

주가이평돌파[주봉]1봉전 (종가 5)이평 (종가 60)이평 골드크로스 52주 최고가대비 -80% 이하 수식으로 알려주세요~
프로필 이미지
꿀떡
2025-02-12
523
글번호 188098
종목검색
답변완료

수식 부탁합니다.

마이크로 나스닥 종목 한정으로 진입 제한 수식을 알고 싶습니다. 부탁합니다.
프로필 이미지
하늘만큼11
2025-02-12
492
글번호 188097
시스템
답변완료

수식 부탁합니다.

진입수량을 4개이하로 제한하는 수식 부탁합니다. 예를들어서 1개, 2개, 3개, 4개까지는 가능하고 5개부터는 진입불가한 수식을 부탁합니다.
프로필 이미지
하늘만큼11
2025-02-12
482
글번호 188096
시스템
답변완료

시스템 오류

당일청산으로는 신호가 안나옵니다. input : P(9); var : RSIV(0),T(0),TL1(0),TL2(0); var : HIV(0),HIV1(0),HPV(0),HPV1(0); var : LIV(0),LIV1(0),LPV(0),LPV1(0); RSIv = RSI(P); if RSIV > RSIV[1] Then T = 1; if rSIV < RSIV[1] Then T = -1; if T == 1 and T != T[1] Then { HIV = RSIv; HIV1 = HIV[1]; HPV = H; HPV1 = HPV[1]; if LIV > LIV1 and LPV < LPV1 and LPV1 > 0 Then { TL1 = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL2 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL1,RED); TL_SetColor(TL2,RED); TL_SetDrawMode(TL1,0); TL_SetDrawMode(TL2,0); } } if T == -1 and T != T[1] Then { LIV = RSIv; LIV1 = LIV[1]; LPV = L; LPV1 = LPV[1]; if HIV < HIV1 and HPV > HPV1 and HPV1 > 0 Then { TL1 = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL2 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL1,BLUE); TL_SetColor(TL2,BLUE); TL_SetDrawMode(TL1,0); TL_SetDrawMode(TL2,0); } } #RSI 상승구간 RSI최고와 가격최고 계산 if T == 1 Then { if RSIv > HIV Then { HIV = RSIv; } if H > HPV Then { RSIv = H; } } #RSI 하락구간 RSI최저와 가격최저 계산 if T == -1 Then { if RSIv < LIV Then { LIV = RSIv; } if L < LPV Then { LPV = L; } } if CrossDown(RSIV,70) Then Sell(); if Crossup(RSIV,30) Then Buy();
프로필 이미지
노블레스
2025-02-13
542
글번호 188095
시스템