커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식부탁드림니다=================

아래지표식을 시스템식으로바꾸고싶슴니다 09:05부터 15:00 까지 va2가 전봉보다 크면 보유잔고 청산후 매수 va2가 전봉보다 작으면 보유잔고 청산후 매도 매수매도 진입후 4틱이익이면 청산 15:00 에모두청산후 진입금지 시스템식으로 수정좀부탁드립니다 그리고 시스템으로 적용하는방법좀 알려주세요 감사합니다 //----------------------------------------------------------------------------------- Input : Period1(10),Period5(10),period9(10),테마값(10),단기급증(16),단기급감(13),단기급등락(130), 장기급증(10.8),장기급감(01.8),장기급등락(15),돌파(215),급변(100),단기급변(50),순매수급증보정(2.6), 순매수급감보정(2.6),순매수보정한계(350), 순매수00급증보정(3.6),순매수00급감보정(3.6),순매수00보정한계(350)/*,고저기간(0)*/ ,LENGTH1(32) ,LENGTH2(230),과열(130),되돌림(30),tsfPeriod(134),봉완성(303); Var : va(0); Var : va1(0); Var : va2(0); Var : va3(0); Var : va4(0); Var : va9(0); Var : va11(0); Var : va12(0); Var : va15(0); Var : va33(0); Var : va38(0); Var : va77(0); Var : va87(0); Var : va88(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),ss(0),sss(0), TS(0),second(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; va4 = (BB/II)-(AA/II)+8000; } else{ va = ma(bids,period5)-ma(asks,period5)+8000; va4 = 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; } //순매수에 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; } if II < Period9 Then{ va9 = (BB/II)-(AA/II)+8000; } //순매수에 8000 더해 양의값만들기---------------------------- else{ va9 = ma(bids,period9)-ma(asks,period9)+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])*3.9)+va2[1]; if va2 <va2[1]-20 then va2 = va2[1]-((va2[1] -va2)*3.9); if va2 >va2[1]+20 then va2 = ((va2 -va2[1])*0.8)+va2[1]; if va2 <va2[1]-20 then va2 = va2[1]-((va2[1] -va2)*0.8); //1이평 막대표시 ----------------------------------------------- If va2 > va2[1] Then { Plot10(va2, "매수잔량 우위"); Plot11(0, "매도잔량 우위"); } Else{ Plot10(0, "매수잔량 우위"); Plot11(va2, "매도잔량 우위"); } //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"); PlotBaseLine5(va15-300,"기준선아래"); //테마합 일정 수량차이상의 급등락 표시 if va4 > va4[1]+ 급변 Then{plot55(va4-100,"급등");} if va4 < va4[1]- 급변 Then{plot46(va4-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))); //va4=va4*0.8; if va4 >va4[1]+20 then va4 = ((va4 -va4[1])*0.3)+va4[1]; if va4 <va4[1]-20 then va4 = va4[1]-((va4[1] -va4)*0.3); Plot59(va4, "순매수",iff((va4 )>(va2)+00,BLACK,iff((va4 )<(va2 )-00,BLACK,BLACK))); if va2 >va2[1]+50 then va15 = ((va2 -va2[1])*0.3)+va2[1]; if va2 <va2[1]-50 then va15 = va2[1]-((va2[1] -va2)*0.3); if va15 >va15[1]+70 then va15 = ((va15 -va15[1])*0.9)+va15[1]; if va15 <va15[1]-70 then va15 = va15[1]-((va15[1] -va15)*0.9); //-------------------------------------------- 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,"반반"); //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(va2>va2[1]+00,RED,iff(va2<va2[1]-00,BLUE,WHITE))*/); 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 = (테마값 * ema11) - (테마값 * 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]+20 then va88 = ((va88 -va88[1])*0.5)+va88[1]; if va88 <va88[1]-20 then va88 = va88[1]-((va88[1] -va88)*0.5); } 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 = (4.2 * ema21) - (4.2 * ema22) + (ema23); Plot78(va87, "테마합테마"); // plot78(va87+100, "테마합테마",iff(va87>va87[1]+00,red,iff(va87<va87[1]-00,BLUE,BLACK))); if ii >= 2 then{ //TSF 막대표시 ----------------------------------------------- If vp[1] < va4+00 Then { Plot45(va2-100, "순매수상승 우위"); Plot44(0, "순매수하락 우위"); } If vp[1] > va4-00 Then{ Plot45(0, "순매수상승 우위"); Plot44(va2-100, "순매수하락 우위"); } //매수매도신호------------------------------------------------------- If va4[1]+300 < va4 Then{ //Plot96(va4+200, "매/수"); } If va4[1]-300 > va4 Then{ // Plot97(va4+200, "매/도"); } if va3 > va77 and va3 > va77+과열 Then{ plot37(va3,"매도유리");} // PlaySound("C:₩예스트레이더₩data₩Sound₩Bell2.wav"); if va3 < va77 and va3 < va77-과열 Then{ plot38(va3,"매수유리");} // PlaySound("C:₩예스트레이더₩data₩Sound₩Bell2.wav"); //------------------------------------------------------------------------- if /*sss<=0 and*/ va2[1] > va2 Then { /*sss=1;*/ Plot96(va2, "sall"); //PlaySound("C:₩Users₩Administrator₩Desktop₩효과₩Bandi.wav"); } if/* sss>=0 and*/ va2[1] < va2 Then { /* sss=-1;*/ Plot97(va77-150, "bye"); //PlaySound("C:₩Users₩Administrator₩Desktop₩효과₩click08.wav"); } //--------------------------------------------------------------------------- if CrossUp(va4,va2) Then //if va2[2] > va2[1] and va2[1]+00 < va2 Then { plot85(va2-230,"y매수"); PlaySound("C:₩Users₩Administrator₩Desktop₩효과₩Bandi.wav"); } if CrossDown(va4,va2) Then //if va2[2] < va2[1] and va2[1]+00 > va2 Then { plot86(va2+250,"y매도"); PlaySound("C:₩Users₩Administrator₩Desktop₩효과₩click08.wav"); } if va9 >va9[1]+순매수00보정한계 then va9 = ((va9 -va9[1])*순매수00급증보정)+va9[1]; if va9 <va9[1]-순매수00보정한계 then va9 = va9[1]-((va9[1] -va9)*순매수00급감보정); plot98(va9,"순매수00",iff((va9 )>(va2)+00,RED,iff((va9 )<(va2 )-00,BLUE,BLACK))); } vmin = min(va2,va15); vmax = max(va2,va15); if va2 > va15 then va33 = (va2 - va15) / 2 + va15; if va15 > va2 then va33 = (va15 - va2) / 2 + va2; plot47(va33,"반반"); #봉시작 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,"체결장");
프로필 이미지
leekss1
2017-05-26
177
글번호 109854
시스템
답변완료

수식요청 드립니다.

* 수식요청 드립니다. (여기서 수수료는 따지지않음) * 매수금액 대비 100,000원 이익 후 매도 방법 문의 * if crossup(c,ma(c,5)) buy() 일 경우 100만원 을 가지고 1,000원주식을 사면 1,000주를 샀습니다. 그러면 나는 100만원 + 10만원 = 110만원을 목표로 계산하여 현재가격이 1,100원 보다 크면 매도 할수 있게 수식이 가능 하나요? 즉 이익 금액으로 설정하여 매도 하는 방법요..... * if date != date[1] Then{ if DayVolume >= DayVolume(1) Then var99 = c; } Condition22 = C<O and c > DayClose(1) and DayVolume > DayVolume(1)*1; if dayindex() >= 1 and Condition22 == True then buy("b",atlimit,var99*0.95); 수식이 안먹는데 외그러죠? 즉 전일 대비 전일 거래량 보다 크면 매수 조건되고 전일 거래량 만족시 가격 기준으로 5% 마이너스 선에서 매수 외안되죠? * 고맙습니다. 수고하십시요
프로필 이미지
요타
2017-05-26
134
글번호 109853
시스템
답변완료

수식 부탁드립니다.

안녕하세요 고생많으십니다. 스토캐스틱533 과 스토캐스틱 50 30 30 두개를 합쳐서 매매수식 부탁드립니다. 1.스토캐스틱 50 30 30 의 K와 D가 교차하여 상승중일때에 스토533이 20 이하에서 상승하여 K와D 가 교차하면은 매수이고 2.반대일때는 매도 입니다. (스토533이 80이상 올라 갔다가 하락하면서 K와D가 교차시에 매도) 항상 감사드립니다.
프로필 이미지
뭐이런걸다
2017-05-25
117
글번호 109852
시스템
답변완료

피라미딩

답변에 감사합니다. NO. 53381 호와 관련입니다. 1.위 그림1의 차트는 아래의 수식을 적용 한 차트입니다. 여기에서 화살표 표시 부분에서 매도신호 S2 또는 매수신호 b2 의 신호가 발생하여야 할 것으로 판단 되는데 신호의 발생이 안되고 있습니다. 바르게 수정하여 주시면 감사 하겠습니다. 2.그리고 피라미딩 설정에서 모든진입신호가 허용 되도록 수식을 변경하여 주시길 부탁드립니다. 관련 수식입니다. If 최종꼭지점[1] < 최종꼭지점 Then var1 = -1; if 최종꼭지점[1] > 최종꼭지점 Then var1 = 1; If abs( 고[1,1] - 저[2,1]) > N Then { if var1 == -1 and var1[1] != -1 Then Sell("s1"); } If abs( 고[2,1] - 저[1,1]) > N Then { if var1 == 1 and var1[1] != 1 Then buy("b1"); } If 최종꼭지점 == "고점" and 최종꼭지점[1] != 최종꼭지점 and 저[1,1] >= 저[2,1] Then var2 = 1; If 최종꼭지점 == "저점" and 최종꼭지점[1] != 최종꼭지점 and 고[1,1] <= 고[2,1] Then var2 = -1; If var2 == 1 and var2[1] != 1 Then Buy("b2"); If var2 == -1 and var2[1] != -1 Then Sell("s2");
프로필 이미지
너무조아
2017-05-25
156
글번호 109851
시스템
답변완료

안녕하세요 잘 부탁드립니다.

늘 고생이 많으십니다. 아직 처음이라 글이 좀 미숙해도 잘 부탁드립니다. 1. 해외선물 전일종가 / 당일 시가 / 당일 고가 / 당일 저가 이탈,돌파시 계속해서 음성알림을 듣고 싶습니다. 2. 당일에 고가를 찍은 양봉캔들 시가를 이탈하는 캔들에 매도신호 / 저가를 찍은 음봉에 시가를 돌파하는 캔들에 매수신호 넣을 수 있게 부탁드립니다. (이 신호는 고가와 저가 갱신후 반복되는 돌파캔들 발생시 계속 신호는 나올 수 있게 유지) 1.2번 문항을 하나로 묶을 수 있으면 분리 / 묶음으로 이렇게 두번 부탁드립니다.
프로필 이미지
아톰
2017-05-26
110
글번호 109850
시스템
답변완료

20캔들의 중간선과 상단선, 하단선

안녕하세요? 수고 많으십니다. 20캔들의 중간선과 상단선, 하단선을 만들어 주시면 고맙겠습니다.
프로필 이미지
영훈0
2017-05-25
117
글번호 109849
지표

영훈0 님에 의해서 삭제되었습니다.

프로필 이미지
영훈0
2017-05-25
0
글번호 109848
지표

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
yanartas
2017-05-25
6
글번호 109847
시스템
답변완료

문의드립니다

안녕하세요. 특정 진입명에 진입하여 성공(익절청산)하면 당일엔 같은 진입명으로는 다시 진입하지 않게 하는 방법이 궁금합니다. 항상 감사합니다
프로필 이미지
맘속의행복
2017-05-25
123
글번호 109836
시스템