커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

고저가 라인

input : Period(120),선두께(2); Var:상승색(Red), 하락색(Blue); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0); var : tl(0),tl1(0),tl2(0),tl3(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Plot1(0); 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]; } 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 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]; } 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); } } TL_SetSize(TL1,선두께); var : hh(0),ll(0); if Bdate != Bdate[1] Then { TL_Delete(tl2); TL_Delete(tL3); hh = 0; ll = 0; } if T == 1 and date32 == sDate Then { if hh == 0 or (hh > 0 and value12 > hh) Then { hh = value12; TL_Delete(tl3); TL3 = tl_new(date32,time32,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL3,true); TL_SetColor(tL3,Red); TL_SetSize(TL3,선두께); } } if T == -1 and date22 == sDate Then { if ll == 0 or (ll > 0 and value12 < ll) Then { ll = value12; TL_Delete(tl2); TL2 = tl_new(date22,time22,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL2,true); TL_SetColor(tL2,Blue); TL_SetSize(TL2,선두께); } } 고저가를 갱신할 때만 교체하는 당일 고저가 라인을, 개별 추세선 고저가 라인으로 변경. 돌파 붕괴와 관계없이, 추세선이 전환될 때마다 모든 추세선의 상,하단에서 고저가 라인 생성해서, 하단은 다음 하단, 상단은 다음 상단 라인이 생성될 때까지 우측 수평 연장후 모두 저장하기로 변경. 고가라인, 저가라인 색상 별도. 감사합니다.
프로필 이미지
고성
2023-02-19
1710
글번호 166434
지표
답변완료

다음내용 수정 부탁드립니다.

안녕하세요? 아래 내용에서 2일선 기준 +1.25 , +2.5와 -1.25, -2.5 라인을 추가해주시면 대단히 감사하겠습니다. 번거롭게해서 죄송하고요 늘 도와주심에 감사드립니다. 즐거운 주말 되세요. input : 예상가(401),P1(2),P2(3),P3(5),굵기(5); input : R1(255),G1(0),B1(0),R2(204),G2(0),B2(204),R3(102),G3(102),B3(102); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); var : TL1(0),TL2(0),TL3(0); if Index == 0 or (sTime >= 152000 and sTime[1] < 152000) Then { var1 = sDate; Var2 = stime; } if NextBarStime == 154500 Then { sum1 = 0; sum2 = 0; sum3 = 0; For cnt = 0 to max(P1,P2,P3) { if cnt < P1 Then { if cnt == 0 Then sum1 = sum1 + 예상가; if cnt == 1 Then sum1 = sum1 + NextBarOpen; if cnt >= 2 Then sum1 = sum1 + DayClose(cnt-1); } if cnt < P2 Then { if cnt == 0 Then sum2 = sum2 + 예상가; if cnt == 1 Then sum2 = sum2 + NextBarOpen; if cnt >= 2 Then sum2 = sum2 + DayClose(cnt-1); } if cnt < P3 Then { if cnt == 0 Then sum3 = sum3 + 예상가; if cnt == 1 Then sum3 = sum3 + NextBarOpen; if cnt >= 2 Then sum3 = sum3 + DayClose(cnt-1); } } mav1 = sum1/P1; mav2 = sum2/P2; mav3 = sum3/P3; if var1 > 0 and Var2 > 0 Then { if mav1 > 0 Then { TL1 = TL_New(var1,Var2,mav1,sDate,sTime,mav1); TL_SetColor(TL1,RGB(R1,G1,B1)); TL_SetSize(TL1, 굵기); } if mav2 > 0 Then { TL2 = TL_New(var1,Var2,mav2,sDate,sTime,mav2); TL_SetColor(TL2,RGB(R2,G2,B2)); TL_SetSize(TL2, 굵기); } if mav3 > 0 Then { TL3 = TL_New(var1,Var2,mav3,sDate,sTime,mav3); TL_SetColor(TL3,RGB(R3,G3,B3)); TL_SetSize(TL3, 굵기); } } } Else { if sTime < 102000 Then { TL_SetBegin(TL1,var1,Var2,mav1); TL_SetEnd(TL1,sDate,sTime,mav1); TL_SetBegin(TL2,var1,Var2,mav2); TL_SetEnd(TL2,sDate,sTime,mav2); TL_SetBegin(TL3,var1,Var2,mav3); TL_SetEnd(TL3,sDate,sTime,mav3); } }
프로필 이미지
포보스
2023-02-17
1278
글번호 166431
지표
답변완료

함수요청

안녕하세요? 조건이 A, B, C 있습니다. 매수신호가 생성되기 위해서는 1. A and C 혹은 B and C입니다. 2. A or C 그리고 B or C입니다. 1번 2번의 각 샘플을 부탁드립니다.
프로필 이미지
흰둥이아빠
2023-02-17
1128
글번호 166430
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2023-02-17
20
글번호 166427
지표
답변완료

문의드립니다

input : signal(10); var1 = OBV; Var2 = Ema(var1,signal); if CrossUp(var1,Var2) Then Buy(); if CrossDown(var1,Var2) Then Sell() 만들어 주신 시스템 수식인데 너무너무 감사하게 사용하고 있습니다 여기에 한가지를 더 추가 해서 부탁드립니다 매수신호 같은 경우 5일 이동평균선이 직전 봉 보다 하락 하고 있으면 신호가 안 나오고 이평선이 직전 봉 보다 상승 일 때만 매수신호가 나오게 부탁드립니다 매도 신호도 5이평선이 직전 봉 보다 하락 일 때만 매도 신호가 나오게 부탁 드립니다 감사합니다
프로필 이미지
cjfdk
2023-02-17
1087
글번호 166424
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2023-02-17
21
글번호 166423
지표
답변완료

참조 프로그램

안녕하세요? 10분 챠트 시스템 프로그램에서 30분봉 참조하는 수식 부탁드립니다 30분봉 프로그램 if dayindex>=4&&dayindex<=13&&h>T11153h then T11153h=h; //11:00~15:30 최고가
프로필 이미지
변일구
2023-02-17
1206
글번호 166415
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2023-02-17
26
글번호 166414
지표
답변완료

Data1과 Data2의 분봉 데이터로 만든 지표의 Range 산출 방식_재질문

안녕하세요 질문을 드렸었는데 식이 구현이 잘 안되어서 다시 요청드렸으나 두번째도 반영이 잘 안되어서요 제가 직접 아주조금 수정을 하고 나머지 부분만 마저 부탁드리고싶어서 질문 남겼습니다ㅜㅜ 아래의 식은 5분봉 data1, data2로 만든 지표 입니다(두 차트의 비율을 분봉으로 구한 공식) 답변주신 내용대로 이 비율의 고점과 저점을 빼줌으로써 당일의 그 범위를 아래와같이 구할수 있게 되었습니다(물론 당일의 최종 비율은 종가가 되어야 알 수 있습니다.) 그런데 여기서 이 종가때 구해진 값들로 이평선을 만들고 싶은데 그게 잘 구현이 안되네요. 즉, 요약하자면 1) Data1, Data2의 5분봉 데이터는 종가가 되어야 그 비율의 범위값(Range)을 구할수있음 2) 그 종가에 나온 범위값들의 평균(이평선)을 구하길 원함 ex) 편의상 2일 이평이라고 치고 2/12 종가에 측정된 범위값(Range)는 0.76 2/13 종가에 측정된 범위값(Range)는 0.59 2/14 종가에 측정된 범위값(Range)는 0.75 2/15 종가에 측정된 범위값(Range)는 0.89 만약 이렇다고 가정하면 12일과 13일의 평균은 13일의 종가가 끝난다음에 알수있으니까 14일 차트에 12일 값 0.76과 13일 값 0.59의 평균인 0.675가 나오게 되고 15일 차트에 13일 값 0.59와 14일 값 0.75의 평균인 0.67이 나오게 되고 16일 차트에 14일 값 0.75와 15일 값 0.89의 편균인 0.82가 나오게 되는 방식으로 부탁드립니다. 아래의 코딩은 당일의 Range를 종가에 구현이 되는것까지는 완료가 되었는데 n일 이평은 구현이 계속 안되어서 안되는 부분은 지운 후에 설명을 추가하여 다시 요청드립니다~ 바쁘실텐데 번번히 요청드려 죄송합니다.. ---------------------------------------------------------------------- input : N(3); var : 비율(0,Data1),dd(0,data1),cnt(0,data1),hh(0,Data1),ll(0,Data1); var : sum(0,Data1),mav(0,Data1); Array : RR[100](0,Data1); 비율 = data2(c)/c*100; if data1(Bdate != Bdate[1]) Then { dd = dd+1; hh = 비율; ll = 비율; For cnt = 99 DownTo 1 { RR[cnt] = RR[cnt-1]; } } if hh > 비율 Then hh = 비율; if ll < 비율 Then ll = 비율; RR[0] = ll-hh; Plot1(RR[0],"당일 Range");
프로필 이미지
퀀트드래곤
2023-02-17
1277
글번호 166413
지표