커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

감사합니다

안녕하세요.....글번호71719 데이타2 수식이 제의도한대로잘그려집니다.사진에서 처럼 채우기를 할때에 기둥이생기은 문제을 아래방법으로 해결이 안되서 부탁드립니다. 37번타분봉양봉종가고가에 if MH> OThen 38번타분봉음봉종가저가에 if ML> 0Then 그리고요 40번에 고가를 저가로수정부탁드립니다. 수고하세요.....꾸벅
프로필 이미지
보인다
2021-03-31
1174
글번호 147565
지표
답변완료

감사 합니다, 부탁 드릴께요.

안녕 하세요~~지난 번 수식에 감사 드립니다. 당일 1번 조건. max( avg(C,short), avg(C,mid), avg(C,long)) < min( avg(C,short), avg(C,mid), avg(C,long)) * (1+Percent/100) && C > highest(H(1),5) and avg(V, 5) >= 5000 and V > V(1) * Multiple and C > (highest(high,midPeriod)+lowest(low,midPeriod))/2 and C > avg(C,60) and CrossUp(C,BBandsUp(20, 2)) 지표변수는= short 5 mid 20 long 60 percent 3 Multiple 1.5 midperiod 78 위에 1번 조건과 다음에 2번 조건에서 max( avg(C,short), avg(C,mid), avg(C,long)) < min( avg(C,short), avg(C,mid), avg(C,long)) * (1+Percent/100) && C > highest(H(1),5) and avg(V, 5) >= 5000 and V > V(1) * Multiple and C > (highest(high,midPeriod)+lowest(low,midPeriod))/2 and C > avg(C,60) and CrossUp(C,BBandsUp(20, 2)) and O*1.025 <= H 지표변수는 위에( 1번) 와 동일함. 위 두 조건이 만족 했을때 PredayClose() < C and avg(C(1),5) < avg(C(4),5) and avg(C(1),5) < avg(C,5) and C > avg( C,226) and C > avg( C,60) and avg(C,60) > avg(C(5),60) and C > (highest(high,midPeriod)+lowest(low,midPeriod))/2 지표변수는= midperiod 52 이 조건이 만족 되는 종목을 찾고 싶습니다. *정리 하면, 1번 조건과 2번 조건이 나온 당일 에서 3번 조건이 완성 되는 종목을 찾고 싶습니다. 감사 합니다.
프로필 이미지
hg950265
2021-03-31
1623
글번호 147564
종목검색
답변완료

수식 부탁 드립니다.

키움 시스템 트레이딩 수식 입니다. 수식 변경 부탁 드립니다 A = CCI(9); B = HighestSince(1, date(1)!=date, A); B -150 <= A and Crossdown(RSI(9),35) and A=Stochasticsslow(5,3); B=eavg(A,3); Crossup(A,B)
프로필 이미지
이름이
2021-03-31
1173
글번호 147563
시스템
답변완료

지표

스토게스틱에다가. 현재가를 수평선으로 너을수 있을까요.? 있다면 부탁드립니다.
프로필 이미지
야크
2021-03-31
1070
글번호 147562
지표
답변완료

다시 문의드립니다.

다시한번 문의드립니다. 1. 작성해주신 1번 수식에서 2시간봉 고저 현재값,직전값, 전전값(HH,HH1,HH2 / LL,LL1,LL2)을 구하고 싶어 아래와 같이 변경하였으나 plot5,plot6 값이 plot3, plot4와 같은 값을 보여줍니다. 어떻게 수식을 변경하면 2시간봉 전전 고저 값을 볼 수 있을까요? input : ntime(120); var : S1(0),D1(0),TM(0),TF(0); var : HH(0),HH1(0),HH2(0),LL(0),LL1(0),LL2(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; HH2 = HH[2]; LL2 = LL[2]; } if H > HH Then HH = H; if L < LL Then LL = L; plot1(HH,"최근120분봉고가",WHITE); plot2(LL,"최근120분봉저가",WHITE); plot3(HH1,"직전120분봉고가",YELLOW); plot4(LL1,"최근120분봉저가",YELLOW); plot5(HH2,"전전120분봉고가",GREEN); plot6(LL2,"전전120분봉저가",GREEN); } 2. 작성해주신 시스템 매수손절 수식을 아래의 조건으로 변경 부탁드립니다. a. 매수: 현재 값이 지정한 값 이상(>=)이 될 경우 지정한 값에 즉시 매수 매수 청산: 지정한 값 + 100틱 터치하면 즉시 청산 매수 손절: 가격 하락해서 LL1값 터치하면 즉시 청산 b. 매도: 현재 값이 지정한 값 이하(<=)가 될 경우 지정한 값에 즉시 매도 매도 청산: 지정한 값 - 100틱 터치하면 즉시 청산 매도 손절: 가격 상승해서 HH1값 터치하면 즉시 청산 매수 진입한 상태에서 매도 진입조건을 만족하면 매수청산 또는 매수손절 후 즉시 매도진입(스위칭) 매도 진입한 상태에서 매수 진입조건을 만족하면 매도청산 또는 매도손절 후 즉시 매수진입(스위칭) input : ntime(120); var : S1(0),D1(0),TM(0),TF(0); var : HH(0),HH1(0),LL(0),LL1(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; } if H > HH Then HH = H; if L < LL Then LL = L; #지정값 이하에 있다가 상승해 지정값을 터치하면 즉시 매수진입 if H < 지정값 Then Buy("b",AtStop,지정값); #가격이 하락해 HH1값을 터치하면 즉시 청산 if MarketPosition == 1 and L > HH1 Then ExitLong("bx",AtStop,HH1); } 답변 부탁드립니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의드립니다. > 안녕하세요 예스스탁입니다. 1 해당 수식이 국내종목에 맞춰져 있는 수식입니다. 국내 해외 아래식 이용하시면 됩니다. input : ntime(120); var : S1(0),D1(0),TM(0),TF(0); var : HH(0),HH1(0),LL(0),LL1(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; } if H > HH Then HH = H; if L < LL Then LL = L; plot1(HH,"최근120분봉고가",WHITE); plot2(LL,"최근120분봉저가",YELLOW); plot3(HH1,"직전120분봉고가"); plot4(LL1,"최근120분봉저가"); } 2 신호타입중에 atstop을 사용하시면 됩니다. Buy에서 사용하면 지정한 값 이상의 시세 발생하면 즉시 신호 Sell에서 사용하먄 지정한 값 이하의 시세 발생하면 즉시 신호입니다. input : ntime(120); var : S1(0),D1(0),TM(0),TF(0); var : HH(0),HH1(0),LL(0),LL1(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; } if H > HH Then HH = H; if L < LL Then LL = L; #지정값 이하에 있다가 상승해 지정값을 터치하면 즉시 매수진입 if H < 지정값 Then Buy("b",AtStop,지정값); #가격이 하락해 HH1값을 터치하면 즉시 청산 if MarketPosition == 1 and L > HH1 Then ExitLong("bx",AtStop,HH1); } 즐거운 하루되세요 > 7out 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. 수식 작성 중 두 가지 궁금한 점 있어서 문의드립니다. 1. 1분 차트에서 2시간봉 고저 값 지표가 필요하여 게시판 검색을 통해 발견한 것을 사용하고 있습니다. 그런데 이 수식을 사용 시 한 가지 문제점이 발생하네요. 해외선물 기준 아침 7시부터 2시간씩 고저 값을 표시하면 다음날 아침 5시에서 7시 사이에는 고저 값은 아침 6시부터 7시까지 휴장시간이니 5시부터 6시까지(60분)의 고저 값을 표시해야 하는데 차트를 돌려보니 그렇지가 않네요. 참고로 차트 기준 시간은 서울(우리나라)시간으로 설정했습니다. input : N(120); var : TM(0),T1(0),TF(0); var : HH(0),HH1(0),LL(0),LL1(0); TM = TimeToMinutes(stime); if date != date[1] Then T1 = TM; TF = (TM-T1)%N; if date != date[1] or (date == date[1] and TF < TF[1]) Then{ HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; } if H > HH Then HH = H; if L < LL Then LL = L; plot1(HH,"최근120분봉고가",WHITE); plot2(LL,"최근120분봉저가",YELLOW); plot3(HH1,"직전120분봉고가"); plot4(LL1,"최근120분봉저가"); 2. 시스템 수식 중에 현재 값이 지정한 값 이상(>=)이 될 경우 지정한 가격에 즉시 진입 가능하게 할 방법이 있을까요? 그리고 손절 가격 설정을 1분 차트 기준으로 진입 시 2시간전봉의 고가값 (예: 위의 지표 수식에서 진입 시점의 HH1 값)을 손절로 설정 할 수 있나요? 답변 부탁드립니다. 감사합니다.
프로필 이미지
7out
2021-03-31
1128
글번호 147561
지표
답변완료

잔량컬러표기

수고많으십니다. 아래 내용의 잔량표기에 0선 위에는 연분홍색, 아래는 연소라색을 표기하고자 합니다. RGB 컬러 수치로 변경할 수 있도록 넣어주십시요, 감사드립니다. 꾸뻑 var : diff(0),dh(0),dl(0); var : tx1(0),tx2(0),tx3(0),tx4(0); diff = Bids-Asks; if Bdate != Bdate[1] Then { dh = diff; dl = diff; #봉차트위 출력 tx1 = Text_New(sDate,sTime,H,"최고"); tx2 = Text_New(sDate,sTime,L,"최저"); Text_SetStyle(tx1,2,1); Text_SetStyle(tx2,2,0); #지표위 출력 tx3 = Text_New_Self(sDate,sTime,H,"최고"); tx4 = Text_New_Self(sDate,sTime,L,"최저"); Text_SetStyle(tx3,2,1); Text_SetStyle(tx4,2,0); } if diff > dh Then { dh = diff; Text_SetLocation(tx1,sDate,sTime,H); Text_SetLocation(tx3,sDate,sTime,diff); } if diff < dl Then { dl = diff; Text_SetLocation(tx2,sDate,sTime,L); Text_SetLocation(tx4,sDate,sTime,diff); } Plot1(diff, "호가잔량"); Plot2(dh, "당일최고"); Plot3(dl, "당일최저"); PlotBaseLine1(0); PlotBaseLine2(2000, " 2000"); PlotBaseLine3(3500, " 3500"); PlotBaseLine4(4000, " 4000"); PlotBaseLine5(-2000, " -2000"); PlotBaseLine6(-4000, " -4000"); PlotBaseLine7(-6000, " -6000");
프로필 이미지
포보스
2021-03-31
1095
글번호 147560
지표
답변완료

수식 부탁드립니다.

종목검색시 최근 저점 : value1 = lowest(l,20) ; 최근 저점대비 5% (c>value1*1.05) 한 종목 검색은 안되나요? 이평대비 % (c>ma20*1.05) 는 검색에 나오는데 최근 저가대비 %는 데이터터가 존재하지 않는다고 나옵니다. If c <ma20*0.95 and c>Value1 ==> 20이평대비 5% 작고 최근저점대비 5% 이상 상승한 종목 Then Condition1 = true; if Condition1 == true Then Find(1); 종목검색식 부탁드립니다.
프로필 이미지
chunsk
2021-03-31
1110
글번호 147557
종목검색
답변완료

수식좀 부탁드립니다

5계약으로 진입 매수 매도 매수청산 매도청산 색을 이용하고 있습니다 이평선 5 이평선이 30 이평선 골드시 매수 이평선 5 이평선이 30 이평선 데드시 매도 청산 진입해서 종가상 20 이평선 이탈시 청산 --매수시 진입해서 종가상 20 이평선 돌파시 청산 --매도시 손절은 경우 여려가지 부탁좀 드립니다 아직 어떤것이 좋을지 몰라서요 손절 1 진입하고 진입가 대비 반대로 40틱 이상 올라가면 손절 --매도시 2 진입하고 진입가 대비 반대로 40틱 이상 내려가면 손절 --매수시 3 진입하고 50틱 이상 100틱 이하 수익이 나고 내려오면 10틱 수익청 -- 매수시 4 진입하고 50틱 이상 100틱 이하 수익이 나고 올라오면 10틱 수익청 --매도시 5 진입하고 이후 진입봉기준 5봉이상 돌라가면 손절 --- 매도시 6 진입하고 이후 진입봉기준 5봉이상 내려가먼 손절 -- 매수시
프로필 이미지
kjdkdh
2021-03-31
1207
글번호 147551
시스템
답변완료

수식작성 부탁드립니다

증권사 지표인데 예스랭귀지수식으로 전환 부탁드립니다. 1.Sonar+심리도 Input : _PRICE_( C ), //가격 SonarPeriod(20), //Sonar 기간 SignalPeriod(9), //시그널기간 SimridoPeriod( 10 ), //심리도 기간 _MaType_(0); //이평방법, 0은 단순이평 Vars : SonarValue(0), SimridoValue(0), v0(0), v1(0); v0 = SONAR(_PRICE_, SonarPeriod, _MaType_); SonarValue = MA(v0, SignalPeriod, _MaType_); SimridoValue = Simrido(SonarValue, SimridoPeriod); Plot1(SimridoValue, "Sonar+Simrido"); 2.%B+Stochastics Params : _PRICE_(C), // 가격 Period(20), // 볼린져밴드 적용기간 Mult(2), // 승수 FastKPeriod(14), //스톡캐스틱변수1 SlowKPeriod(3), //스톡캐스틱변수2 SlowDPeriod(3), //스톡캐스틱변수3 _MaType_(0), //이평방법, 0은 단순이동평균 _SignalShow_(1); //지표신호표시 1 Variables : UpLine(0), DownLine(0), MidLine(0), BollValue(0), StoValue(0), v0(0), v1(0), v2(0); UpLine = BBandsUp(_PRICE_, Period, Mult, _MaType_); DownLine = BBandsDown(_PRICE_, Period, Mult, _MaType_); MidLine = BBandsMid(_PRICE_, Period, _MaType_); if ( UpLine - DownLine) <> 0 Then BollValue = ( C - DownLine) / ( UpLine - DownLine) * 100 Else BollValue = 0; v0 = (Highest(BollValue,FastKPeriod)-lowest(BollValue,FastKPeriod)); if v0 <> 0 Then v1 = (BollValue - Lowest(BollValue,FastKPeriod))/ v0 * 100 Else v1 = 0; v2 = MA(v1, SlowKPeriod, _MaType_ ); StoValue = MA( v2, SlowDPeriod, _MaType_ ); Plot1(v2, "%B+Slow%K") ; Plot2(StoValue, "%B+Slow%D") ; // 지표신호 표시 if CrossUp(v2, StoValue) Then Plot3(1) Else if CrossDown(v2, StoValue) Then Plot3(2) Else Plot3(0); 감사합니다.
프로필 이미지
푸른물결
2021-03-31
1326
글번호 147549
지표