커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

평단가 구하기

value3 = value1+(value1-value2)/2; value4 = value1; } var9 = Lowest(l,1); var10=(var3-abs(value3-value4)*2); if CrossDown(var9,var10) Then Buy ("용크로스"); 이런 식으로 프로그램 할경우 모든 신호 허용 하면 신호가 마마구 마구 나오는대 마구 마구 매수가 나오면 총 평단가를 구한 다음 10%에서 자동 청산 하고 싶은대 될까요 ?
프로필 이미지
용두목
2021-01-19
957
글번호 145608
시스템

숭테크 님에 의해서 삭제되었습니다.

프로필 이미지
숭테크
2021-01-19
0
글번호 145607
종목검색
답변완료

문의드립니다

다음의 기준선을 돌파하거나 이탈하는 종목에 대한 검색식을 부탁드립니다. 1. 매수가능종목 가. 5%이상의 양봉이고 20이평은 우상향이면서 기준선상향돌파(시가<=표시가격<=종가) 나. ((표시가격-시가) * 배수(1.5)) <= (종가-표시가격) 만족 다. 위꼬리와 아래꼬리는 몸통보다 작아야 한다 라. 시가총액이 1조이상이어야 한다(가능하면 넣어주세요) 마. 기준선과 가격 (1) DEMA선:가격(O), 기간(9) (2) RSI(기간10)가 기준선(과매도값:25)을 상향돌파할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 더한 가격을 표시가격으로 설정 (3) CCI(기간20)가 기준선(과매도값: -150)을 상향돌파할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 더한 가격을 표시가격으로 설정 (4) 일정기간(120일)내에 최고거래량이 발생한 봉의 표시가격은 중심가격임 (5) 볼밴상한선(120일/2) 가격 (6) 5/10/20 이평을 동시돌파하는 경우에는 표시가격은 5이평가격임 <마>의 기준표시가격을 1개이상 돌파하면서 가.나.다.라.조건을 동시만족하는 매수검색식을 만들어 주세요. 2. 매도가능종목 가. 5%이상의 음봉이고 20이평은 우하향이면서 기준선하향돌파(시가>표시가격>종가) 나. (((시가-표시가격) * 배수(1.5)) <= (표시가격-종가) 만족 다. 위꼬리와 아래꼬리는 몸통보다 작아야 한다 라. 시가총액이 1조이상이어야 한다(가능하면 넣어주세요) 마. 기준선과 가격 (1) DEMA선:가격(O), 기간(9) (2) RSI(기간10)가 기준선(과매수값:75)을 하향이탈할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 뺀 가격을 표시가격으로 설정 (3) CCI(기간20)가 기준선(과매수값; -150)을 하향이탈할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 뺀 가격을표시가격으로 설정 (4) 일정기간(120일)내에 최고거래량이 발생한 봉의 표시가격은 중심가격임 (5) 볼밴상한선(120일/2) 가격 (6) 5/10/20 이평을 동시하향이탈하는 경우에는 표시가격은 5이평가격임 <마>의 기준표시가격을 1개이상 하향이탈하면서 가.나.다.라.조건을 동시만족하는 매도검색식을 만들어 주세요. 항상 감사합니다.
프로필 이미지
해피오
2021-01-19
1308
글번호 145604
종목검색
답변완료

문의 드립니다.

최근 발생한 상한가를 돌파하면 매수, 매도하는 시스템식인데요, 최근 상한가 이전의 봉을 돌파하면 매수가 되는데 변경 부탁합니다. #시스템식 var : 상한가(0), UpLimit(0),cnt(0),count(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0),TL(0); Array : upv[100](0),TX[100](0); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else if date >= 20050328 and date < 20150615 Then UpLimit = (BP[0] * 1.15); Else UpLimit = (BP[0] * 1.30); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; up7 = int(UpLimit/1+0.00001)*1; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } if CodeCategory() == 1 || CodeCategory() == 2 then { if sdate < 20101004 Then { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up6); } Else { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up7); } } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } if H >= 상한가 Then { upv[0] = H[0]; count = count+1; TL = TL_New(sdate[1],stime[1],upv[0],sdate,stime,upv[0]); //TL_SetExtRight(TL,true); tx[0] = Text_New(sdate,stime,upv[0],NumToStr(upv[0],0)); for cnt = 1 to 99 { upv[cnt] = upv[cnt-1][1]; tx[cnt] = tx[cnt-1][1]; } } for cnt = 0 to count-1 { if upv[cnt] > 0 then { Text_SetLocation(TX[cnt],sdate,stime,upv[cnt]); if C > upv[cnt] and C[1] < upv[cnt] Then buy(); if C < upv[cnt] and C[1] > upv[cnt] Then sell(); } }
프로필 이미지
하리마우
2021-01-19
1004
글번호 145595
시스템
답변완료

수식

안녕하세요. 하기와 같은 조건이 동시에 만족시 청산 수식 부탁드립니다. # 매수 청산 진입 봉 저가 이탈 진입 전봉 저가 이탈 진입가 대비 -20틱 이상 # 매도 청산 진입 봉 고가 돌파 진입 전봉 고가 돌파 진입가 대비 -20틱 이상 감사합니다.
프로필 이미지
한국사람73
2021-01-19
996
글번호 145594
지표
답변완료

문의드립니다!

안녕하세요!! 1, 아래 수식은 원래 data6 까지만 작성되었던것을 제가 임의로 data11 과 12를 추가한것입니다 이 수정된 수식에서 혹 잘못된부분이 없는지 검토바랍니다 챠트에 적용해보니 장중에 챠트가 일시적으로 쪼그라드는등 뭔가 문제점이 있는듯해서요 2, 원래수식(data6 까지만있는 수식)을 적용시에도 아래와같은 문제점이 발생되네요 즉, 이 가로선이 아침장 시작 직후에 보면 모두 나타나지를않고 일부만 챠트상에 표시가됩니다 그래서 참조챠트에 있는 이수식의 지표속성창을 다시한번 열었다가 확인버튼을 눌러주면 그때서야 모든선이 나타납니다 장 시작과 동시에 모든선이 다 나타날수있도록 자세한 검토 부탁드리겠습니다 감사합니다!! =================================================================================== #Data1 input : D1고점색상(REd),D1고점굵기(1),D1저점색상(red),D1저점굵기(1); input : D2고점색상(BLUe),D2고점굵기(1),D2저점색상(blue),D2저점굵기(1); input : D3고점색상(WHITe),D3고점굵기(1),D3저점색상(white),D3저점굵기(1); input : D4고점색상(white),D4고점굵기(1),D4저점색상(white),D4저점굵기(1); input : D5고점색상(MAGENTA),D5고점굵기(1),D5저점색상(MAGENTA),D5저점굵기(1); input : D6고점색상(CYAn),D6고점굵기(1),D6저점색상(cyan),D6저점굵기(1); input : D11고점색상(MAGENTA),D11고점굵기(1),D11저점색상(MAGENTA),D11저점굵기(1); input : D12고점색상(CYAn),D12고점굵기(1),D12저점색상(cyan),D12저점굵기(1); var : D1(0,Data1),T1(0,Data1),H1(0,data1),L1(0,data1),HTL1(0,Data1),LTL1(0,Data1); if data1(Bdate != Bdate[1]) Then { D1 = data1(sDate); T1 = data1(sTime); H1 = data1(H); L1 = data1(L); HTL1 = TL_New(D1,T1,h1,NextBarSdate,NextBarStime,h1); LTL1 = TL_New(D1,T1,l1,NextBarSdate,NextBarStime,l1); TL_SetColor(HTL1,D1고점색상); TL_SetColor(LTL1,D1저점색상); TL_SetSize(HTL1,D1고점굵기); TL_SetSize(LTL1,D1저점굵기); } Else { if Data1(H) > H1 Then { H1 = Data1(H); TL_SetBegin(HTL1,D1,T1,H1); } if Data1(L) < L1 Then { L1 = Data1(L); TL_SetBegin(LTL1,D1,T1,L1); } TL_SetEnd(HTL1,sDate,sTime,H1); TL_SetEnd(LTL1,sDate,sTime,L1); } #Data2 var : D2(0,Data2),T2(0,Data2),H2(0,data2),L2(0,data2),HTL2(0,Data2),LTL2(0,Data2); if data2(Bdate != Bdate[1]) Then { D2 = data2(sDate); T2 = data2(sTime); H2 = data2(H); L2 = data2(L); HTL2 = TL_New(D2,T2,h2,NextBarSdate,NextBarStime,h2); LTL2 = TL_New(D2,T2,l2,NextBarSdate,NextBarStime,l2); TL_SetColor(HTL2,BLUe); TL_SetColor(LTL2,BLUe); TL_SetSize(HTL2,D2고점굵기); TL_SetSize(LTL2,D2저점굵기); } Else { if Data2(H) > H2 Then { H2 = Data2(H); TL_SetBegin(HTL2,D2,T2,H2); } if Data2(L) < L2 Then { L2 = Data2(L); TL_SetBegin(LTL2,D2,T2,L2); } TL_SetEnd(HTL2,sDate,sTime,H2); TL_SetEnd(LTL2,sDate,sTime,L2); } #Data3 var : D3(0,Data3),T3(0,Data3),H3(0,data3),L3(0,data3),HTL3(0,Data3),LTL3(0,Data3); if data3(Bdate != Bdate[1]) Then { D3 = data3(sDate); T3 = data3(sTime); H3 = data3(H); L3 = data3(L); HTL3 = TL_New(D3,T3,h3,NextBarSdate,NextBarStime,h3); LTL3 = TL_New(D3,T3,l3,NextBarSdate,NextBarStime,l3); TL_SetColor(HTL3,MAGENTa); TL_SetColor(LTL3,MAGENTa); TL_SetSize(HTL3,D3고점굵기); TL_SetSize(LTL3,D3저점굵기); } Else { if Data3(H) > H3 Then { H3 = Data3(H); TL_SetBegin(HTL3,D3,T3,H3); } if Data3(L) < L3 Then { L3 = Data3(L); TL_SetBegin(LTL3,D3,T3,L3); } TL_SetEnd(HTL3,sDate,sTime,H3); TL_SetEnd(LTL3,sDate,sTime,L3); } #Data4 var : D4(0,Data4),T4(0,Data4),H4(0,data4),L4(0,data4),HTL4(0,Data4),LTL4(0,Data4); if data4(Bdate != Bdate[1]) Then { D4 = data4(sDate); T4 = data4(sTime); H4 = data4(H); L4 = data4(L); HTL4 = TL_New(D4,T4,h4,NextBarSdate,NextBarStime,h4); LTL4 = TL_New(D4,T4,l4,NextBarSdate,NextBarStime,l4); TL_SetColor(HTL4,BLUe); TL_SetColor(LTL4,BLUe); TL_SetSize(HTL4,D4고점굵기); TL_SetSize(LTL4,D4저점굵기); } Else { if Data4(H) > H4 Then { H4 = Data4(H); TL_SetBegin(HTL4,D4,T4,H4); } if Data4(L) < L4 Then { L4 = Data4(L); TL_SetBegin(LTL4,D4,T4,L4); } TL_SetEnd(HTL4,sDate,sTime,H4); TL_SetEnd(LTL4,sDate,sTime,L4); } #Data5 var : D5(0,Data5),T5(0,Data5),H5(0,data5),L5(0,data5),HTL5(0,Data5),LTL5(0,Data5); if data5(Bdate != Bdate[1]) Then { D5 = data5(sDate); T5 = data5(sTime); H5 = data5(H); L5 = data5(L); HTL5 = TL_New(D5,T5,h5,NextBarSdate,NextBarStime,h5); LTL5 = TL_New(D5,T5,l5,NextBarSdate,NextBarStime,l5); TL_SetColor(HTL5,MAGENTA); TL_SetColor(LTL5,MAGENTA); TL_SetSize(HTL5,D5고점굵기); TL_SetSize(LTL5,D5저점굵기); } Else { if Data5(H) > H5 Then { H5 = Data5(H); TL_SetBegin(HTL5,D5,T5,H5); } if Data5(L) < L5 Then { L5 = Data5(L); TL_SetBegin(LTL5,D5,T5,L5); } TL_SetEnd(HTL5,sDate,sTime,H5); TL_SetEnd(LTL5,sDate,sTime,L5); } #Data6 var : D6(0,Data6),T6(0,Data6),H6(0,data6),L6(0,data6),HTL6(0,Data6),LTL6(0,Data6); if data6(Bdate != Bdate[1]) Then { D6 = data6(sDate); T6 = data6(sTime); H6 = data6(H); L6 = data6(L); HTL6 = TL_New(D6,T6,h6,NextBarSdate,NextBarStime,h6); LTL6 = TL_New(D6,T6,l6,NextBarSdate,NextBarStime,l6); TL_SetColor(HTL6,BLUe); TL_SetColor(LTL6,BLUe); TL_SetSize(HTL6,D6고점굵기); TL_SetSize(LTL6,D6저점굵기); } Else { if Data6(H) > H6 Then { H6 = Data6(H); TL_SetBegin(HTL6,D6,T6,H6); } if Data6(L) < L6 Then { L6 = Data6(L); TL_SetBegin(LTL6,D6,T6,L6); } TL_SetEnd(HTL6,sDate,sTime,H6); TL_SetEnd(LTL6,sDate,sTime,L6); } #Data11 var : D11(0,Data11),T11(0,Data11),H11(0,data11),L11(0,data11),HTL11(0,Data11),LTL11(0,Data11); if data11(Bdate != Bdate[1]) Then { D11 = data11(sDate); T11 = data11(sTime); H11 = data11(H); L11 = data11(L); HTL11 = TL_New(D11,T11,h11,NextBarSdate,NextBarStime,h11); LTL11 = TL_New(D11,T11,l11,NextBarSdate,NextBarStime,l11); TL_SetColor(HTL11,MAGENTA); TL_SetColor(LTL11,MAGENTA); TL_SetSize(HTL11,D11고점굵기); TL_SetSize(LTL11,D11저점굵기); } Else { if Data11(H) > H11 Then { H11 = Data11(H); TL_SetBegin(HTL11,D11,T11,H11); } if Data11(L) < L11 Then { L11 = Data11(L); TL_SetBegin(LTL11,D11,T11,L11); } TL_SetEnd(HTL11,sDate,sTime,H11); TL_SetEnd(LTL11,sDate,sTime,L11); } #Data12 var : D12(0,Data12),T12(0,Data12),H12(0,data12),L12(0,data12),HTL12(0,Data12),LTL12(0,Data12); if data12(Bdate != Bdate[1]) Then { D12 = data12(sDate); T12 = data12(sTime); H12 = data12(H); L12 = data12(L); HTL12 = TL_New(D12,T12,h12,NextBarSdate,NextBarStime,h12); LTL12 = TL_New(D12,T12,l12,NextBarSdate,NextBarStime,l12); TL_SetColor(HTL12,BLUe); TL_SetColor(LTL12,BLUe); TL_SetSize(HTL12,D12고점굵기); TL_SetSize(LTL12,D12저점굵기); } Else { if Data12(H) > H12 Then { H12 = Data12(H); TL_SetBegin(HTL12,D12,T12,H12); } if Data12(L) < L12 Then { L12 = Data12(L); TL_SetBegin(LTL12,D12,T12,L12); } TL_SetEnd(HTL12,sDate,sTime,H12); TL_SetEnd(LTL12,sDate,sTime,L12); }
프로필 이미지
유로파54
2021-01-19
883
글번호 145592
지표
답변완료

수식 문의드립니다.

1. 나무 투자증권의 조건검색식을 예스트레이더 수식으로 변경 부탁드립니다. 2. 특정일(N)의 상한가(고가가 상한가)에서 현재가가 그 특정일의 시가와 고가중 높은값을 (MaxOC)를 돌파하는 검색식과 시스템식 예를들면) 5일전 고가가 상한가인 종목중에서 현재가가 MaxOC를 돌파한 종목 3. 현재부터 특정일까지의 상한가(고가가 상한가)를 현재가가 시가와 고가중 높은값(MaxOC)를 돌파하는 검색식과 시스템식을 부탁합니다. 수식을 만들어 비교를 해봤는데 종목이 다르게 검색되어 부탁드립니다^^ 그럼 감사드립니다~
프로필 이미지
하리마우
2021-01-19
1141
글번호 145590
종목검색
답변완료

여러가지 질문드립니다!

1.obv지표에서 10일선,단순 적용하고 싶습니다. 2.거래량지표에 마우스 갖다대면 등락율 나오게 하고싶고 10이평선 같이 적용하고 싶습니다. 3.cci지표는 일봉에는 +,- 150으로 바꾸고 싶고 월봉에는 +,-130으로 적용하고 싶습니다
프로필 이미지
jamesk
2021-01-19
1053
글번호 145589
지표
답변완료

종목 검색과 자동매매 문의드립니다.

예스트레이더 본격 시작 전에, 제가 어느 부분을 집중적으로 공략해야 되는지 판단이 서지않아 문의드립니다. 타 HTS의 종목검색 기능이 EZ전략생성기라 할 수 있겠는데요, 여기서 기술지표, 가격, 거래량 등으로 조건/전략을 생성하는건 당연한 것인데, 문제는 전략 생성 후 검색과 자동매매가 이루어 지나요? 조건에 따라 코스피코스닥에서 종목을 필터하고, 이 종목을 자동매매로 할 수가 있는 건가요? 아니면 EZ전략이 아닌 예스스팟으로 언어를 입력해가며 필터링하고 자동매매하는 쪽으로 공부를 해야 되나요? 감사합니다.
프로필 이미지
goodegg
2021-01-19
842
글번호 145586
시스템