커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다

가로선으로 50간격으로 수식좀 만들어주세요 간격은 조정 할 수 있게 만들어 주시면 고맙겠습나다
프로필 이미지
김원식
2019-03-24
372
글번호 127345
지표
답변완료

수식요청

* 많은 도움에 고맙습니다. * 골든 크로스 가격에 10틱을 더하고 빼는 식좀 부탁 드립니다. input : p(20); var: hhh(0); var1 = ma(c,5) ; var2 = ma(c,20); if crossup(var1,var2) then hhh ; ## 골든크로스 수식요청 var11 = hhh + PriceScale*10 ; var12 = hhh - PriceScale*10 ; plot1(var11); plot2(var12); * 골든크로스 가격에 10틱을 더하고 빼는선 좀 부탁드립니다.(수평선) *또한 이평선에 10틱을 더하고 빼는 선도 부탁 드립니다. 즉 5이평선과 함께 위로 10틱선 아래로 10틱선 좀 부탁 드립니다.(곡선) * 고맙습니다.
프로필 이미지
요타
2019-03-25
388
글번호 127344
시스템
답변완료

시스템문의

아래에 이어 다른 문의 드립니다. 감사합니다. 매수 : 일봉에서 10%이상 양봉으로 볼린저밴드 상단선돌파시 매수 이후 전봉(10%이상의 양봉)의 1/10 아래지점, 2/10 아래지점...........10/10 아래지점 각지점마다 1만원씩 매수 매도 : 총매수평균가격의 10%이상 상승시 종목의 매수량 전량 매도
프로필 이미지
하늘북
2019-03-24
365
글번호 127343
시스템
답변완료

문의드립니다.

항상감사합니다. 현물매매입니다. 매수1 : 일봉에서 10봉이내 종가가 볼린전밴드 하한선 아래 있고, 이후 음봉발생시 마다 최대 5회 매수(1회째 :1만원, 2회째 2만원........5회째 5만원) 매수2 : 일봉에서 10봉이내 종가가 볼린전밴드 하한선 아래 있고, 저가가 10이평선 아래 있으면 매수, 이후 10% 하락시 2차 매수(1차:1만원, 2차:1만원) 매도청산1 : 5회째 매수가격대비 5% 상승시 해당종목 매수량 전량 청산 매도청산2 : 총매수가격대비 5% 상승시 해당종목 매수량 전량 청산
프로필 이미지
하늘북
2019-03-24
374
글번호 127342
시스템
답변완료

지표값에 대한 궁금한점이 있습니다.

두가지 궁금증이 있습니다. upvol, Downvol의 차이를 구하여 upvol이 클때는 빨간색, downvol이 클때는 파란색을 사용하여 막대그래프로 사용중입니다. 그런데 이상한점이 있습니다. 아난티라는 종목의 3월 22일 일봉에서의 데이터를 보면, 11,521,692만큼 upvol이 큰것으로 나옵니다. 3분봉으로 같은 지표를 올려서 체크해보니, 동시호가에 12,741,339가 나옵니다. 저 데이터때문에 왜곡이 된거같습니다. 실제 호가창에서 동시호가 체결물량을 보니, 30만주가 조금넘는 물량이 다입니다. 시간외 거래량도 80만주정도가 다이고요. 사실 아난티만을 말씀드려서 그렇지, 이런종목이 간간히 나오고 있는거 같습니다. 1-3분봉상에서 음봉인데도, 전부다 upvol 로 잡히는 경우도 있는거 같고요. 이게 어떻게 된건지 궁금하고요. 두번째 궁금한것은, 종목코드 "001" 코스피 종합지수 차트에서, upvol, downvol 이 잡히는데, 저것은 종목도 아닌데 어떠한 기준으로 잡히는것인지 궁금합니다. 감사합니다.^^
프로필 이미지
운짱이
2019-03-24
437
글번호 127341
지표
답변완료

문의 드립니다

안녕하세요 항상 감사드립니다 스토캐스틱 매매로 접근하고있는데요 스토캐스틱 10 6 6 으로 설정하고 골든 크로스 데드크로스 매매할때 기준선 20 밑에서 골든 크로스가 날 경우에만 매도청산 매수 진행 기준선 80 위에서 데드 크로스가 날 경우에만 매수청산 매도 진행 을 하려 합니다 Input : Period(10), Period1(6), Period2(6); value1 = StochasticsK(Period,Period1); value2 = StochasticsD(Period,Period1,Period2); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { sell(); } 어떻해 바꿔야 할까요 도와주세요
프로필 이미지
부는바람
2019-03-24
364
글번호 127340
시스템
답변완료

변동폭을 시간주기로

안녕하세요 관리자님!! 오늘 많이 문의드리네요 죄송합니다.. 아래지표는 변동폭을 표시하는 보내주신 수식입니다. 이 변동폭에 시간을 첨가하고 싶습니다. 4시간마다 바뀌는 변동폭을 구하고 싶습니다. 번거롭더라도 수정부탁드립니다. 감사합니다. -아 래- input : P(520);#10년 520주 var : cnt(0); Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0); Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0); var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0); var : sum2(0),Sqrt2(0),ma2(0),stdv2(0); var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0); var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0); var : sum5(0),Sqrt5(0),ma5(0),Stdv5(0); if bdate != bdate[1] then { if DayOfWeek(bdate) == 1 Then { for cnt = 1 to 599 { WH1[cnt] = WH1[cnt-1][1]; WL1[cnt] = WL1[cnt-1][1]; } } if DayOfWeek(bdate) == 2 Then { for cnt = 1 to 599 { WH2[cnt] = WH2[cnt-1][1]; WL2[cnt] = WL2[cnt-1][1]; } } if DayOfWeek(bdate) == 3 Then { for cnt = 1 to 599 { WH3[cnt] = WH3[cnt-1][1]; WL3[cnt] = WL3[cnt-1][1]; } } if DayOfWeek(bdate) == 4 Then { for cnt = 1 to 599 { WH4[cnt] = WH4[cnt-1][1]; WL4[cnt] = WL4[cnt-1][1]; } } if DayOfWeek(bdate) == 5 Then { for cnt = 1 to 599 { WH5[cnt] = WH5[cnt-1][1]; WL5[cnt] = WL5[cnt-1][1]; } } } if DayOfWeek(bdate) == 1 Then { WH1[0] = DayHigh; WL1[0] = DayLow; } if DayOfWeek(bdate) == 2 Then { WH2[0] = DayHigh; WL2[0] = DayLow; } if DayOfWeek(bdate) == 3 Then { WH3[0] = DayHigh; WL3[0] = DayLow; } if DayOfWeek(bdate) == 4 Then { WH4[0] = DayHigh; WL4[0] = DayLow; } if DayOfWeek(bdate) == 5 Then { WH5[0] = DayHigh; WL5[0] = DayLow; } if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1 + (WH1[cnt]-WL1[cnt]); } ma1 = sum1/P; Sqrt1 = 0; For cnt = 0 To P - 1 { Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2; } Stdv1 = SquareRoot(Sqrt1/ P); plot1(ma1); plot2(ma1+Stdv1*2); plot3(ma1*0.7); plot4((ma1+Stdv1*2)*0.7); } if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then { sum2 = 0; for cnt = 0 to P-1 { sum2 = sum2 + (WH2[cnt]-WL2[cnt]); } ma2= sum2/P; Sqrt2= 0; For cnt = 0 To P - 1 { Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2; } Stdv2 = SquareRoot(Sqrt2/ P); plot1(ma2); plot2(ma2+Stdv2*2); plot3(ma2*0.7); plot4((ma2+Stdv2*2)*0.7); } if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then { sum3 = 0; for cnt = 0 to P-1 { sum3 = sum3 + (WH3[cnt]-WL3[cnt]); } ma3= sum3/P; Sqrt3 = 0; For cnt = 0 To P - 1 { Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2; } Stdv3 = SquareRoot(Sqrt3/ P); plot1(ma3); plot2(ma3+Stdv3*2); plot3(ma3*0.7); plot4((ma3+Stdv3*2)*0.7); } if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then { sum4 = 0; for cnt = 0 to P-1 { sum4 = sum4 + (WH4[cnt]-WL4[cnt]); } ma4= sum4/P; Sqrt4 = 0; For cnt = 0 To P - 1 { Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2; } Stdv4 = SquareRoot(Sqrt4/ P); plot1(ma4); plot2(ma4+Stdv4*2); plot3(ma4*0.7); plot4((ma4+Stdv4*2)*0.7); } if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then { sum5 = 0; for cnt = 0 to P-1 { sum5 = sum5 + (WH5[cnt]-WL5[cnt]); } ma5= sum5/P; Sqrt5 = 0; For cnt = 0 To P - 1 { Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2; } Stdv5 = SquareRoot(Sqrt5/ P); plot1(ma5); plot2(ma5+Stdv5*2); plot3(ma5*0.7); plot4((ma5+Stdv5*2)*0.7); } plot5(DayHigh-daylow,"당일변동폭");
프로필 이미지
카카
2019-03-23
411
글번호 127339
지표
답변완료

이것도 수정부탁드립니다

정말 감사합니다 한가지만 더 추가부탁드릴께요 시간을 설정이 안되어있는데 아침 9시부터 새벽 2시까지 설정 추가 부탁드릴께요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 시스템문의합니다 > 안녕하세요 예스스탁입니다. if MarketPosition >= 0 and H < dayopen+PriceScale*20 Then sell("s",AtLimit,dayopen+PriceScale*20,2); if MarketPosition == -1 Then { if CurrentContracts > CurrentContracts[1] Then { Condition1 = false; Condition2 = false; } if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "sx1" Then Condition1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "sx2" Then Condition2 = true; if Condition1 == false Then ExitShort("sx1",atlimit,AvgEntryPrice-PriceScale*10,"",Floor(CurrentContracts*0.5),1); if Condition2 == false Then ExitShort("sx2",atlimit,AvgEntryPrice-PriceScale*20); sell("ss",AtLimit,LatestEntryPrice(0)+PriceScale*30,CurrentContracts*2); } if MarketPosition <= 0 and L > dayopen-PriceScale*20 Then Buy("b",AtLimit,dayopen-PriceScale*20,2); if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { Condition1 = false; Condition2 = false; } if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bx1" Then Condition1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bx2" Then Condition2 = true; if Condition1 == false Then ExitLong("bx1",atlimit,AvgEntryPrice-PriceScale*10,"",Floor(CurrentContracts*0.5),1); if Condition2 == false Then ExitLong("bx2",atlimit,AvgEntryPrice-PriceScale*20); Buy("bb",AtLimit,LatestEntryPrice(0)-PriceScale*30,CurrentContracts*2); } 즐거운 하루되세요 > 초보트레이더11 님이 쓴 글입니다. > 제목 : 시스템문의합니다 > 당일 시가대비 20틱위에서 매도2계약들어가서 진입가 대비 10틱 20틱에서 1계약씩청산하고 청산이 안됐을시 50틱에서 추가로 가지고 있는 수량대비 2배로 추가매도하고 평단가 대비 10틱 20틱에서 반 반 청산하고 또 청산이 안됐을 경우 80틱에서 추가로 가지고있는 수량대비 2배로 추가매도해서 평단가 대비 10틱 20틱에서 반 반씩청산 하는시스템식을 만들고 싶습니다 그렇게 각 30틱마다 진입이 되겠끔해서 500틱까지 반복이 되겠끔 하고 싶습니다 매수도 마찬가지로요 만약 20틱에서 진입해서 다 청산이 되면 다시 20틱에 오면 매도가 되겠끔 50틱에서 추가로 들어가서 청산이 되면 다시 50틱에서도 진입이 &#46124;으면 좋겠습니다 단 진입이 되어있으면 추가 진입은 금지이고 각 진입이된 다음 30틱에서 진입이 되겠끔 부탁드립니다 만약 1계약이 청산된 상태라면 1계약은 추가로 진입가능하고요
프로필 이미지
초보트레이더11
2019-03-23
388
글번호 127338
시스템
답변완료

지표수정부탁드려요

라인에 지표이름넣으려면 어떻게 해야되죠? 0.618 라인에 0.618이라고 이름을 넣고 싶은데요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 피보나치값지표표현부탁합니다 > 안녕하세요 예스스탁입니다. 1 var1 = DayHigh(1)-DayLow(1); plot1(DayLow(1)+var1*0.000); plot2(DayLow(1)+var1*0.118); plot3(DayLow(1)+var1*0.236); plot4(DayLow(1)+var1*0.382); plot5(DayLow(1)+var1*0.500); plot6(DayLow(1)+var1*0.618); plot7(DayLow(1)+var1*0.764); plot8(DayLow(1)+var1*0.882); plot9(DayLow(1)+var1*1.000); plot10(DayLow(1)+var1*1.236); plot11(DayLow(1)+var1*1.382); plot12(DayLow(1)+var1*1.500); plot13(DayLow(1)+var1*1.618); plot14(DayLow(1)+var1*1.764); plot15(DayLow(1)+var1*2.000); plot16(DayLow(1)-var1*0.236); plot17(DayLow(1)-var1*0.382); plot18(DayLow(1)-var1*0.500); plot19(DayLow(1)-var1*0.618); plot20(DayLow(1)-var1*1.000); 2 var1 = DayHigh(0)-DayLow(0); plot1(DayLow(0)+var1*0.000); plot2(DayLow(0)+var1*0.118); plot3(DayLow(0)+var1*0.236); plot4(DayLow(0)+var1*0.382); plot5(DayLow(0)+var1*0.500); plot6(DayLow(0)+var1*0.618); plot7(DayLow(0)+var1*0.764); plot8(DayLow(0)+var1*0.882); plot9(DayLow(0)+var1*1.000); 즐거운 하루되세요 > 초보트레이더11 님이 쓴 글입니다. > 제목 : 피보나치값지표표현부탁합니다 > 1)전일기준피보나치값 0 0.118 0.236 0.382 0.5 0.618 0.764 0.882 1.0 1.236 1.382. 1.5 1.618. 1.764. 2.0 -0.236 -0.382 -0.5 -0.618 -1.0 이렇게 나오게 지표부탁합니다 2)당일피보나치값 0 0.118 0.236 0.382 0.5 0.618 0.764 0.882 1 이렇게 나오게 표현부탁드려요
프로필 이미지
초보트레이더11
2019-03-23
420
글번호 127337
지표