커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수정부탁드립니다.

매번 성실한 답변에 감사드립니다. 1) 아래검색식변경을 부탁드립니다 당일 검색을 변수를 사용하여 n일부터 당일까지 검색하도록 변경 부탁드립니다. 2) 지표식으로 분봉상 당일 20bbup > 80bbup 상태일때 20bbup과 80bbup의 중심선을 긋는 지표식 부탁드립니다. 감사합니다. input : n(24); var4 = BollBandup(20,2); var5 = BollBandup(80,2); var6 = BollBandup(240,2); if date != date[1] Then{ Var10 = 1; } condition1 = c > highest(c,N)[1] ; ##24봉중-최고가 Condition2 = crossup(c,var5); Condition3 = crossup(h,var6*0.99); ##주가-240bbup돌파 if countif(Condition1 == true and Condition3 == true and c > o and c > l*1.015 and var4 > var6*0.8 and dayopen < dayclose(1)*1.15 and var4 > var4[1] and var4[1] <= var6[1] and c >= var5,var10) then{ var10 = var10+1; find(1); }
프로필 이미지
부양가족
2015-11-02
187
글번호 91924
종목검색
답변완료

문의드립니다--참조Data의 전일고점

주종목 참조Data1---Data2 참조Data2---Data3 위와같이 화면을 구성했을때 주종목의 전일고점은 DayHigh(1)로 찾는건 알겠는데 Data2, Data3의 전일고점은 어떻게 찾을수 있는지요? Data2(DayHigh[1])로 했더니 당일의 고점을 찾아오더군요. 참조Data의 전일고점은 찾을수가 없는건지요?
프로필 이미지
열공부자
2015-11-01
200
글번호 91923
지표
답변완료

문의드립니다

안녕하세요. 1. 현물에서는 주가 가격대에 따라 한호가의 가격이 다른데 가격대 상관 없이 1호가를 지칭하는 함수가 있나요? 2. 어떤 출력값이 10,510원이라면 이값은 10,500원과 10,550원 사이에 있고 가까운 호가가 10,500원이 됩니다. 이럴 때 출력값을 가까운 호가인 10,500원으로 정하는 함수가 있나요? 수고하세요.
프로필 이미지
land22
2015-11-01
205
글번호 91922
지표
답변완료

문의드립니다.

1.당일 rsi 40하향돌파가 두번째 나온 이후.. 이평 1선이 5선 골든크로스 매수.이평 1선이 10선 골든크로스 매수. 당일 저가 손절. 당일 rsi 60상향돌파가 두번째 나온 이후.. 이평 1선이 5선 데드크로스 매도.이평 1선이 10선 데드크로스 매도. 당일 고가 손절. 당일 손절,익절 합산해서 50틱 수익이면 캔들 진행중에도 청산. 당일 자동거래 완전종료. (목표수익확보되면 자동거래 신호나오도 거래되면 안되는겁니다.) 시간은 오전 7시부터 새벽 5시 30분까지 해주세요.그안에 목표수익확보되지 않았다면 새벽 5시30분 청산및 거래종료. 2. 당일 이평 5선이 20선 골든크로스돌파 매수. 데드크로스돌파 매도. (당일 골든크로스.데드크로스를 다섯번째 돌파 할때는 매수든 매도든 2개씩 진입하게 해주세요.)다섯번전까지는 1개씩 진입.다섯번째 후부터는 2개씩 진입.이 말입니다. 당일 손절,익절 합산해서 30틱 수익이면 캔들 진행중에도 청산. 당일 자동거래 완전종료. (목표수익확보되면 자동거래 신호나오도 거래되면 안되는겁니다.) 시간은 오전 7시부터 새벽 5시 30분까지 해주세요.그안에 목표수익확보되지 않았다면 새벽 5시30분 청산및 거래종료. 수고하세요.
프로필 이미지
아침한때비51
2015-11-02
194
글번호 91921
지표
답변완료

행복; 지표식 작성 바랍니다

한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 지표식 작성 바랍니다 아래의 지표식은 "테마별지수차트"와 관련된 지표식 입니다 주기는 10분봉 입니다 =======< 아래 >============================================================ < 자동차테마 > data1 ; 종합주가지수 data2 ; 현대차 data3 ; 현대모비스 data4 ; 기아차 data5 ; 현대위아 data6 ; 현대글로비스 Input : 현대차주식수(100000000), 현대모비스주식수(70000000), 기아차주식수(50000000) , 현대위아주식수(30000000), 현대글로비스주식수(20000000) ; Var : 자동차테마시총(0), 현대차시총(0), 현대모비스시총(0), 기아차시총(0) , 현대위아시총(0), 현대글로비스시총(0) ; 현대차시총 = Data2(C) * 현대차주식수 ; 현대모비스시총 = Data3(C) * 현대모비스주식수 ; 기아차시총 = Data4(C) * 기아차주식수 ; 현대위아시총 = Data5(C) * 현대위아주식수 ; 현대글로비스시총 = Data6(C) * 현대글로비스주식수 ; 자동차테마시총 = 현대차시총 + 현대모비스시총 + 기아차시총 + 현대위아시총 + 현대글로비스시총 ; Plot1(자동차테마시총) ; ================================================================================= 상기의 지표식을 수정 바랍니다 < 수정 내용 > - 매일매일 종합주가지수와 자동차테마시총이 아침 시작부터 장 마감 때까지 어떻게 변화하는지를 서로 비교해서 보고자 합니다 - 자동차테마시총 지표를 종합주가지수(data1)에 겹쳐서 볼 것입니다 - 상기의 지표식을 수정하여 - 매일매일 stime == 90000 이 되면, 종합주가지수의 시초가와 자동차테마시총 지표가 같은 지점에서 시작을 하여 stime == 150000 까지 어떻게 변하는지를 보고자 합니다 수고하십시요^^
프로필 이미지
행복한가방
2015-11-01
221
글번호 91920
지표
답변완료

문의드립니다.

선물차트 기준으로 문의드립니다. 1. 현재가가 일목전환선20선, 일목전환선26선, 삼각가중평균30선 의 3가지 선 모두보다 위에 있을때 해당 봉의 아래에 빨강색으로 검색되게 하고, 위 3가지 선 모두보다 아래에 있으면 봉의 위에 파란색으로 검색되게 하고 싶습니다. 수식을 어떻게 작성해야 하는지요? 2. 위의 1식에서 만든 조건에 해당할때의 '첫번째 봉에만 검색'되는 수식을 따로 부탁드립니다. 부탁드립니다. 수고하시고, 감사합니다. !!!
프로필 이미지
해암
2015-11-01
194
글번호 91919
검색
답변완료

함수수정요청(합성11-1호, 전일 양봉시 사용)

안녕하세요? 아래의 함수를 전일 양봉일 때만 당일 사용하도록 수정 부탁드립니다. var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = V2 = V3 = V4 = V5 = V6 = V7 = V8 = V9 = V10 = if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,V7-0.02); if V7 < V8 Then sell("s2",Atlimit,V8-0.02); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9-0.03); ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9-0.03); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); }
프로필 이미지
통큰베팅
2015-10-31
191
글번호 91918
시스템
답변완료

함수수정요청 (합성11-1호, 전일 음봉시 사용)

안녕하세요? 아래의 함수를 전일 음봉일 때만 당일 사용하도록 수정 부탁드립니다. var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = V2 = V3 = V4 = V5 = V6 = V7 = V8 = V9 = V10 = if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,V7-0.02); if V7 < V8 Then sell("s2",Atlimit,V8-0.02); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9-0.03); ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9-0.03); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); }
프로필 이미지
통큰베팅
2015-10-31
198
글번호 91917
시스템
답변완료

신호 표시되는 방식 질문입니다.

예스트레이드에 이미 있는 단순 시스템 'MACD Bullish'를 적용한 차트 일부분입니다. CrossUp 하면, Buy만 하는 식입니다. -------------------------------------------- Inputs: FastMovAvg(12), SlowMovAvg(26), MACDMovAvg(9); Variables: XMACD(0); If Crossup(MACD(FastMovAvg, SlowMovAvg), EMA(MACD(FastMovAvg, SlowMovAvg), MACDMovAvg)[1]) Then Buy ("MACD"); -------------------------------------------- Q1. 이렇게 Buy 한개만 들어가있으면 청산은 어떤 방식으로 일어나는지요? Q2. 그림에서 보면, CrossUp하면 1계약 진입후에, 여러번의 CrossUp CrossDown이 있는 동안, 아무 동작안하다가, 'S'라는 아이콘이 나타납니다. 이게 무슨 의미인가요? Q3. 두번째 그림에서, 1계약 진입후에, 여러번의 CrossUp CrossDown 을 그냥 넘긴후에 'X' 아이콘이 나왔습니다. 매수청산 한 것이라면, 왜 한참 후에 한 것일까요?
프로필 이미지
turn
2015-10-31
215
글번호 91916
시스템