커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표 문의 드립니다.

* 좋은 하루 되십시요. * 아래 수식에서 마이너스가 나오는데 외그렇죠? 제 의도는 5봉 기준으로 현재가격이 몇 퍼센트에 위치 하느냐 를 보고 싶은데 잘 안되네요. 즉 현재가(c[1])가 5봉 최하단이면 0 이고 현재가(c[1])가 최상단이면 100 입니다. 어느부분이 잘못 되었나요? <아래수식> var1 = max(c[1],c[2],c[3],c[4],c[5]) ; var2 = Min(c[1],c[2],c[3],c[4],c[5]) ; var3 = (var1+var2) / 2 ; var4 = (C[1]-var3)/var3[1]*100; Plot1(var4) ; * 매번 고맙습니다. 수고하십시요.
프로필 이미지
요타
2020-09-16
809
글번호 142411
지표
답변완료

문의 드립니다

당일중간값을 현재값이 터치했을때 선그래프로 나타나게 할수는 있나요? 수식을 알고 싶습니다
프로필 이미지
처음처럼22
2020-09-16
885
글번호 142410
지표
답변완료

부탁드립니다.

-현재 파라볼릭 최고점과 전 최고점이 아니라 전전 최고점과 현재 시점의 최고점을 서로 연결하는 추세선을 구현해 주세요(바로 앞전 파라볼릭을 하나 건네 뛰는 형식입니다) - 물론 현재 파라볼릭 최저점과 전 최저점이 아니라 전전 최저점과 현재 시점의 최저점을 서로 연결하는 추세선을 구현해 주세요
프로필 이미지
서태공
2020-09-16
887
글번호 142409
지표
답변완료

문의 드립니다

첨부 사진처럼 매 추세선 전고저점에서 한번씩 진입청산이 되어야하는데 드문드문 가끔 한번씩만 실행이 되고 있어 개선부탁드립니다. 정말 감사합니다. Input:length(12); input : 익절틱수(27),손절틱수(25),진입횟수(1); Var : j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0); var : 처리구분(""),TL_Val1(0),TL_Val2(0),color(0),T(0); Array:고점[10,2](0),저점[10,2](0); var : entry(0); if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; 처리구분 = ""; 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 = RED; //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 = blue; //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 T == 1 and CrossUp(C,고점[2,1]) Then { if entry < 진입횟수 Then Buy("b"); Else ExitShort("sx"); } if T == -1 and CrossUp(C,저점[2,1]) Then { if entry < 진입횟수 Then Sell("s"); Else ExitLong("bx"); } SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지
번성
2020-09-16
993
글번호 142408
시스템
답변완료

문의드립니다

항상 도움을 주셔서 감사합니다 아래의 수식에서 BuySetup = false가 되는조건으로 ADXv가 20이하에서 50캔들이상 머무르면 false가 되는 수식을 부탁드립니다. input : Period(14); var : BuySetup1(true),ADXv(0),DP(0),DM(0); ADXv = ADX(Period); DP = DiPlus(Period); DM = DiMinus(Period); if BuySetup == false and CrossUp(ADXv,30) Then Buysetup = True; if ADXv가 20이하에서 50캔들이상 머무르면 Then BuySetup = false;
프로필 이미지
뽄때
2020-09-15
957
글번호 142407
시스템
답변완료

문의드립니다!

먼저 항상 수고해주심에 감사말씀 드립니다! 아래수식에서 Plot6(전일고가), Plot11(천정대칭가격), Plot12(바닥대칭가격)만을 대상으로해서... 이 3개의 선이 캔들과 만나기 N틱전에(예 3틱전) 각각 1)세로선과 2)음성신호가 발생토록 수정 부탁드립니다 * 세로선의 두께와 색상은 조정이 가능하도록 부탁드립니다! 감사합니다!!! -------------------------------------------------------------------------- var : 당일시가(0),전일시가(0),금일종가(0),전일종가(0); var : 금일고가(0),전일고가(0),금일저가(0),전일저가(0); var : 금일중간가격(0),전일중간가격(0),천정대칭가격(0),바닥대칭가격(0); var : Tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0); var : Tx7(0),tx8(0),tx9(0),tx10(0),tx11(0),tx12(0); 당일시가 = dayopen; 전일시가 = dayopen(1); 금일종가 = dayclose; 전일종가 = dayclose(1); 금일고가 = dayhigh; 전일고가 = dayhigh(1); 금일저가 = daylow; 전일저가 = daylow(1); 금일중간가격 = (dayhigh + daylow)/2; 전일중간가격 = (dayhigh(1)+daylow(1))/2; 천정대칭가격 = dayhigh + (dayhigh - dayhigh(1)); 바닥대칭가격 = daylow - (daylow-daylow(1)); Plot1(당일시가); Plot2(전일시가); Plot3(금일종가); Plot4(전일종가); Plot5(금일고가); Plot6(전일고가); Plot7(금일저가); Plot8(전일저가); Plot9(금일중간가격); Plot10(전일중간가격); Plot11(천정대칭가격); Plot12(바닥대칭가격); if Index == 1 or Bdate != Bdate[1] Then { tx1 = Text_New_Self(sDate,sTime,당일시가,"당일시가 "+NumToStr(당일시가,2)); tx2 = Text_New_Self(sDate,sTime,전일시가,"전일시가 "+NumToStr(전일시가,2)); tx3 = Text_New_Self(sDate,sTime,금일종가,"금일종가 "+NumToStr(금일종가,2)); tx4 = Text_New_Self(sDate,sTime,전일종가,"전일종가 "+NumToStr(전일종가,2)); tx5 = Text_New_Self(sDate,sTime,금일고가,"금일고가 "+NumToStr(금일고가,2)); tx6 = Text_New_Self(sDate,sTime,전일고가,"전일고가 "+NumToStr(전일고가,2)); tx7 = Text_New_Self(sDate,sTime,금일저가,"금일저가 "+NumToStr(금일저가,2)); tx8 = Text_New_Self(sDate,sTime,전일저가,"전일저가 "+NumToStr(전일저가,2)); tx9 = Text_New_Self(sDate,sTime,금일중간가격,"금일중간가격 "+NumToStr(금일중간가격,2)); tx10 = Text_New_Self(sDate,sTime,전일중간가격,"전일중간가격 "+NumToStr(전일중간가격,2)); tx11 = Text_New_Self(sDate,sTime,천정대칭가격,"천정대칭가격 "+NumToStr(천정대칭가격,2)); tx12 = Text_New_Self(sDate,sTime,바닥대칭가격,"바닥대칭가격 "+NumToStr(바닥대칭가격,2)); } Else { Text_SetLocation(tx1,NextBarSdate,NextBarStime,당일시가); Text_SetLocation(tx2,NextBarSdate,NextBarStime,전일시가); Text_SetLocation(tx3,NextBarSdate,NextBarStime,금일종가); Text_SetLocation(tx4,NextBarSdate,NextBarStime,전일종가); Text_SetLocation(tx5,NextBarSdate,NextBarStime,금일고가); Text_SetLocation(tx6,NextBarSdate,NextBarStime,전일고가); Text_SetLocation(tx7,NextBarSdate,NextBarStime,금일저가); Text_SetLocation(tx8,NextBarSdate,NextBarStime,전일저가); Text_SetLocation(tx9,NextBarSdate,NextBarStime,금일중간가격); Text_SetLocation(tx10,NextBarSdate,NextBarStime,전일중간가격); Text_SetLocation(tx11,NextBarSdate,NextBarStime,천정대칭가격); Text_SetLocation(tx12,NextBarSdate,NextBarStime,바닥대칭가격); }
프로필 이미지
유로파54
2020-09-15
1089
글번호 142406
지표
답변완료

문의드립니다.

안녕하세요. 1. 100일 간의 최저점 LL 찍고 2. 이후 상승한 최고점 hh가 최저점에서 +30% ~ +100% 사이 3. 최저점일(LL) 이후 현재 (최대 300일) 까지 아래 조건 만족 종목 검색 < 이평선 크로스 > 4. 20일선과 60일선 골드 후 7일 이상 데드가 나지 않아야 골드 인정 &#8211; 윕소 방지 5. 위 골드 이후 20일선과 60일선 데드 후 3일 이상 골드가 나지 않아야 데드 인정 6. 위의 방식으로 골드가 한번 더 나오고 데드 발생 ( 첫골드 &#8211; 첫데드 &#8211; 둘째골드 &#8211; 둘째데드 ) 7. 위 조건 이후 둘째 데드가 발생한 상태에서 (세번째골드는 없는 상태) 최근3일 중 종가가 20일선 돌파한 종목 검색 위 조건을 만족하는 종목검색식 부탁드립니다
프로필 이미지
골드드래곤
2020-09-16
1366
글번호 142405
종목검색
답변완료

부탁드립니다.

1. 첨부한 엑셀파일 중 업종1 부분의 내용을 차트의 오른쪽 상단에 텍스트로 표기하고 싶습니다. SK하이닉스, 포스코케미칼, 삼성전자, 삼성SDI 처럼 업종 내용이 여러 건 인 종목의 경우 가능하다면 한 텍스트 창에 모두 표기하면 좋겠고 안되면 첫번째 텍스트 왼쪽에 계속해서 표기해주면 좋겠습니다. 2. 업종2 부분의 내용은 차트의 왼쪽 하단에 텍스트로 표기하고 싶습니다. 삼성전자 처럼 내용이 길어서 한줄에 다 안들어 가는 경우는 위로 줄 바꾸어 내용을 계속해서 표기해주면 좋겠습니다.
프로필 이미지
개성상인
2020-09-15
1348
글번호 142404
지표
답변완료

부탁 드립니다.

도움에 감사 드립니다. 타주기 수식 부탁 드립니다. 1)예를 들어 10분차트에서 60분 지표 2)예를 들어 60분봉차트에서 일봉지표 미리 경배로 감사 인사 올립니다. input:p(100),sig(5); var1 = Accum(1)%p+1; Var2 = Accum(c); if var1 == 1 Then value1 = Var2[1]; Var3 = Var2 - value1; var20=Var3/var1; var55=c-var20; var56=ma(var55,sig); 참고수식) input : 타주기분(numeric),P(numeric),sig(numeric); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum(0); Array : CC[100](0),CMO[100](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } 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 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C;
프로필 이미지
뮬리
2020-09-15
1151
글번호 142399
지표