커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

다음 수식의 종목 검색식을 문의드립니다. LR = LRS(30); CrossUp(LR, 0) and MFI(30)<50
프로필 이미지
redcon
2022-11-13
813
글번호 163758
종목검색
답변완료

지표

*항상감사합니다. 수식첨삭부탁드립니다. 1]아이콘표시 2]타주기에도 표시부탁드립니다. 3]정한데이타와 오늘시가의 수식부탁드립니다. ex) 기존수식)Plot6(O2,"시2") Plot7(H2,"고2") Plot8(L2,"저2") Plot9((H2+L2)/2,"중2") Plot10(C2,"종2") 첨삭수식) O2+오늘시가/2 H2+오늘시가/2 L2+오늘시가/2 (H2+L2)/2+오늘시가/2 C2+오늘시가/2 *varO2에 오늘시가를 나누워 보았읍니다 4]강조수식입니다. 2022년10월9일 2022년11월5일 2022년12월15일 등 . . . . 지정한 날짜의 캔들bar가 색칠되는 수식 부탁드립니다. (*bar위에 아이콘 표시도 부탁드립니다.) 만들어주신 이전수식] input : 시작일1(20210102),종료일1(20210230); input : 시작일2(20210228),종료일2(20210330); var : O1(0),H1(0),L1(0),C1(0); var : O2(0),H2(0),L2(0),C2(0); if sDate != sDate[1] and sDate >= 시작일1 and sDate[1] < 시작일1 Then { O1 = O; H1 = h; L1 = L; } if O1 > 0 then { if sDate <= 종료일1 Then { if H > H1 Then H1 = H; if L < L1 Then L1 = L; C1 = C; } Plot1(O1,"시1"); Plot2(H1,"고1"); Plot3(L1,"저1"); Plot4((H1+L1)/2,"중1"); Plot5(C1,"종1"); } if sDate != sDate[1] and sDate >= 시작일2 and sDate[1] < 시작일2 Then { O2 = O; H2 = h; L2 = L; } if O2 > 0 then { if sDate <= 종료일2 Then { if H > H2 Then H2 = H; if L < L2 Then L2 = L; C2 = C; } Plot6(O2,"시2"); Plot7(H2,"고2"); Plot8(L2,"저2"); Plot9((H2+L2)/2,"중2"); Plot10(C2,"종2"); }
프로필 이미지
호정0688
2022-11-13
828
글번호 163757
지표
답변완료

시스템수식

수식부탁드림니다. 일봉으로 11월첫시가매수 11월마지막종가매도 12월첫시가매수 12월마지막종가매도 01월첫시가매수 01월마지막종가매도 매년3개월만 반복 매매합니다. 위수식부탁드림니다. 감사합니다
프로필 이미지
큰바위얼굴
2022-11-13
866
글번호 163756
시스템
답변완료

문의드립니다.

수고많으십니다. 장대양봉이나 장대음봉이 나올 때 꼭지에서 매수(매도)신호 나오는 것을 막기위해 문의를 통해 아래 수식을 적용해보니 30틱 이하 양봉에서도 매수1 이 나옵니다. 그리고 장대봉에서 나오지 않더라도 그 다음봉 이후 10틱을 넘어야 신호가 나와야 하는데 이또한 적용이 되지 않습니다. 이부분 세밀하게 한번 봐주시면 감사하겠습니다. var : NN(30),MM(10); if 매수조건 then{ if (C < O+PriceScale*NN) Then Buy("매수1"); Else Buy("매수2",AtStop,C+PriceScale*MM); } 30틱 이상 양봉시 매수하지 말라는 조건에 걸려 해당봉에서는 매수신호가 나오지 않았으나 그 다음봉에서 원래의 매수조건을 만족하면 그다음봉 이후 10틱이상시 매수라는 조건을 만족하지않고도 신호가 나오는듯 보입니다. ★ 제가 원하는 진입로직을 재정리해서 문의드리고자 합니다 ★ 30틱 이상 양봉일 때 매수조건을 만족하더라도 신호가 안나왔다가 이후 "5개봉 이내에서" 원래 매수조건을 만족하고 신호가 나올려고 했던 봉의 종가 기준으로 10틱 이상 상승하면 즉시 신호가 나오는 식입니다. 늘 노고에 감사드립니다~
프로필 이미지
카르마다
2022-11-13
738
글번호 163755
시스템
답변완료

문의 드립니다.~~~~

CNE 거래시 아래식에서 매매시작시간과 종료시간을 설정하고 싶은데 도움 바랍니다. input&#160;:&#160;N(10); if&#160;NextBarSdate&#160;!=&#160;sDate&#160;Then { &#160;&#160;&#160;&#160;&#160;&#160;Buy("b1",AtStop,NextBarOpen+PriceScale*n); &#160;&#160;&#160;&#160;&#160;&#160;Sell("s1",AtStop,NextBarOpen-PriceScale*n); } Else { &#160;&#160;&#160;&#160;&#160;&#160;if&#160;MarketPosition&#160;<=&#160;0&#160;or&#160;(MarketPosition&#160;==&#160;1&#160;and&#160;MaxEntries&#160;<&#160;3&#160;and&#160;h&#160;<&#160;DayOpen+PriceScale*10)&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Buy("b2",AtStop,DayOpen+PriceScale*n); &#160;&#160;&#160;&#160;&#160;&#160;if&#160;MarketPosition&#160;>=&#160;0&#160;or&#160;(MarketPosition&#160;==&#160;-1&#160;and&#160;MaxEntries&#160;<&#160;3&#160;and&#160;L&#160;>&#160;DayOpen-PriceScale*10)&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Sell("s2",AtStop,DayOpen-PriceScale*n); }
프로필 이미지
예스요
2022-11-13
929
글번호 163754
시스템
답변완료

문의드립니다.

30분봉기준입니다. 일봉기준 전일부터 10일내 전일종가 대비 29% 상승 ==>기준봉 당일 저가가 기준봉 중심선(전종+당일종가)/2 하단이고 스톡케스틱 (80,5)가 10 이하 1. 검색식 2. 지표식은 당일 조건에 만족하는 캔들의 저가선을 장마감까지 그어지게 부탁드립니다. 감사합니다.
프로필 이미지
부양가족
2022-11-13
730
글번호 163753
지표

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2022-11-13
10
글번호 163752
시스템
답변완료

수식 문의 드립니다

input : starttime(153000),endtime(630000),n(30); var : Tcond(false),hh(0),h1(0),ll(0),l1(0); if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; hh = h; ll = l; h1 = hh[1]; l1 = ll[1]; } if h > hh Then hh = h; if l < ll Then ll = l; if tcond == true and h1 > 0 and l1 > 0 then { if crossup(C,l1+(h1-l1)*1.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then buy(); if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.382+PriceScale*n) Then buy(); if CrossDown(C,l1+(h1-l1)*1.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then sell(); if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.000-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.382-PriceScale*n) Then sell(); } if MarketPosition == 1 then { if crossup(c,h1+PriceScale*1) Then exitlong(); if CrossDown(c,l1-PriceScale*1) Then exitlong(); } if MarketPosition == -1 then { if crossup(c,h1+PriceScale*1) Then ExitShort(); if CrossDown(c,l1-PriceScale*1) Then ExitShort(); } -------------------------- 위 수식어의 매매시간이 15:30~ 아침 06:30 까지인데 아침 06:30 에 오버없는 강제청산을 추가를 부탁드립니다. 한번 부탁드린적 있었는데 강제청산이 없어서 다시 올려봅니다. 아래는 청산이 안되었던 79482번의 답변입니다. input : starttime(153000),endtime(630000),n(30); var : Tcond(false),hh(0),h1(0),ll(0),l1(0); if Bdate != Bdate[1] Then SetStopEndofday(630000); if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { SetStopEndofday(0); Tcond = true; hh = h; ll = l; h1 = hh[1]; l1 = ll[1]; } if h > hh Then hh = h; if l < ll Then ll = l; if tcond == true and h1 > 0 and l1 > 0 then { if crossup(C,l1+(h1-l1)*1.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then buy(); if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.236+PriceScale*n) Then buy(); if crossup(C,l1+(h1-l1)*-0.382+PriceScale*n) Then buy(); if CrossDown(C,l1+(h1-l1)*1.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then sell(); if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.000-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.236-PriceScale*n) Then sell(); if CrossDown(C,l1+(h1-l1)*-0.382-PriceScale*n) Then sell(); } if MarketPosition == 1 then { if crossup(c,h1+PriceScale*1) Then exitlong(); if CrossDown(c,l1-PriceScale*1) Then exitlong(); } if MarketPosition == -1 then { if crossup(c,h1+PriceScale*1) Then ExitShort(); if CrossDown(c,l1-PriceScale*1) Then ExitShort(); } 미리 감사드립니다.
프로필 이미지
푸른
2022-11-14
906
글번호 163751
시스템
답변완료

추세선 이동

input : Period(5),선두께(2); Var:상승색(red), 하락색(blue); input : 틱1(0),틱2(1); Var:j(0),T(0),txx(0),txxx(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),TL9(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); r[0] = 0; r[1] = 2; r[2] = 3.; r[3] = -1; r[4] = -2.; r[5] = 1; r[6] = 0.5; For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } #Text_Delete(txx); Txx = Text_New(date11,time11,Value11+PriceScale*7,"●"); Condition99 = true; Text_SetColor(Txx,Red); Text_SetStyle(Txx,2,2); Text_SetSize(txx,30); if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then { Condition99 = False; Text_Delete(txx); } if abs(value11[1]-value12[1]) < 1 Then Text_Delete(txxx); txxx = Text_New(date11,time11,Value11,NumToStr(abs(value11-value12),2)); Text_SetStyle(txxx,2,1); Text_SetBold(txxx,1); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,15); } } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then { Condition99 = False; Text_Delete(txx); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } Text_SetString(txxx,NumToStr(abs(value11-value12),2)); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Blue); Text_SetSize(txxx,15); } } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } Condition1 = False; if Condition99 == true and Loval[0] >= Loval[1]-PriceScale*틱1 Then { Condition99 = False; Text_Delete(txx); } if abs(value11[1]-value12[1]) < 1 Then Text_Delete(txxx); txxx = Text_New(date11,time11,Value11,NumToStr(abs(value11-value12),2)); Text_SetStyle(txxx,2,3); Text_SetBold(txxx,1); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Red); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Red); Text_SetSize(txxx,15); } } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); Text_SetString(txxx,NumToStr(abs(value11-value12),2)); if abs(value11-value12) < 1 Then { Text_SetColor(Txxx,Red); Text_SetSize(txxx,25); } Else { Text_SetColor(Txxx,Red); Text_SetSize(txxx,15); } } } TL_SetSize(TL1,선두께); 1.추세선과 캔들이 겹쳐 서로 잘 안보이므로, 왼쪽으로 5봉 정도 추세선 이동. 2.지금은 추세선 크기가 1p에 도달하면 색상과 크기가 바뀌는데, 이것을 그 추세가 끝나고 역으로 전환할 때 색상과 크기를 바뀌게 하여, 크기가 1p 이상은 표기하고 1p 이하는 지우기로 수정. 감사합니다.
프로필 이미지
고성
2022-11-13
853
글번호 163750
지표