커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

안녕하세요. 항상 감사드립니다. 당일 누적수익을 차트에 출력하고 싶습니다. 당일 오전 08시 부터 익일 새벽02시까지 익절,손절,당일누적수익 을 차트 중심선 위에 출력하려면 어떻게 해야될까요? 수고하세요 ^^
프로필 이미지
웹피
2017-03-16
109
글번호 107858
지표
답변완료

청산 수식좀 부탁합니다.

아래와 같은 조건의 청산 수식좀 부탁드리겠습니다. 매수청산 현재 가격에 3틱을 더한 가격이 스톡K 보다 크면 매수청산 매도청산 현재 가격에 3틱을 더한 가격이 스톡K 보다 작으면 매도청산
프로필 이미지
천왕봉
2017-03-16
114
글번호 107857
시스템
답변완료

지표식문의드립니다.

매번 성실한 답변에 감사드립니다. 검색식(그림)으로 그림차트 핑크색선을 만들어 사용중입니다. 차트(그림)에서 1번과 2번을 연두색선과 같이 사선을 긋는 지표식 부탁드립니다. 검색식(그림)도 같이 넣어서 부탁드립니다(채색용). 감사합니다.
프로필 이미지
부양가족
2017-03-16
166
글번호 107856
지표
답변완료

문의드려요..(elder ray power 와 reverse)

아래 reverse 식과 Elder Ray Power를 이용해서 내수 및 매도를 하려고 합니다 1. 매수진입(시간은 9시 15분 부터 들어가는 것으로 하고) reverse1가 -75밑으로 하락& Elder Ray Power는 0이상일&#46468; 매수 진입 2. 매수 청산 : reverse1이 -에서 0을 치고 올라갈 경우 또는 Elder Ray Power가 0밑으로 바뀔&#46468; 3. 매도진입(시간은 9시 15분 부터 들어가는 것으로 하고) reverse1이 75위로 상승 & Elder Ray Power는 0이하일&#46468; 매도 진입 4. 매도 청산 : reverse1가 +에서 0을 치고 내려갈 경우 또는 Elder Ray Power가 0위로 바뀔&#46468; ------------------------------------------------------- Reverse 식 Input : Short(12), Long(24); value1 = accumN(C-C[1],Short); value2 = accumN(C-C[1],Long); value3 = iff(C>C[1],C-C[1],0); value4 = iff(C<C[1],C-C[1],0); If value1 > 0 Then plot1(value1*(-100)/accumN(value3,Short), "reverse1"); Else plot1(value1*100/accumN(value4,Short), "reverse1"); If value2 > 0 then plot2(value2*(-100)/accumN(value3,Long),"reverse2"); Else plot2(value2*100/accumN(value4,Long),"reverse2"); ----------------------------------------------------------- Elder Ray Power 식 Inputs: Period(13); Variables: BullP(0), BearP(0); BullP = HIGH - ema(Close,Period); BearP = LOW - ema(Close,Period);
프로필 이미지
머니사이언스
2017-03-15
120
글번호 107855
시스템
답변완료

수식 부탁합니다

아래수식에서 ex)오일3분봉매매를 예로들면 plot1 자리(48.50)에 매도2계약을 예약걸어놓고 현재호가가 plot1을 터치시 체결된후(매도청산은+25틱(48.25)에서 1계약청산, plot2 터치할때 올청산(47.95청산후 재진입금지)) plot2 자리(47.95)에 매수2계약을 예약걸어놓고 현재호가가 plot2를 터치시 체결된후(매수청산은+25틱에서(49.20) 1계약청산, plot1를 터치할때 올 청산(48.50청산후 재진입금지))하는 시스템식을 부탁합니다. 매매시간내에서 매도이든 매수이든 체결되는 순서로 일일 단1회 매매만 하고싶습니다,(계약수 변경가능하면 좋겠습니다) #,현재가가 plot1에 터치시 즉시매도진입 -,손절 20틱, 익절 plot2 터치시 청산(매도 손절이나 올청산후 재진입금지) #,현재가가 plot2에 터치시 즉시매수진입 -,손절 20틱, 익절 plot1 터치시 청산(매수 손절이나 올청산후 재진입금지) #,매매시간은 10:30 ~23:50 (시간변경 가능하면 좋겠습니다) *,늘 감사합니다. input : Per1(12); Var : S1(0),S2(1),S3(1),S4(1); S1 = (dayhigh(0)+daylow(0))/2; S2 = (dayhigh(1)+daylow(1))/2; S3 = dayhigh(1); S4 = daylow(1); plot1(dayclose(1)+abs(S3-S4)*(Per1/100)); plot2(dayclose(1)-abs(S3-S4)*(Per1/100));
프로필 이미지
회원
2017-03-16
124
글번호 107854
시스템
답변완료

부탁 합니다

똑 같은 수익인데 실시간 전략차트에서 봉개수 3000개으로 설정하면 진입하고 다음봉에 청산되버리고 봉개수 10000개으로 설정하면 정상적으로 신호가나옵니다 첨부파일 같이 올렸습니다 왜 이런 경우가 생기는 걸까요?? 다른설정을 변경한건 전혀 없습니다 10분봉수가 3000개면 데이터량으론 충분할건데,,이유를 모르겠습니다
프로필 이미지
마도로스77
2017-03-15
126
글번호 107853
시스템
답변완료

수식

macd 오실레이트에 아래수식을 같이넣어주세요 시그날은 제외시키고 오실레이트,중심선 포함해서 macd를 아래수식으로해주세요 Input : shortPeriod(12), longPeriod(26); Var : value(0); value = MACD(shortPeriod, longPeriod); if value > value[1] Then plot1(value,"macd",red); Else plot1(value,"macd",BLUE);
프로필 이미지
태조산
2017-03-15
127
글번호 107852
지표
답변완료

수식 부탁 드립니다

장시작시나 시간보정시 var2와 var1값이 100 에서 시작하게되있는데 100을없애고 그냥 var2값을 var1과 동일하게시작하게 일치시켜주세요 감사합니다(제가전 질의에 표현이 잘못되었네요) ------------------------------------------------------------------ Input: 시간보정(0),보정후변화(0),호가더하기(0),지수더하기(0),보정치(0),폭보정(1.5),지수호가테마LENGTH1(10),순매수LENGTH2(10),급변(0.05) ,순매수테마보정한계(0.3),순매수테마급증보정(0.5),순매수테마급감보정(0.5) ,지수테마보정한계(0.3),지수테마급증보정(0.5),지수테마급감보정(0.5) ; var : AsksMA(0),BidsMA(0), Period(1),idx(0),EP(0),E11(0),E12(0),E13(0),E21(0),E22(0),E23(0); Var : value(0); Var : valuec(0); var : va61(0); var : va71(0); var : va80(0); var : va81(0); var : va90(0); var : va91(0); var : va92(0); var : va93(0); var : va94(0); var : va95(0); var : va96(0); VAR : TEMA1(0); VAR : TEMA2(0); VAR : TEMA3(0); VAR : vmin(0); VAR : vmax(0); BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); value = ma(bids,period)-ma(asks,period)+29000; Plot2(BidsMA, "매수잔량이평"); Plot3(AsksMA, "매도잔량이평"); Plot4(value, "차"); //************************************************************** //************************************************************* va91=((c-c[1])/c[1]*100)*20000/20000; va93=((value-value[1])/value[1]*70)*125/2900; if stime == 시간보정*100 or (stime > 시간보정*100 and stime[1] < 시간보정*100) or Bdate != Bdate[1] Then{ PLOT62(100,"시간보정"); idx = 0; var1 = 100; var2 = var1; plot10(var1); plot11(var2); plot51(var2 +호가더하기/1000 ); } Else{ idx = idx+1; var1 = var1+(var1*(va91/100)); if abs(va96[10]-va96) <= 보정치 Then var2 = var1; // if var2[5] > var1[5] then var2 = var2 - ( var2[5] - var1[5] ); // if var2[5] < var1[5] then var2 = var2 + ( var1[5] - var2[5] ); else var2 = var2+(var2*(va93/95)); plot10(var1+지수더하기/1000 ); plot11(var2+호가더하기/1000 ); plot51(var2+호가더하기/1000 ); TEMA3 = (3 * Ema(var2+호가더하기/1000 ,순매수LENGTH2)) - (3 * Ema(Ema(var2+호가더하기/1000 ,순매수LENGTH2),순매수LENGTH2)) + (Ema(Ema(Ema(var2+호가더하기/1000 ,순매수LENGTH2),순매수LENGTH2),순매수LENGTH2)); if TEMA3 >TEMA3[1]+순매수테마보정한계 then TEMA3 = ((TEMA3 -TEMA3[1])*순매수테마급증보정)+TEMA3[1]; if TEMA3 <TEMA3[1]-순매수테마보정한계 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*순매수테마급감보정); if TEMA3 >TEMA3[1]+50 then TEMA3 = ((TEMA3 -TEMA3[1])*0.9)+TEMA3[1]; if TEMA3 <TEMA3[1]-50 then TEMA3 = TEMA3[1]-((TEMA3[1] -TEMA3)*0.9); plot52(TEMA3,"순매수테마"); } if var2-var1 > 폭보정 Then var2=var1; if var1-var2 > 폭보정 Then var2=var1; //if va71[1] < va71 and va71[1] + 0.05 > va71 then var2=var1; //if va71[1] > va71 and va71[1] - 0.05 > va71 then var2=var1; EP = 2/(지수호가테마LENGTH1+1); if idx == 0 Then{ E11 = var1; E21 = var2; } Else{ E11 = var1 * EP + E11 * (1-EP); E21 = var2 * EP + E21 * (1-EP); } if idx <= 1 Then{ E12 = E11; E22 = E21; } Else{ E12 = E11 * EP + E12 * (1-EP); E22 = E21 * EP + E22 * (1-EP); } if idx <= 2 Then{ E13 = E12; E23 = E22; } Else{ E13 = E12 * EP + E13 * (1-EP); E23 = E22 * EP + E23 * (1-EP); } TEMA1 = (3 * E11) - (3 * E12) + (E13); if TEMA1 >TEMA1[1]+지수테마보정한계 then TEMA1 = ((TEMA1 -TEMA1[1])*지수테마급증보정)+TEMA1[1]; if TEMA1 <TEMA1[1]-지수테마보정한계 then TEMA1 = TEMA1[1]-((TEMA1[1] -TEMA1)*지수테마급감보정); if TEMA2 >TEMA2[1]+지수테마보정한계 then TEMA2 = ((TEMA2 -TEMA2[1])*지수테마급증보정)+TEMA2[1]; if TEMA2 <TEMA2[1]-지수테마보정한계 then TEMA2 = TEMA2[1]-((TEMA2[1] -TEMA2)*지수테마급감보정); TEMA2 = (3 * E21) - (3 * E22) + (E23); PLOT30(TEMA1+지수더하기/1000 ,"지수테마",iff((TEMA1 +지수더하기/1000 )>(TEMA1 +지수더하기/1000)[1]+00,BLACK,iff((TEMA1 +지수더하기/1000 )<(TEMA1 +지수더하기/1000 )[1]-00,BLACK,BLACK))); PLOT31(TEMA2 +호가더하기/1000,"호가테마"); vmin = min(TEMA1+지수더하기/1000 ,TEMA2+호가더하기/1000 ); vmax = max(TEMA1+지수더하기/1000 ,TEMA2+호가더하기/1000 ); if TEMA1+지수더하기/1000> TEMA2+호가더하기/1000 Then{ var80 = (TEMA1+지수더하기/1000- TEMA2 +호가더하기/1000 )*0.5+TEMA2+호가더하기/1000 ; } if TEMA1 < TEMA2+호가더하기/1000 Then{ var80 = (TEMA2+호가더하기/1000 -TEMA1+지수더하기/1000)*0.5+TEMA1+지수더하기/1000 ; } PLOT17(var80,"지호평균"); //테마합 일정 수량차이상의 급등락 표시 if TEMA3 > TEMA3[1]+ 급변 Then{plot21(vmin-0.05,"급등");} if TEMA3 < TEMA3[1]- 급변 Then{plot22(vmin-0.05,"급락");} va71 =( TEMA2+호가더하기/1000 - TEMA1+지수더하기/1000 )+100.3; if va71[1] < va71 Then{ PLOT25((vmin )-0.05,"매수예비"); //PlaySound("C:₩예스트레이더₩data₩Sound₩pp.wav"); } if va71[1] > va71 Then{ PLOT26((vmin )-0.05,"매도예비"); // PlaySound("C:₩예스트레이더₩data₩Sound₩dingdong.wav"); } PLOT60(va71,"55"); //if CrossUp (( TEMA2+호가더하기/1000 ),(TEMA1+지수더하기/1000)) Then{ //if sTime > (시간보정*100) and (TEMA1+지수더하기/1000)+보정후변화 < ( TEMA2+호가더하기/1000 ) and //(TEMA1+지수더하기/1000)[1] > (TEMA1+지수더하기/1000) //if (TEMA1+지수더하기/1000)[1]+0.0 < (TEMA1+지수더하기/1000) and va71[1]-0.01 < va71 if ( TEMA2+호가더하기/1000 )[1]+급변 < ( TEMA2+호가더하기/1000 ) then { PLOT45((vmin )-0.01,"매수막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } // CrossDown (( TEMA2+호가더하기/1000 ),(TEMA1+지수더하기/1000)) Then{ //if sTime > (시간보정*100) and (TEMA1+지수더하기/1000)-보정후변화 > ( TEMA2+호가더하기/1000 ) and //(TEMA1+지수더하기/1000)[1] < (TEMA1+지수더하기/1000) //if (TEMA1+지수더하기/1000)[1]-0.0 > (TEMA1+지수더하기/1000) and va71[1]+0.01 > va71 if ( TEMA2+호가더하기/1000 )[1]-급변 > ( TEMA2+호가더하기/1000 ) then { PLOT46((vmin )-0.01,"매도막대"); PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav"); } if va71[1]+급변 < va71 Then { PLOT18((va71 )+0.01,"매도"); } if va71[1]-급변 > va71 Then { PLOT19((va71 )+0.01,"매수"); } va96 = (tema1 - tema2)*1000; PLOT61(va96,"66",iff(va96 > 0,RED,iff(va96 < 0,BLACK,BLACK))); PlotBaseLine1(100,"기준선100"); if stime == 시간보정*100 then { PLOT62(100,"시간보정"); }
프로필 이미지
leekss1
2017-03-15
99
글번호 107851
지표
답변완료

당일 중심선문의

분봉에서 당일 중심선을 수평으로 긋고 그 아래부분만 색깔을 칠해 달리 표현하고싶습니다 수고하세요
프로필 이미지
황금소나무
2017-03-15
167
글번호 107850
지표