커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식요청

* 많은 도움에 고맙습니다. * 골든 크로스 가격에 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
402
글번호 127344
시스템
답변완료

시스템문의

아래에 이어 다른 문의 드립니다. 감사합니다. 매수 : 일봉에서 10%이상 양봉으로 볼린저밴드 상단선돌파시 매수 이후 전봉(10%이상의 양봉)의 1/10 아래지점, 2/10 아래지점...........10/10 아래지점 각지점마다 1만원씩 매수 매도 : 총매수평균가격의 10%이상 상승시 종목의 매수량 전량 매도
프로필 이미지
하늘북
2019-03-24
374
글번호 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
391
글번호 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
462
글번호 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
378
글번호 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
431
글번호 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
401
글번호 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
436
글번호 127337
지표
답변완료

시스템식 수정부탁드려요

작동을 해보니 한번밖에 매매가 안되어서요 반복적으로 라인 값에 닿으면 매수매도가 계속 될수는 없는건가요? 1)예를 들어 시가가 피봇 기준선보다 위에 있으면 피봇기준선에 닿을때마다 매수하고(1계약이 들어가 있으면 추가진입이 안되고) 1차지지값에서 추가 매수(추가진입이 된뒤에는 다시 진입이 안되고) 2지지값에서 추가매수가 되었으면 합니다 시가가 피봇기준선보다 보다 아래에 있으면 피봇기준선에 닿을때마다 매도가 계속 되고(1계약이 들어가 있으면 추가진입이 안되고) 하는식으로... 시가가 위에 있던 아래에 있던 1저항 2저항 1지지 2지지에 오면 매수매도가 자동적으로 되게는 안되는건가요? 2)그리고 피봇저항지지값을 3차저항 3차지지값까지 넣고 싶습니다 3)피봇기준선에서나 1차저항지지 2차저항지지 값에서 매수나 매도포지션이 청산이 안됐을 경우 각 저항마다 보유하고 있는 수량의 배수보다 1계약이 더 많게 진입하고 싶습니다 3차저항 지지값까지 예를 들어 피봇기준선에서 1계약이 들어가서 청산이 안되면 1차 저항에서 3계약 1차저항에서 청산이 안되면 2차에서 9계약 3차에서 23계약 이렇게 진입이 됐으면 합니다 처음 피봇기준선에서 매수나 매도를 진입할시 2계약으로 하고 청산은 0.236(매수1계약청산)이나 0.764(매도1계약청산)에서 1계약 0.382(매수나머지청산)나 0.618(매도나머지청산)에서 나머지 청산하고싶습니다 또 청산은 각 추가로 매수매도진입된 가격에서 0.236(매수청산)이나 0.764(매도청산)에 도달 했을&#46468; 수익이면 가지고있는 물량에 반을 청산하고 0.382(매수청산)이나 0.618(매도청산)에서 나머지반 0.5(매수매도청산)에서 전부청산했으면 합니다 만약 0.236이나 0.764가 수익이 아닐시 그 위에 0.382(매수청산)나 0.618(매도청산)에서 반청산하고 그위에서 0.5(매수매도청산)나머지 반 청산 0.382(매도청산)나 0.618(매수청산)에서 전부청산했으면합니다 또 0.236이나 0.764에서반을 청산한 뒤에 더이상 올라가거나 내려가지 않을때에는 청산한 가격보다 10틱이 밀리면 전부 청산이 되겠끔 부탁드립니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 시스템식 부탁드립니다 > 안녕하세요 예스스탁입니다. Var : Pivot(0),R1(0),R2(0),S1(0),S2(0); if sdate != sdate[1] Then SetStopEndofday(050000); if bdate != bdate[1] Then SetStopEndofday(0); Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3; R1 = 2*Pivot-DayLow(1); R2 = Pivot+DayHigh(1)-DayLow(1); S1 = 2*Pivot-DayHigh(1); S2 = Pivot-DayHigh(1)+DayLow(1); var1 = DayHigh-daylow; if MarketPosition <= 0 and dayopen > pivot and DayLow > Pivot Then buy("b1",atlimit,pivot,1); if MarketPosition == 1 Then { if MaxEntries == 1 Then { if DayLow > S1 Then { buy("b2",atlimit,S1,1); } } if MaxEntries == 2 Then { if DayLow > S2 Then buy("b3",atlimit,S2,1); } ExitLong("bx1",AtLimit,daylow+var1*0.236,"b1"); ExitLong("bx2",AtLimit,daylow+var1*0.382,"b2"); ExitLong("bx3",AtLimit,daylow+var1*0.500,"b3"); } if MarketPosition >= 0 and dayopen < pivot and DayHigh < Pivot Then Sell("s1",atlimit,pivot,1); if MarketPosition == -1 Then { if MaxEntries == 1 Then { if DayHigh < R1 Then { sell("s2",atlimit,R1,1); } } if MaxEntries == 2 Then { if DayHigh < R2 Then sell("s3",atlimit,R2,1); } ExitShort("sx1",AtLimit,DayHigh-var1*0.236,"s1"); ExitShort("sx2",AtLimit,DayHigh-var1*0.382,"s2"); ExitShort("sx3",AtLimit,DayHigh-var1*0.500,"s3"); } 즐거운 하루되세요 > 초보트레이더11 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다 > 항상 감사합니다 아래의 사항을 시스템식으로 표현이 가능한지요 피봇값 기준으로 매수매도하는식입니다 1)시가가 피봇기준선보다 위에서 시작하면 피봇기준선값에 오면 매수1계약하고 청산은 당일피보나치값 0.236에서 청산 만약 0.236에 오지않아서 청산이 안됐을시 다음 피봇1차 지지값에서 추가로 매수1계약을 하고 당일 피보나치값 0.236에서 1계약 청산 0.382에서 나머지 한계약청산 위 사항에서도 청산이 안됐을시 다음 피봇2차지지값에서 추가로 매수 1계약 더하고 당일 피보나치 0.236에서 1계약청산 0.382에서1계약청산 0.5에서 나머지 청산 매도는 위에 사항 반대로 시가가 피봇 기준선 밑에서 시작했을때 피봇기준선값에 오면 매도1계약이 들어가서 위 사항과 똑같이 될수있으면 합니다 시간은 아침 09시부터 다음날 새벽05시까지 설정하고 5시가 오면 강제청산 2)시가가 피봇기준선과 피봇1차저항이나 피봇1차지지사이에서 시작할때도 마찬가지로 피봇기준선에 오면 매수나 매도 피복1차저항이나 피봇1차지지에 오면 매수나 매도가 되겠끔 시스템식이 가능한지요
프로필 이미지
초보트레이더11
2019-03-23
433
글번호 127336
시스템