커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

항상 감사하며 문의드립니다

5이평선이 20이평선을 상향돌파한 이후 돌파시점의 캔들 종가-0.5포인트에서 매수 진입하고 진입한 캔들의 다음 캔들에서 종가로 청산하고 모든 데이터를 초기화하여 다시 이평 상향 돌파를 대기하는 시스템 수식을 문의 드립니다. 만약 진입가가 '종가-0.5포인트' 이런식으로 안된다면 종가 진입하는 것으로 작성하시면 됩니다. 감사합니다.
프로필 이미지
미래자유인
2017-04-07
197
글번호 108551
시스템
답변완료

부탁 드립니다.

변환 부탁 드립니다. 미리 감사 드립니다. 수식1) e=3.14; MA= WAVG(C,2); RBW= 5*MA; MA= WAVG(MA,2); RBW= RBW + 4*MA; MA= WAVG(MA,2); RBW= RBW + 3*MA; MA= WAVG(MA,2); RBW= RBW + 2*MA; MA= WAVG(MA,2); RBW= RBW + MA; MA= WAVG(MA,2); RBW= RBW + MA; MA= WAVG(MA,2); RBW= (RBW+MA)/20; RBWS= (Sum(RBW - LOWEST(RBW, P30), P5)/ (Sum(HIGHEST(RBW, P30) - LOWEST(RbW, P30), P5) + 0.0001)*100);
프로필 이미지
yes
2017-04-07
207
글번호 108550
지표
답변완료

문의드립니다

1. 그림에 보면 다른지표들말구요 밴드형태인데 아래쪽엔 빨간색 위쪽엔 파란색으로 띠 형태로 된 것요~ 이 지표식을 좀 알고 싶은데요 저도 그림만 봐서 변수까지는 모르겠구요 어떤 지표식을 사용한 건지 모르겠네요; 문의 드릴게요~ 알 수 없다면 어떤지표를 가지고 저런식으로 만들 수 있는지 대략적이라도 안내 좀 부탁드립니다~ 2. if MarketPosition != 0 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+90 Then{ ExitLong("H롱시간청산"); ExitShort("H숏시간청산"); } 위식을 사용중인데요 해외선물에서 밤12시넘어가니깐 제대로 안먹히네요 수정좀 부탁드립니다.~
프로필 이미지
겐지
2017-04-07
288
글번호 108549
지표
답변완료

부탁드립니다

1. 진행되고 있는 60분봉의 고점,저점, 중간값에 우측으로 연장된 수평선을 긋고 그 값을 표시하고 싶습니다 부탁드립니다 (현재시간이 10시 16분이라면 9시~10시의 60분 캔들봉의 고가,저가,중간값에 우측으로 연장된 선을 긋고 그 가격을 표시함) 2.아래수식에서 지그재그선이 계속 나오는데요 진행중인 현재시점에서 마지막에 나온 고점과 저점을 이은 선의 중간값에 수평선과 그 값을 표시하고 싶습니다(1번과 동일) 부탁드립니다 Input:length(12),X(1); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0); Array:고점[10,2](0),저점[10,2](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then TL_Delete(TL2); } if X == 1 Then TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); if H < 고점[2,1] Then TL_SetColor(TL1,red); Else TL_SetColor(TL1,MAGENTA); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; TL_SetExtLeft(TL2,false); TL_SetExtRight(TL2,false); if X == 1 Then TL2 = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL2,BLUE); TL_SetExtLeft(TL2,true); TL_SetExtRight(TL2,true); } } } If 처리구분 == "저점처리" Then { lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then TL_Delete(TL3); } if X == 1 Then TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL1,blue); if L > 저점[2,1] Then TL_SetColor(TL1,blue); Else TL_SetColor(TL1,cyan); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(저점[1,1],2)); Text_SetStyle(Text1, 2, 0); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; TL_SetExtLeft(TL3,false); TL_SetExtRight(TL3,false); if X == 1 Then TL3 = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL3,RED); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL3,true); } } } TL_SetSize(TL1,3); TL_SetSize(TL2,2); TL_SetSize(TL3,2);
프로필 이미지
마르뚝
2017-04-07
216
글번호 108548
지표
답변완료

부탁드립니다.

안녕하세요. 초보라서 더 이상 수식을 작성할 수가 없네요. 부탁 좀 드리겠습니다. 일목균형의 선행들과 파라볼릭으로 시스템을 돌릴려고 했는데요. 일단 제가 조합한 수식은 아래와 같습니다. -------------------------------------------- Inputs: shortperiod(10), midperiod(250), longperiod(410),af(0.1), maxAF(0.155); VAR1 = (Highest(High, shortperiod) + Lowest(Low, shortperiod)) / 2; VAR2 = (Highest(High, midperiod) + Lowest(Low, midperiod)) / 2; VAR4 = (VAR1 + VAR2) / 2 ; VAR5 = (Highest(High, longperiod) + Lowest(Low, longperiod)) / 2; VAR6 = SAR(af,maxAF); IF C > VAR6 AND VAR4 > VAR5 Then { Buy(); } IF C < VAR6 Then { SELL(); } ---------------------------------------- 질문1) 거래시간을 조절하고 싶습니다. 오후6시부터 ~ 오후11시까지 거래가 되고 11시가 되면 강제청산이 됐으면 좋겠습니다. 질문2) 첨부사진 처럼 1에서 BUY가 나와서 진입이 된 상태인데 2번구역에서 파라볼릭이 바뀌면서 청산을 시키고 싶습니다. 즉, BUY의 청산과 SELL의 청산을 각각 따로 어떻게 하는지를 모르겟네요..
프로필 이미지
Argo
2017-04-07
194
글번호 108547
시스템
답변완료

예스랭귀지 초보적인 질문입니다..

var : count(0) , idx (1), Entriestoday(0) ; if EntryDate(0) == 0 Then count = 0 ; if EntryDate(0) == sDate Then count = 1 ; While EntryDate(idx) == sDate { count = count + 1 ; idx = idx + 1 ; } Entriestoday = count ; 위의 당일진입횟수 함수를 인터넷에서 찾아서 예스랭귀지에서 검증했을 때 "함수가 값을 리턴하고 있지 않습니다. 함수는 반드시 값을 리턴해야 합니다." 라고 뜨는데 예스랭귀지나 기타 다른 언어도 하나도 모르는 까막눈이라 여기에 질문드립니다.. 어떻게 하면 저 함수에서 저러한 오류가 뜨지 않게 만들수 있나요? 또한 한가지 추가로 더 여쭙고 싶은게 있습니다.. 일반적인 entriestoday 함수 input : ndate(Numeric); var : count (0); count = 0 ; for value1 = 0 to 10 { if EntryDate(value1) == ndate Then count = count + 1 ; } EntriesToday = count; 에서.. ndate 는 새로 만든 변수인가요 아니면 sdate처럼 오늘 날짜를 뜻하는 것인가요? 그리고 input : ndate(Numeric);이라는 변수는 input : ndate(0);과 무슨 차이가 있는지요?
프로필 이미지
정현웅
2017-04-07
198
글번호 108546
사용자 함수
답변완료

문의 드립니다

안녕하세요 아래 수식에서 고점과 저점이 확정되기 전에 첨부한 차트와 같이 지그재그 파동선이 미리 그어지는데 미리 그려지는 순간에 소리가 나게 부탁드립니다. 감사합니다. ==================== Input:length(5); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),처리구분(""), TL_Val1(0),TL_Val2(0); var : T(0),LTL1(0); var : HTL1(0); Array:고점[10,2](0),저점[10,2](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); if T[1] != 1 Then{ TL_SetExtRight(LTL1,False); LTL1 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]); TL_SetExtRight(LTL1,true); } If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; } } } If 처리구분 == "저점처리" Then { T = -1; lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); if T[1] != -1 then{ TL_SetExtRight(HTL1,false); HTL1 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]); TL_SetExtRight(HTL1,true); } If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; } } } TL_SetSize(TL1,1); TL_SetColor(TL1,white); TL_SetColor(LTL1,green); TL_SetColor(HTL1,yellow); TL_SetSize(LTL1,1); TL_SetSize(HTL1,1);
프로필 이미지
동해바다01
2017-04-06
378
글번호 108545
지표
답변완료

수식문의

5.20.60 테마선이 양일때는 붉은선이 나오고 음일때는 푸른색으로 선이 나타나도록 부탁드릴게요, 그리고 그옆에 테마선값이 숫자로 나왓어면 좋겟습니다
프로필 이미지
레전드
2017-04-07
199
글번호 108544
지표
답변완료

부탁합니다

5분봉차트에 30분봉 삼각가중이평선 10일선을 그리고 싶습니다 부탁합니다
프로필 이미지
매화산삼
2017-04-06
214
글번호 108543
지표