커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

박스 시작라인

input : Period(120),틱1(4),틱2(5); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),tl9(0), date21(0),date22(0),time21(0),time22(0),txx(0), vTL(0), vTL9(0),txxx(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),tx4(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); var : upt(0),dnt(0),box(0); Plot1(value12); 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]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; Condition3 = False; if Condition3 == False and Value12 <= value11-0.5 and value12 < DayHigh-0.8 Then { Tx4=Text_New(date11,time11,value11+PriceScale*2,"●"); Condition3 = true; Text_SetStyle(tx4,2,2); Text_SetColor(tx4,Black); Text_SetSize(tx4,35); } Txx = Text_New(date11,time11,loval[0]-PriceScale*8,"●"); 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); PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav"); } Text_Delete(dnt); var1 = loval[0]-loval[1]; dnt = Text_New(date12,time12,value12,NewLine+NumToStr(abs(var1/PriceScale),0)+" "); Text_SetColor(dnt,iff(var1>0,Red,Blue)); Text_SetStyle(dnt,1,1); Text_SetSize(dnt,35); Text_SetBold(dnt,1); Box_Delete(box); Condition88 = False; if Condition88 ==False Then { if value12 <= value11-0.9 Then { Condition88 = true; box = Box_New(date11,time11,value11,date12,time12,value12); Box_SetColor(box,Lime); Box_SetFill(box,true,30); Box_SetExtFill(box,true); } } } Else { If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date22 = date[0]; time22 = stime[0]; var1 = loval[0]-loval[1]; Text_SetLocation(dnt,date12,time12,value12); Text_SetString(dnt,NewLine+NumToStr(abs(var1/PriceScale),0)+" "); Text_SetColor(dnt,iff(var1>0,Red,Blue)); Text_SetStyle(dnt,1,1); Text_SetSize(dnt,35); Text_SetBold(dnt,1); if Condition88 ==False Then { if value12 <= value11-0.9 Then { Condition88 = true; box = Box_New(date11,time11,value11,date12,time12,value12); Box_SetColor(box,Lime); Box_SetFill(box,true,30); Box_SetExtFill(box,true); } } Else Box_SetEnd(box,date12,time12,Value12); } if Condition3 == False and Value12 <= value11-0.5 and value12 < DayHigh-0.8 Then { Tx4 =Text_New(date11,time11,value11+PriceScale*2,"●"); Condition3 = true; Text_SetColor(Tx4,Black); Text_SetStyle(tx4,2,2); Text_SetSize(tx4,35); } TL_Delete(tl); if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then { Condition99 = False; Text_Delete(txx); PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav"); } } } If T == 1 Then { If T[1] != 1 Then { if Condition3 == true Then Text_Delete(tx4); 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]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; if Condition99 == true and Loval[0] >= Loval[1]-PriceScale*틱1 Then { Condition99 = False; Text_Delete(txx); } Text_Delete(upt); var1 = hival[0]-hival[1]; upt = Text_New(date12,time12,value12,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Red,Blue)); Text_SetStyle(upt,2,0); Text_SetSize(upt,35); Text_SetBold(upt,1); Box_Delete(box); Condition88 = False; if Condition88 ==False Then { if value12 >= value11+0.9 Then { Condition88 = true; box = Box_New(date11,time11,value11,date12,time12,value12); Box_SetColor(box,Magenta); Box_SetFill(box,true,30); Box_SetExtFill(box,true); } } } Else { If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date32 = date[0]; time32 = stime[0]; var1 = hival[0]-hival[1]; Text_SetLocation(upt,date12,time12,value12); Text_SetString(upt,NumToStr(abs(var1/PriceScale),0)+" "+NewLine); Text_SetColor(upt,iff(var1>0,Red,Blue)); Text_SetStyle(upt,2,0); Text_SetSize(upt,35); Text_SetBold(upt,1); if Condition88 == False Then { if value12 >= value11+0.9 Then { Condition88 = true; box = Box_New(date11,time11,value11,date12,time12,value12); Box_SetColor(box,Magenta); Box_SetFill(box,true,30); Box_SetExtFill(box,true); } } Else Box_SetEnd(box,date12,time12,Value12); } } } 박스가 시작되는 왼쪽 라인을 추세선 시작지점부터가 아니고, 이후에 0.9p 도달된 지점부터 박스 표시. 0.9p 변동시에 박스 표시가 아님 (추세선 전체 박스가 아님). 표시 시점이 아닌 표시 지점이 중요. 0.9p 변화 이전 부분은 무표시이고 0.9p 변화 이후 부분만 박스 표시 부탁드립니다. 자꾸 죄송합니다
프로필 이미지
고성
2023-02-16
893
글번호 166395
지표
답변완료

Data1, Data2 신호 매수

시스템 운용시, 봉 완성시 매수 또는 매도 진입하게 되어있는데 Data2 신호 발생 즉시, Data1에서 바로 매수하는 방법은 없을까요~!?
프로필 이미지
카카보오12
2023-02-16
875
글번호 166394
시스템

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

프로필 이미지
신대륙발견
2023-02-16
19
글번호 166393
지표
답변완료

문의드립니다

input : Period(9); var1 = PVI+NVI; Var2 = ma(PVI,Period)+ma(NVI,Period); Var3 = min(var1,Var2); Plot1(var1); Plot2(var2); Plot3(var3); 수고고하십니다 일전에 알려주신 지표인데 시스템식을 부탁드립니다 Plot1이 Plot2 보다 골드면 매수진입 매도청산 Plot1이 Plot2 보다 데드면 매도진입 매수청산 이런 시스템을 부탁 드립니다 항상 감사합니다
프로필 이미지
cjfdk
2023-02-16
918
글번호 166392
시스템
답변완료

문의 드립니다.

20 이평선 120 이평선 정배열이면서 120이평선 기울기가 상향 이어야 하고 주가가 20 이평선 아래서 위로 돌파 시 매수 진입 청산은 주가가 20이평선 아래로 돌파 시 매도 청산 완료 20 이평선 120 이평선 역배열이면서 120이평선 기울기가 하향 이어야 하고 주가가 20 이평선 위에서 아래로 돌파 시 매도 진입 청산은 주가가 20이평선 아래로 돌파 시 매수 청산 완료 부탁드립니다.
프로필 이미지
선물대장
2023-02-16
1128
글번호 166391
시스템
답변완료

문의드립니다.

안녕하세요. 매수: 음봉 뒤에 ( 첫양봉 종가 < 2번째 양봉 종가)를 만족하는 양봉 2개가 연속 발생하면 제 1 대양봉 이라고 정의 합니다. 이 때 대양봉 시가 = 첫양봉 시가 대양봉 종가 = 두번쩨 양봉 종가 대양봉 몸통 길이 = 대양봉 종가 - 대양봉 시가 대양봉 중간 값 A = 대양봉 시가 + (대양봉 몸통 길이)/2 라고 합니다. 제1 대양봉이 만들어진 이후에 음봉이 발생하고 응봉의 시가가 대음봉 중간값 A를 하방으로 깨면 제 1 대양봉은 성립이 취소 됩니다. 제1 대양봉이 성립되고 다시 음봉 뒤에 양봉이 2개 연속인 제 1 대양봉 같은 제2 대양봉이 생기면 매수합니다. 청산: 매수 후에 가장 최근에 발생한 양봉의 종가를 2개 구합니다. 최근 양봉A 종가> 2번째 최근 양봉B 종가 를 만족하는 최근 양봉 2개의 중간값C = 2번째 최근 양봉B 시가 + ( 최근 양봉A 종가- 2번째 최근 양봉B 시가)/2 매수후에 종가가 아닌 현재가가 최근 양봉 2개의 중간값C 를 하방으로 깨면 청산합니다. 매도:반대 논리로 부탁드립니다.
프로필 이미지
종호
2023-02-16
953
글번호 166390
시스템
답변완료

타 PC간 데이터 문제.

안녕하세요 현재 2개의 PC로 전략을 검증하고 있는데. 괴리감이 너무 커서 이렇게 질문을 드립니다. 현재 마이크로나스닥 틱을 통해 거래하고자 하여, 차트 셋팅시, 시장시간 기준 으로 체크하고, 캔들로드갯수 (분봉도 마찬가지) 동일, 틱데이터의 주기 또한 동일하게 A컴퓨터,B컴퓨터 셋팅하여 동일전략 (봉완성시 기준)으로 처리 하였으나, 수익률에 대한 차이가 엄청납니다... A,B 각각 PC의 데이터를 동일화 시킬 방법이 뭐가 있을까요??
프로필 이미지
카카보오12
2023-02-16
849
글번호 166389
시스템
답변완료

함수요청

안녕하세요? 매수 진입가보다 낮으면 매수청산 매도 진입가보다 높으면 매도청산 을 청산조건에 포함하고 싶습니다.
프로필 이미지
흰둥이아빠
2023-02-16
1269
글번호 166385
시스템
답변완료

문의드립니다.

안녕하세요 나스닥 60분봉을 테스트 중인데 최대 기간이 2016년으로 지정되어있습니다 예스스탁이 만들어 진지가 2000년 초반인데 혹시 나스닥 60분봉을 16년 보다 더 앞쪽부터 받을 수 있을까요?? 혹은 구매가 가능한가요?? 추가 기간을 더 테스트 하고싶은데 없어서요..
프로필 이미지
회원
2023-02-16
1519
글번호 166381
시스템