커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

안녕하세요. 문의드립니다.

안녕하세요. 문의 드립니다. 아래 식에 추가하고 싶은 사항이 있어서 부탁드립니다. 파동의 고가와 저가가 표현되는 식입니다. 1. 직전 파동이 완성되면 해당 파동의 고가와 저가의 피보나치 비율을 추가하여 38.2% 자리와 50% 61.8% 자리를 직전파동의 고저가 확정되면 우측에 표현하고 싶습니다. 안되는 기능이면 패스해도 됩니다. 2. 가격이 120 이평 아래에 위치할 경우 올라올때 38.2% 자리를 터치하면 매도신호가 발생. 매도 보유중에 50% 까지 올라오면 손절(주석으로 부탁드립니다.) 매도 보유중에 20틱 이상 수익 발생시 20틱 수익시에는 진입가로 다시 올라오면 청산/ 20틱 이상 수익 발생시에는 수익 틱만큼 익절가격이 올라가야 합니다. ex) 20틱 수익 TS익절=0 / 최고수익틱 30틱 TS익절=10틱 가격이 120 이평 위에 위치할 경우 내려올때 38.2% 자리를 터치하면 매수신호가 발생. 매수 이후 50% 까지 내려오면 손절. 포지션이 있을경우는 신규진입하지 않아야 합니다. 포지션이 청산되고 없을때 다음 조건만족시 진입식 부탁드립니다. 늘 수고많으시고 감사드립니다. Input:length(12); 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),color(0),T(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); 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 고점[1,1] > 고점[2,1] or 고점[2,1] == 0 Then { color = MAGENTA; #buy("b"); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL1,color); 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]; } } } 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); 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 저점[1,1] < 저점[2,1] or 저점[2,1] == 0 Then { color = CYAN; #sell("s"); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL1,color); 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_SetSize(TL1,3); if color != color[1] Then { var1 = 0; var2 = var1[1]; var3 = var2[1]; if T == -1 and var2 == 1 and var3 >= 3 Then sell("s1"); if T == 1 and var2 == 1 and var3 >= 3 Then buy("b1"); } if T != T[1] Then { var1 = var1+1; } if MarketPosition == 1 and t == -1 Then { ExitLong("bx",AtStop,저점[2,1]-PriceScale*1); } if MarketPosition == -1 and t == 1 Then ExitShort("sx",AtStop,고점[2,1]+PriceScale*1);
프로필 이미지
생생파생
2019-03-29
365
글번호 127470
지표
답변완료

문의

아래는 10회 거래하는 수식입니다. 패한 횟수가 2회가 누적되면 당일 거래중지하는 수식부탁드리며 input에도 반영바랍니다, input:누적패수(2) ************************************************************************************* input : HighLine(300.50),LowLine(300.00),n(10),시간(90000); var : HH(0),LL(0),gap(0),T(0),T1(0),Entry(0),tcond(false); gap = HighLine-LowLine; if Bdate != Bdate[1] Then Tcond = false; if (sdate != sdate[1] and stime >= 시간) or (sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then{ Tcond = true; T = 0; T1 = TotalTrades; if O > highLine Then{ var1 = Ceiling(abs(O-HighLine)/Gap); HH = HighLine+gap*var1; LL = HH-gap; } else{ var1 = Floor(abs(O-HighLine)/Gap); HH = HighLine-gap*var1; LL = HH-gap; } } if Tcond == true then{ if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if T == 0 and crossup(C,HH) Then{ T = 1; var2 = HH; HH = var2+gap; LL = var2-Gap; } if T == 0 and CrossDown(C,LL) Then{ T = -1; var2= LL; HH = var2+Gap; LL = var2-Gap; } if T != 0 and crossup(C,HH) Then{ T = 1; var2 = HH; LL = var2-Gap; HH = var2+gap; if entry < n then buy(); } if T != 0 and CrossDown(C,LL) Then{ T = -1; var2 = LL; HH = var2+Gap; LL = var2-Gap; if entry < n then sell(); } }
프로필 이미지
목마와숙녀
2019-03-29
361
글번호 127469
시스템
답변완료

문의 드립니다

안녕하세요 항상 감사드립니다 제가 스토캐스틱 값이 20 위로 돌파시 매수 80 밑으로 돌파시 매도 수식으로 매매를 하고 있습니다 여기에 이평선의 값 을 넣어 보고싶습니다 *주가가 120 이평선 위에 있을때 스토값이 30 위로 돌파시 매수 80 밑으로 돌파시 매도 *주가가 120 이평선 밑에 있을때 스토값이 20 위로 돌파시 매수 70 밑으로 돌파시 매도 이렇게 수식을 작성하고 싶습니다 어떻게 추가를 해야 할까요 도와주세요 Input : Period(10), Period1(6), Period2(6); value1 = StochasticsK(Period,Period1); value2 = StochasticsD(Period,Period1,Period2); # 매수 If CrossUP(value1,20) Then { Buy(); } # 매도 If CrossDown(value1,80) Then { sell(); }
프로필 이미지
부는바람
2019-03-29
367
글번호 127468
시스템
답변완료

차트 주기가 다른 것을 같이 조합해서 검색 할 수 있나요?

예스트레이더 편집기에서 Find 문으로 검색식을 작성할 때, 차트 주기가 다른 것을 조합해서 검색할 수 있나요? 예를들어, 아래와 같은 조건으로 검색할 수 있는지요? 일봉 기준으로 종가 5일 단순이동평균선 보다 크면서 5분봉 기준으로 20 이동평균선을 상향돌파한 종목 검색
프로필 이미지
Nuno
2019-03-28
438
글번호 127467
검색

브이 님에 의해서 삭제되었습니다.

프로필 이미지
브이
2019-03-28
0
글번호 127466
시스템
답변완료

61916 번 수식 검토 부탁드립니다

각 15분간의 고가와 저가 그리고 상하 대칭값을 그리는 수식을 만들어주신대로 적용한바 아래와 같이 저가와 고가가 체크되지 않는 현상 발생 감사합니다 ------------------------------------------------------------------------------------ 안녕하세요 예스스탁입니다. input : 타주기분(15); var : S1(0),D1(0),TM(0),TF(0),idx(0),h1(0),l1(0); if (Bdate != Bdate[1]) or (sdate != sdate[1] and stime >= 180000) or (sdate == sdate[1] and stime >= 180000 and stime[1] < 180000) Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } if (sdate != sdate[1] and stime >= 180000) or (sdate == sdate[1] and stime >= 180000 and stime[1] < 180000) Then idx = 0; if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { idx = idx+1; if idx%2 == 1 Then H1 = H; Else L1 = L; } if idx%2 == 1 and H > H1 Then H1 = H; if idx%2 != 1 and L < L1 Then L1 = L; plot1(H1); plot2(L1); plot3(H1+(H1-L1)); plot4(L1-(H1-L1)); } 즐거운 하루되세요 > 타이쿤 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 1. 주간시장 오전 9시00분 부터 9시15분까지 최고가(H1)를 그린다 오전 9시15분 부터 9시30분까지 최저가(L1)를 그린다 H1과 L1의 상방대칭을 그린다 H1과 L1의 하방대칭을 그린다 위와 같은 방식으로 오전 9시00분 부터 15시45분(오후3시 45분) 까지 매 15분마다 최고가,최저가,상방대칭,하방대칭을 그린다 2. 야간시장 위와 같은 방식으로 오후 6시00분 부터 익일 오전 5시 까지 매 15분마다 최고가,최저가,상방대칭,하방대칭을 그린다 감사합니다
프로필 이미지
회원
2019-03-28
507
글번호 127464
지표
답변완료

지표값 관련 질문입니다.

지표를 만들고 지표를 차트에 추가한후, 지표설정에서 "마지막 지표값 표시"를 체크하면 지표값이 나오잖아요. 거기서 지표값이 나오는데, 형식을 지정하는 방법이 있나요? 20000326 >> 20,000,326 이런식으로요... 수치가 크면 빠르게 알아보기가 힘들어서요.
프로필 이미지
운짱이
2019-03-29
374
글번호 127463
지표
답변완료

해외선물입니다. 만기 일주일전에 청산하는 수식~~

해외선물입니다.(쿠루드오일) 매수후 청산이 좀 길게 되는 경우가 있어서 매월 특정일(만기일)되기 일주일전에 무조건 청산하는 수식을 반영할수 있게 아래식에 반영 바람니다. Input: Period1(3),Period2(3),LPercent(13),SPercent(94),최대누적횟수(5); input : N1(1),N2(10); Input : P1(5),P2(4); Input : P3(0.6); var : MoneyFlow1(0),MoneyFlow2(0); var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),avg3(0),T(0),mav2(0),mav3(0),value(0),RSIV(0),Simri(0),CCIv(0); var : sum3(0),Tcond(false); MoneyFlow1 = MFI(Period1); MoneyFlow2 = MFI(Period2); if DayClose(N2) > 0 Then { sum1 = 0; sum2 = 0; for cnt = 0 to N2-1 { if cnt < N1 Then sum1 = sum1 + DayClose(cnt); if cnt < N2 Then sum2 = sum2 + DayClose(cnt+1); } avg1 = sum1/N1; avg2 = sum2/N2; T = 0; if avg1 >= avg2 Then T = 1; if avg1 < avg2 Then T = -1; if T>=0 Then { if MoneyFlow1 < LPercent and c<c[1] and MaxEntries < 최대누적횟수 Then buy("b"); } if MarketPosition == 1 and MoneyFlow2 >= SPercent Then ExitLong("x",OnClose,def,"",min(CurrentContracts, Ceiling(MaxContracts*P3)),2); SetStopProfittarget(P1,PercentStop); SetStopLoss(P2,PercentStop); }
프로필 이미지
이형지
2019-03-28
411
글번호 127462
시스템

목마와숙녀 님에 의해서 삭제되었습니다.

프로필 이미지
목마와숙녀
2019-03-28
0
글번호 127457
시스템