커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

전에수정해주셨는데 첨부그림보면 갭보정이 안된겄같아요 갭보정된거맞나요? 아님 다시한번 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
231
글번호 105320
지표
답변완료

문의드립니다

안녕하세요. 1. 틱챠트에서 장 개시후 첫 30분동안의 거래량을 'var', 'value', 'condition'등의 변수로 표현할 수 있는 방법이 궁금합니다. 2. 틱챠트의 시스템에 분챠트에서 발생하는 이벤트를 입력하는 것이 가능한가요? 예를 들면, "5분 챠트상의 MACD가 골든 크로스하고 5분 이내에 300틱 챠트의 MACD가 골든 크로스하면" 이라는 조건이 구현 가능한건지요? 항상 감사합니다.
프로필 이미지
맘속의행복
2016-12-26
167
글번호 105317
시스템

디셈버 님에 의해서 삭제되었습니다.

프로필 이미지
디셈버
2016-12-26
15
글번호 105316
사용자 함수
답변완료

문의드립니다.

MACD에서 기준선을 0, 0.5, -0.5로 표시하려는데요 수식에 무엇을 추가해야 합니까?
프로필 이미지
우보천리
2016-12-26
153
글번호 105315
지표
답변완료

재질문드립니다.

안녕하세요. 항상 수고가 많으십니다. ---- 재질문입니다 ------------------------------------------ 아래 질문에 대해 답변대로 했는데 잘 되지를 않습니다. 보다 구체적으로 질문드립니다. 새벽 1시의 고가(A)와 저가(B)를 저장합니다. (개장 시간이 변경됩니다.) 저녁 8시까지 (저가)B에 한번도 도달한 적이 없으며, 현재가가가 (고가)A를 상향 돌파하면 매수. 저녁 8시까지 (고가)A에 한번도 도달한 적이 없으며, 현재가가 (저가)B를 하향 돌파하면 매도 하는 수식을 부탁드립니다. 즉, 매매는 저녁 8시 이후에 이루어지겠지요. 청산은 새벽 5시 30분에 청산됩니다. 개장시간이 서로 다른 점에 유의해 주십시요. 시간은 한국시간 기준이며, 60분봉 기준입니다. --------------------------------
프로필 이미지
샐리짱
2016-12-26
153
글번호 105312
시스템
답변완료

이동평균 상향돌파시 고점 지정 (51190 추가질문)

안녕하세요, 아래 작성 해주신 수식에서 T가 의미하는 바가 궁금합니다. 감사합니다. input : P1(5),P2(20); var : mav1(0),mav2(0),T(0); mav1 = ma(C,P1); mav2 = ma(C,P2); if crossup(mav1,mav2) Then{ T = 1; var1 = H; } if CrossDown(mav1,mav2) Then{ T = -1; var2 = L; } if T == 1 Then buy("b",AtStop,var1); if MarketPosition == 1 Then T = 2; if T == -1 Then sell("s",AtStop,var2); if MarketPosition == -1 Then T = -2;
프로필 이미지
라면의비밀
2016-12-26
159
글번호 105311
시스템
답변완료

일간이동평균(분/틱용)

안녕하세요, 샘님 다증권사의 일간 이동평균 분/틱용을 만들고 싶습니다,도와주심 고맙겠습니다.
프로필 이미지
수익챠트
2016-12-26
158
글번호 105310
지표
답변완료

질문드립니다.

안녕하세요. 항상 수고가 많으십니다. ---- 질문입니다 ------------------------------------------ 해외 선물에 대한 질문입니다. 특정 가격 A(높은가격)와 B(낮은가격)가 있습니다. 저녁 8시까지 A보다 낮은 가격인 B에 한번도 도달한 적이 없으며, 현재가가가 A를 상향 돌파하면 매수. 저녁 8시까지 B보다 높은 가격인 A에 한번도 도달한 적이 없으며, 현재가가 B를 하향 돌파하면 매도 하는 수식을 부탁드립니다. 시간은 한국시간 기준입니다. -------------------------------- 감사합니다.
프로필 이미지
샐리짱
2016-12-26
158
글번호 105304
시스템

카프리카 님에 의해서 삭제되었습니다.

프로필 이미지
카프리카
2016-12-26
0
글번호 105297
시스템