커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

첨부한 파일에서 보시는것처럼 '만약' 저런 선이 생성되었다고 가정했을때, 2번 지지 후 상승을 수식으로 어떻게 표현할 수 있을까요? 1. for문을 사용하여 쓰는 수식부탁드립니다. 2. 관계자 분께서 하시는 방법, 로직 부탁드립니다.
프로필 이미지
stockric
2016-12-26
153
글번호 105331
지표
답변완료

1분봉 차트에서 60분봉의 10이평선 그리기

수고하십니다. 제목대로 1분봉차트에서 60분봉의 10 이동평균선을 그리고 싶습니다. 수식은 어떻게 작성하는지 문의 드립니다. 감사합니다.
프로필 이미지
미래자유인
2016-12-26
128
글번호 105330
지표
답변완료

한번 더 부탁드립니다...ㅠ

자꾸 문의를 드려 죄송합니다..ㅠ..제가 실력이 너무 없어서 귀찮게 해 드리는건 아닌지...ㅠ 만들어주신 수식을 활용하고 있는데.. 제가 미처 발견하지 못한 점 때문에 다시 한번만 더 부 탁드립니다. 아래의 조건은 다 맞는것 같은데..다만 20일 기간내에 data1과 data2의 최저가를 구한 다음 그 날짜를 기준으로 뒷쪽(이를테면, 최저가 발생일이 26일이면 26일 이전 방향으로 두번째 최저가 발생일의 최저가와 세번째 최저가 발생일의 최저가)의 최저가 3개씩을 기준으로 아래의 수식이 적용되면 제가 원하는 값을 표현할수 있을것 같네요.. 미리 감사드립니다.. ------------------------------------------------- 안녕하세요 예스스탁입니다. 1 1차로는 기준값보다 작은 값중에 찾고 작은값이 없으면 기준값 위의 값중에 가장 가까운 값을 찾게 수정했습니다. 2 N은 원하시는 기간값 지정하시면 됩니다. 3 input : N(20); var : cnt(0),L11(0),L21(0),L12(0),L22(0),L13(0),L23(0),Price(0),diff(0),VV(0); Array : DL2[50](0,data2); if data2(bdate != bdate[1]) Then{ DL2[0]= data2(L); for cnt = 1 to 49{ DL2[cnt] = DL2[cnt-1][1]; } } if data2(L) < DL2[0] Then DL2[0] = data2(L); if DL2[N] > 0 then{ L11 = 99999999; L21 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L11 Then L11 = daylow(cnt); if DL2[cnt] < L21 Then L21 = DL2[cnt]; } L12= 99999999; L22 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L12 and daylow(cnt) > L11 Then L12 = daylow(cnt); if DL2[cnt] < L22 and DL2[cnt] > L21 Then L22 = DL2[cnt]; } L13= 99999999; L23 = 99999999; for cnt = 0 to N-1{ if daylow(cnt) < L13 and daylow(cnt) > L12 Then L13 = daylow(cnt); if DL2[cnt] < L23 and DL2[cnt] > L22 Then L23 = DL2[cnt]; } Price = (data1(c)+data2(c))/2; diff = 99999999; VV = 99999999; if L11 < Price and abs(Price-L11) < diff Then{ diff = abs(Price-L11); VV = L11; } if L12 < Price and abs(Price-L12) < diff Then{ diff = abs(Price-L12); VV = L12; } if L13 < Price and abs(Price-L13) < diff Then{ diff = abs(Price-L13); VV = L13; } if L21 < Price and abs(Price-L21) < diff Then{ diff = abs(Price-L21); VV = L21; } if L22 < Price and abs(Price-L22) < diff Then{ diff = abs(Price-L22); VV = L22; } if L23 < Price and abs(Price-L23) < diff Then{ diff = abs(Price-L23); VV = L23; } if Diff == 99999999 then{ diff = 99999999; VV = 99999999; if abs(Price-L11) < diff Then{ diff = abs(Price-L11); VV = L11; } if abs(Price-L12) < diff Then{ diff = abs(Price-L12); VV = L12; } if abs(Price-L13) < diff Then{ diff = abs(Price-L13); VV = L13; } if abs(Price-L21) < diff Then{ diff = abs(Price-L21); VV = L21; } if abs(Price-L22) < diff Then{ diff = abs(Price-L22); VV = L22; } if abs(Price-L23) < diff Then{ diff = abs(Price-L23); VV = L23; } } plot1(Price,"data1+data2 종가 중간값"); plot2(VV,"가장가까운값"); }
프로필 이미지
금여록
2016-12-26
107
글번호 105329
지표
답변완료

일간이평(분/틱용)

샘님, 보내주신 일간이동평균선(분/틱용)이 수식 검증 완료 되었습니다만 막상 2분봉 챠트에 5일선 적용을 하니까 수평선으로 나오질 않고 라면 면발처럼 나옵니다 어떻게 해야되겠습니까 부탁드립니다.
프로필 이미지
수익챠트
2016-12-26
108
글번호 105326
지표
답변완료

되돌림 관련 수식 문의드립니다.

안녕하세요 되돌림폭 관련해서 수식 문의드립니다. 단순하게 k200선물 기준으로 시가에서 1pt 상승하면 매수, 1pt하락하면 매도하는 전략이 있다고 가정하겠습니다. 26일 오늘 k200선물 시가가 250.00 pt라 하고, 1. AM 09:10 에 250.50 pt로 고가를 찍고 하락하다가 2. AM 09:20 에 249.45 pt로 저가를 찍고 다시 상승해서 3. AM 09:30 에 251.00 pt를 찍어서 전고점을 뚫고 롱포지션 진입을 했습니다. 이 때 롱포지션 진입전에 1. 과 2. 사이에 250.50 - 249.45 = 1.05 pt 의 되돌림 폭이 있는데, 이걸 수식으로 계산하려면 어떻게 해야할지 도움을 주시면 정말 감사하겠습니다.
프로필 이미지
카프리카
2016-12-26
107
글번호 105325
시스템
답변완료

수식 문의드립니다.

아래의 조건을 만족시키는 수식이 궁금합니다. "매일 09:30 에 매도 진입, 14:00 매도 청산 및 매수 진입, 15:20 매수 청산 (위 조건에서 09:30, 14:00, 15:20 분 등은 변수로 하여 최적화를 시행하였으면 합니다.)
프로필 이미지
앙두
2016-12-26
97
글번호 105324
시스템

backsu9 님에 의해서 삭제되었습니다.

프로필 이미지
backsu9
2016-12-26
43
글번호 105323
지표
답변완료

그림올리기------------

그림을 첨부하지않고 여기에삽입하는방법좀알려주세요 첨부파일로올리기가 번거롭습니다 수고하세요 감사합니다
프로필 이미지
leekss1
2016-12-26
113
글번호 105322
지표
답변완료

갭보정부탁드림니다---------------------

전에수정해주셨는데 첨부그림보면 갭보정이 안된겄같아요 갭보정된거맞나요? 아님 다시한번 GapVa77,va4,GapVa87 을 일간갭보정을하고싶슴니다(전일마지막지표값이 오늘 시작지표값이되게) 지표값은 안보고 방향만 참고하려고 합니다 항상감사합니다 수고하세요 Input : Period1(10),Period5(10),단기급증(6),단기급감(3),단기급등락(30), 장기급증(0.8),장기급감(0.8),장기급등락(5),돌파(15),급변(100),단기급변(50),순매수급증보정(5.6), 순매수급감보정(5.6),순매수보정한계(500)/*,고저기간(0)*/ ,LENGTH1(2) ,LENGTH2(20),과열(10),되돌림(0),tsfPeriod(14); Var : va(0); Var : va1(0); Var : va2(0); Var : va3(0); Var : va4(0); Var : va11(0); Var : va12(0); Var : va15(0); Var : va33(0); Var : va20(0); Var : va38(0); Var : va77(0); Var : va87(0); Var : va88(0); Var : va90(0); Var : va91(0); Var : value(0); Var : vp(0),II(0),AA(0),BB(0); var : N(0),T(0),EP1(0),EP2(0); var : ema11(0),ema12(0),ema13(0); var : ema21(0),ema22(0),ema23(0),cnt1(0),cnt2(0); var : vmin(0),vmax(0); var : TSF(0); EP1 = 2/(LENGTH1+1); EP2 = 2/(LENGTH2+1); if Bdate != Bdate[1] Then{ II = 0; BB = 0; AA = 0; } II = II+1; BB = BB+Bids; AA = AA+Asks; if II < Period5 Then{ va = (BB/II)-(AA/II)+8000; } else{ va = ma(bids,period5)-ma(asks,period5)+8000; } if II < Period1 Then{ va1 = (BB/II)-(AA/II)+8000; va2 = (BB/II)-(AA/II)+8000; va3 = (BB/II)-(AA/II)+8000; va4 = (BB/II)-(AA/II)+8000; } //순매수에 8000 더해 양의값만들기---------------------------- else{ va1 = ma(bids,period1)-ma(asks,period1)+8000; va2 = ma(bids,period1)-ma(asks,period1)+8000; va3 = ma(bids,period1)-ma(asks,period1)+8000; va4 = ma(bids,period5)-ma(asks,period5)+8000; } //순매수5이평의 급등락축소시작---------------------------- if ii > 1 and va >va[1]+장기급등락 then va = ((va -va[1])/장기급증)+va[1]; if ii > 1 and va <va[1]-장기급등락 then va = va[1]-((va[1] -va)/장기급감); If ii >= 2 Then { //순매수 일정차 이상의급등락축소시작---------------------------- //if va1 >va1[1]+급등락 then va1 = va1 -급등락; if va1 >va1[1]+단기급등락 then va1 = ((va1 -va1[1])/단기급증)+va1[1]; //if va1 >va1[1]+소등락 then va1 = va1 - 소등락; if va1 <va1[1]-단기급등락 then va1 = va1[1]-((va1[1] -va1)/단기급감); //if va1 <va1[1]-급등락 then va1 = va1 + 급등락; //if va1 <va1[1]-소등락 then va1 = va1 + 소등락; //급등락축소시작---------------------------- //순매수 일정차 이하의급등락축소시작---------------------------- if va2 >va2[1]+순매수보정한계 then va2 = ((va2 -va2[1])*순매수급증보정)+va2[1]; if va2 <va2[1]-순매수보정한계 then va2 = va2[1]-((va2[1] -va2)*순매수급감보정); if va2 >va2[1]+20 then va2 = ((va2 -va2[1])*0.22)+va2[1]; if va2 <va2[1]-20 then va2 = va2[1]-((va2[1] -va2)*0.22); if va2 >va2[1]+220 then va2 = ((va2 -va2[1])*0.3)+va2[1]; if va2 <va2[1]-220 then va2 = va2[1]-((va2[1] -va2)*0.3); //1이평 막대표시 ----------------------------------------------- If va1 > va1[1] Then { Plot10(va1, "매수잔량 우위"); Plot11(0, "매도잔량 우위"); } Else{ Plot10(0, "매수잔량 우위"); Plot11(va3, "매도잔량 우위"); } //5이평 막대표시 ----------------------------------------------- If va > va[1] Then { Plot3(va, "5매수총잔량 우위"); Plot4(0, "5매도총잔량 우위"); } Else{ Plot3(0, "5매수총잔량 우위"); Plot4(va, "5매도총잔량 우위"); } PlotBaseLine1(12000,"기준선12"); PlotBaseLine2(11000,"기준선11"); //테마합 일정 수량차이상의 급등락 표시 if va4 > va4[1]+ 급변 Then{plot55(vp-100,"급등");} if va4 < va4[1]- 급변 Then{plot46(vp-100,"급락");} } // if Highest(va1,고저기간 )==0 then{ // va11=Lowest(va1,고저기간 ); if ii >= 2 and va2 > va2[1]+ 단기급변 Then{plot66(va2,"단기");} if ii >= 2 and va2 < va2[1]- 단기급변 Then{plot66(va2,"단기");} Plot99(va2, "순매수1차보정",iff(va2>va2[1]-00,red,iff(va2<va2[1]+00,BLUE,BLACK))); Plot9(va4, "순매수"); if va2 >va2[1]+25 then va15 = ((va2 -va2[1])*01.1)+va2[1]; if va2 <va2[1]-25 then va15 = va2[1]-((va2[1] -va2)*1.1); if va15 >va15[1]+30 then va15 = ((va15 -va15[1])*1.1)+va15[1]; if va15 <va15[1]-30 then va15 = va15[1]-((va15[1] -va15)*1.1); //-------------------------------------------- if va15 < va2 then {vp=((va2-va15)/2)+va15;} if va2 < va15 then {vp=((va15-va2)/2)+va2;} if va2 > va15 then va33 = (va2 - va15) / 2 + va15; if va15 > va2 then va33 = (va15 - va2) / 2 + va2; plot47(va33,"반반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK))); //********************************************************* if vp >vp[1]+570 then vp = ((vp -vp[1])*0.25)+vp[1]; if vp <vp[1]-570 then vp = vp[1]-((vp[1] -vp)*0.25); //********************************************************** // vp = (2 * Ema(vp,LENGTH1)) - (2 * Ema(Ema(vp,LENGTH1),LENGTH1)) + // (Ema(Ema(Ema(vp,LENGTH1),LENGTH1),LENGTH1)); //Plot20(vp, "반"); plot20(vp+100, "반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK))); /*TSF = LRL(va4,tsfPeriod)+LRS(va4,tsfPeriod); if TSF >TSF[1]+220 then TSF = ((TSF -TSF[1])*0.6)+TSF[1]; if TSF <TSF[1]-220 then TSF = TSF[1]-((TSF[1] -TSF)*0.6); Plot60(TSF,"TSF",iff(TSF>TSF[1]+00,red,iff(TSF<TSF[1]-00,BLUE,BLACK))); */ Plot60(va15, "순매수1",iff(va15>va15[1]+00,RED,iff(va15<va15[1]-00,BLUE,BLACK))); if ii == 1 Then ema11 = va3; else ema11 = va3 * EP1 +ema11 * (1-EP1); if ii <= 2 Then ema12 = ema11; else ema12 = ema11 * EP1 +ema12 * (1-EP1); if ii <= 3 Then ema13 = ema12; else ema13 = ema12 * EP1 +ema13 * (1-EP1); //순매수를 테마로 if ii >= 3 then va77 = (2.6 * ema11) - (2.6 * ema12) + (ema13); Plot58(va77, "테마"); va88 = va77; if va2 < va77 and va3 > va77 Then { va88 = va3; } if va2 > va77 and va3 < va77 Then { va88 = va3; if va88 >va88[1]+220 then va88 = ((va88 -va88[1])*0.3)+va88[1]; if va88 <va88[1]-220 then va88 = va88[1]-((va88[1] -va88)*0.3); } Plot95(va88, "테마합"); if ii == 1 Then ema21 = va88; Else ema21 = va88 * EP2 +ema21 * (1-EP2); if ii <= 2 Then ema22 = ema21; Else ema22 = ema21 * EP2 +ema22 * (1-EP2); if ii <= 3 Then ema23 = ema22; else ema23 = ema22 * EP2 +ema23 * (1-EP2); if ii >= 3 then va87 = (3 * ema21) - (3 * ema22) + (ema23); //Plot78(va87, "테마합테마"); plot78(va87+000, "테마합테마",iff(va87>va87[1]+00,red,iff(va87<va87[1]-00,BLUE,BLACK))); if ii >= 2 then{ //TSF 막대표시 ----------------------------------------------- If va87 < va77 Then { Plot45(vmin-100, "테마상승 우위"); Plot44(0, "테마하락 우위"); } If va87 > va77 Then{ Plot45(0, "테마상승 우위"); Plot44(vmin-100, "테마하락 우위"); } //매수매도신호------------------------------------------------------- /* If va4[1]+300 < va4 Then{ Plot96(va4+200, "매/수"); } If va4[1]-300 > va4 Then{ Plot97(va4+200, "매/도"); } */ //------------------------------------------------------------------------- /* if CrossUp(va2,vp) Then { Plot85(va2-200, "buy"); PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles"); } if CrossDown(va2,vp) Then { Plot86(va2+300, "sall"); PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav"); } */ //--------------------------------------------------------------------------- if va4[2] > va4[1] and va4[1]+00 < va4 Then{ plot85(va4-230,"y매수"); // PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav"); } if va4[2] < va4[1] and va4[1]-00 > va4 Then{ plot86(va4+250,"y매도"); // PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav"); } vmin = min(va87,va77); vmax = max(va87,va77); if va2 > va15 then va33 = (va2 - va15) / 2 + va15; if va15 > va2 then va33 = (va15 - va2) / 2 + va2; plot47(va33,"반반"); va20 = (vp+va15+va2+va33)/4; plot98(va20, "4평균",iff(va20>va20[1]+00,red,iff(va20<va20[1]-00,BLUE,BLACK))); input: 봉완성(0); var : SS(0),TS(0),second(0); #봉시작 var1 = TimeToMinutes(stime)*60; var2 = FracPortion(stime/100)*100;//시작시간 초 SS = var1+var2; #봉끝 value1 = TimeToMinutes(time)*60; value2 = FracPortion(time/100)*100;//&#44561;시간 초 TS = value1+value2; Second = TS-SS; if second < 봉완성 Then plot27(vmin-200,"체결단"); Else plot28(vmin-200,"체결장"); } var : gap1(0),gapVa77(0); var : gap2(0),gapVa4(0); var : gap3(0),gapVa87(0); if Bdate != Bdate[1] Then{ gap1 = gap1+(va77-va77[1]); gap2 = gap2+(va4-va4[1]); gap3 = gap3+(va87-va87[1]); } GapVa77 = Va77-Gap1; GapVa4 = Va4-Gap2; GapVa87 = Va87-Gap3; plot91(GapVa77,"테마합갭보정"); plot92(GapVa4); plot93(GapVa87,"테마합테마갭보정",iff(GapVa87>GapVa87[1]+00,rgb(255,0,0),iff(GapVa87<GapVa87[1]-00,BLUE,BLACK))); if GapVa87[2]>GapVa87[1] and GapVa87[1]<GapVa87 Then{ plot71(GapVa87-200,"테마매수유리"); PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav"); } if GapVa87[2]<GapVa87[1] and GapVa87[1]>GapVa87 Then{ plot72(GapVa87+200,"테마매도유리"); PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav"); } va90=((c-c[1])/c[1]*100)*20000; plot74(va90,"지수변폭"); va91=((GapVa77-GapVa77[1])/GapVa77[1]*100)*155; plot75(va91,"테마변폭");
프로필 이미지
leekss1
2016-12-26
178
글번호 105320
지표