커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 추가 부탁드립니다.

아래의 파동선식에서 저점이 높아졌을 때와 고점이 낮아졌을 때의 수식을 작성할수가 없군요.저점이 높아졌을 때 하늘색 수평선(굵기3)으로 알려주고 고점이 낮아졌을 때 검은색 수평선(굵기3)으로 알려주는 수식을 추가 부탁드립니다. 감사합니다. ======================================================================================== Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0), Text1(0),처리구분(""); Array:고점[10,2](0),저점[10,2](0); //가격,위치 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1], sDate[eBar],sTime[eBar],고점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1], NumToStr(고점[1,1],4)); Text_SetStyle(Text1, 2, 1); } } If 처리구분 == "저점처리" Then { lastLoVal = L; If 저점[1,2] < 고점[1,2] then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1], sDate[eBar],sTime[eBar],저점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1], NumToStr(저점[1,1],4)); Text_SetStyle(Text1, 2, 0); } } TL_SetSize(TL1,3); TL_SetColor(TL1,CYAN); ===================================================================================== 감사합니다.
프로필 이미지
매버릭
2016-05-03
152
글번호 97651
지표
답변완료

재 질문입니다.

수고가 많으십니다. 47297번의 재 문의 입니다. 작성해 주신 수식으로 프로그램을 돌려 보니 잘 맞지 않아 다시 요청 합니다. 다소 번거롭겠지만 당초것과 변경된 내용을 만들었습니다. 그리고 조건이 나왔을때 차트모습도 캡쳐해 올렸으니 참고해 보세요. 항상 친절하고 신속하게 처리해 주심 감사 드립니다.
프로필 이미지
매의눈
2016-05-03
123
글번호 97650
시스템
답변완료

지표식 부탁해요

삼성전자와 코스피200을 같이 띄어 놓고 이격도를 만들수는 없다는 답변을 받았습니다 그럼 삼성전자 차트 하나만 올리고 코스피200 또는 선물 차트를 같이 올리지 않고 수식으로 데이터만 가지고 와서 삼성전자와의 이격도를 산출 하는 방법을 알려 주세요 감사합니다.
프로필 이미지
하나일
2016-05-02
129
글번호 97649
지표
답변완료

부탁 드립니다.

47496 재질문 입니다. 예를 들어 1분봉 차트에서 점1)->지정된 시간의 종가1(예,20160428일 180000~180100사이에 생성된봉의 종가) 점2)->지정된 시간의 종가2(예,20160428일 235000~235100사이에 생성된봉의 종가) 점1)과 점2) 연결하는 선을 그을수 있겠는지요? 주) 가능하다면 점1과 점2를 지나고 현재 시간까지의 연장선을 추가 미리 감사와 경배 드립니다. 참고수식) Var : cond5(false); var99=20160428; var21=200000; var22=200100; if sdate == var99 and (stime == var21 or (stime > var21 and stime[1] < var21)) then{ cond5 = true; } if stime == var22 or (stime > var22 and stime[1] < var22 ) Then Cond5 = false; if cond5 == true then{
프로필 이미지
yes
2016-05-03
124
글번호 97648
지표
답변완료

47932재질문좀드리겠습니다^^

주문함수의 이름을 가변으로 가져갈수는 없습니다. 목표수익틱수는 외부변수로 설정해 드립니다. 해당 틱수로 변경하시면 청산의 이름을 직접 변경하셔야 합니다. input : P(20),시작시간(150000),끝시간(0),목표수익틱수(10); var : T(0),Tcond(false); var1 = ma(C,P); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then Tcond = true; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then{ Tcond = false; exitlong("bx"); ExitShort("sx"); } if L > var1 Then T = 1; if H < var1 Then T = -1; if Tcond == true then{ if T == 1 and T[1] == -1 Then buy(); if T == -1 and T[1] == 1 Then sell(); if MarketPosition == 1 Then exitlong("매수10틱청",AtStop,EntryPrice+PriceScale*목표수익틱수); if MarketPosition == -1 Then ExitShort("매도10틱청",AtStop,EntryPrice-PriceScale*목표수익틱수); } 작성해주신 거 정말감사합니다^^ 다름이아니라..적용해본결과 확정신호 후 10틱청산 이라는부분이 조금 애매한듯 해서 재질문드립니다 매수는 봉의최고점에서 매도는 봉의최저점에서 10틱을 잡아야되는거같은데 매수는,봉의최저점,매도는,봉의최고점에서 현제 10틱으로해서 청산 표시가 나타나는듯하여 재질문드립니다^^수정좀 부탁드리겠습니다~ 혹..매수든 매도든 10틱만 표시되게 말고 10틱,20틱 은 같이는 구현이 불가능할까요~? 현제는 목표수익틱수가 10틱만 있으니 20틱까지만이라도 표시가 &#46124;으면해서요^^.. 아 그리고 청산 좀 추가좀부탁드리겠습니다 매수를 진입했을경우 반대 포지션으로 빠질경우 화살표 밑에 부분에서 같이 청산표시(스위칭)할경우 같이 생겼으면 좋겠습니다 예시:매수 진입중 반대로 매도화살표가뜨면 매도화살표 위든밑에든 손절 이라는 단어가 드러갔으면좋겠습니다 오늘하루도 즐거운하루되시기를바라겠습니다 항상감사합니다^^
프로필 이미지
곽민수
2016-05-03
140
글번호 97647
시스템
답변완료

수식 문의 드립니다.

안녕하세요.. 선물분봉(1분봉)에서 당일 장이 시작되고 저가대비 +1.0 포인트 상승하면 매도 고가대비 -1.0 포인트 하락하면 매수하는 수식을 문의 드립니다. 즉 시가 250.00 에 장이 시작하여 249.50 까지 밀렸다가 250.50을 찍으면 250.50에 매도를 들어갑니다. 그러다가 상승을 많이 해서 손절되고 고가 252.00 을 찍고 251.00 까지 밀리면 251.00 에 매수합니다. 즉 시가대비 얼마 오르고 내리고가 아니고 장시작후 진행되는 당일의 저가비 +1포인트 고가비 -1 포인트에 진입하는 것입니다. 하루 최대 매매횟수는 조건이 맞으면 매수딱한번, 매도딱한번 최대 2번만 합니다. 수익은 0.5포인트 손실도 0.5 포인트.. 매매시간은 장이 시작한후 오후 1시까지만 진입하고 진입후 오후1시까지 손절 또는 익절이 나지 않으면 종가 청산 합니다. 수고하세요.
프로필 이미지
우주비행
2016-05-02
131
글번호 97622
시스템
답변완료

macd 다이버전스 및 골든크로스 검색식

1.macd 일봉기준 12,26,9(가중) 2.macd 0 이하 종목만 검색 3.봉수와 기간에 상관없이 3번째 골든크로스가 발생하는 종목 (연속 비연속 상관없음 중간에 데드크로스가 있어도 3번째 골든크로스가 발생하고 이전 골든크로스 지점보다 높으면 됨. 이게 어려우시면 연속 3번 골든크로스로 만들어주세요) 4.두번째 골든크로스는 첫번째보다 저점이 더 높고 세번째 골든크로스도 두번째보다 저점 상승하는 종목 대략 만들어서 사진첨부합니다. 부탁드려요.
프로필 이미지
신데렐라맨
2016-05-02
320
글번호 97609
종목검색
답변완료

추적청산 수식

안녕하세요 추적청산 수식에 관해서 수식의 의미와 해당수식의 뜻을 알고자 문의드립니다. Input : AtrMult(5.0); Var : PosHigh(0), PosLow(0); If DayIndex==0 then {If C>O then Buy(); Else Sell();} Poshigh = Highest(H,BarsSinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition <> 0 then { ExitLong("El_추적ATR",Atstop,PosHigh-ATR(20)*AtrMult); ExitShort("ES_추적ATR",Atstop,PosLow+ATR(20)*AtrMult); } 이수식은 제가 수업중에 듣게 된 수식인데 이수식이 가지고있는 각 행마다의 의미를 알고싶어서 문의 드립니다.
프로필 이미지
김태진
2016-05-02
165
글번호 97604
시스템
답변완료

글번호 47457번 재질문

안녕하세요? 글번호 47457번 답변감사드립니다. 그런데 답변이 글번호 47456번 답변과 동일합니다. 다시 요청드립니다. 아래의 식을 글번호 47444번 답변과 같이 답변을 부탁드립니다. 아래의 함수는 당일에 주가 5ma와 20m가 골든크로스 발생되고 상승각도 정배열일 때 매수진입, 당일에 데드크로가 발생되고 하락각도 역배열일 때 매도진입을 하되 크로스 발생되고 처음 신호가 나오고 1%이상 움직이고 익봉에서 주문을 처리하고자합니다. 즉, 골든크로스발생->매수신호발생->1%상승한 익봉에 주문발송 데드크로스발생->매도신호발생->1%하락한 익봉에 주문발송 input : xtime(60000); var : tcond(false),cond1(false),cond2(false); if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S");
프로필 이미지
통큰베팅
2016-05-02
119
글번호 97603
시스템