커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다

1> 아래 수식은 분봉에 적용 되는 수식입니다 틱차트에 적용 할수 있도록 수정 부탁드립니다 input : 타주기분(5); var : S1(0),D1(0),TM(0),TF(0),box(0); var : oo(0),hh(0),ll(0),TL1(0),TL2(0),clr(0),ii(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 { oo = O; hh = H; ll = L; box = Box_New(sDate,sTime,oo,NextBarSdate,NextBarStime,c); TL1 = TL_New(sDate,sTime,max(C,oo),sDate,sTime,hh); TL2 = TL_New(sDate,sTime,min(C,oo),sDate,sTime,ll); ii = 1; } Else { ii = ii +1; if h > hh Then hh = h; if l < ll Then ll = l; var1 = Round(ii/2,1); Box_SetEnd(box,sDate,sTime,C); TL_SetBegin(TL1,sDate[var1],sTime[var1],max(c,oo)); TL_SetEnd(TL1,sDate[var1],sTime[var1],hh); TL_SetBegin(TL2,sDate[var1],sTime[var1],min(c,oo)); TL_SetEnd(TL2,sDate[var1],sTime[var1],ll); } if C > oo Then clr = Red; else if C < oo Then clr = Blue; Else clr = Green; Box_SetColor(box,clr); Box_SetSize(box,1); Box_SetFill(box,true,50,True); #박스채움 투명도 설정 0(투명) ~ 255(불투명), 마지막 True 봉 뒤 배치 TL_SetStyle(TL1,3); # 윗꼬리 아랫꼬리 점선처리 TL_SetStyle(TL2,3); # 윗꼬리 아랫꼬리 점선처리 TL_SetColor(tl1,clr); TL_SetColor(tl2,clr); } ======================================= 2> 아래 수식을 해선에서 사용하려 합니다 시작시간을 국내기준으로 08시로 변경 해주세요 시간을 변경할수 있는 부분에... 표시 부탁드립니다 input : P(20); if dayindex == 0 Then var1 = dayopen; Else var1 = ma(c,P); value1 = highest(var1,dayindex+1); value2 = Lowest(var1,dayindex+1); value3 = (value1+value2)/2; if CurrentDate == sdate Then{ plot1(value1); plot2((value1+value3)/2); plot3(value3); plot4((value3+value2)/2); plot5(value2); }
프로필 이미지
삼족오
2023-01-18
662
글번호 165517
지표
답변완료

문의 드립니다

수고하십니다 아래 사항에 대해 문의드리겠습니다 ㅇ차트조건 : d1,d2,d3 모두 당일자 자료만 적용합니다 (전일자 연결하지 않습니다) - 아래 서식이 가끔 실행되는 때도 있지만 ㅇ문의점 : 대부분은 잔량차파파볼릭 선이 잔량차 선을 따라가지 않고 정 반대로 휘어져 나가서 장초반 최초 교차 이후에는 하루 내내 전혀 교차하지 않습니다 잘못된 부분 수정 부탁드립니다 감사합니다 Input : AF(0.01), AFMAX(0.09),period(0),p(0); var : Diff(0), mav(0); Diff = (Data2(c)+Data3(c)); mav = ma(Diff,P); Var : Direction(0), SAR_Value(Diff), AF_Value(.02), HighValue(Diff), LowValue(Diff), EP(0),CSARV(0); if Diff == 0 Then Diff = Diff[1]; if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Diff > HighValue then { HighValue = Diff; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Diff < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = Diff ; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Diff < LowValue then { LowValue = Diff; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Diff > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = Diff; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Diff > HighValue then { HighValue = Diff; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Diff < LowValue then { LowValue = Diff; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if Diff > Diff[1] then Direction = 1; else if Diff < Diff[1] then Direction = -1; } else { if Direction == 1 then { if Diff < Diff[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if Diff > Diff[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(Diff, LowValue); HighValue = max(Diff, HighValue); } } plot1(diff,"잔량차"); plot2(CSARv,"잔량차파라볼릭"); //속성에서 점그래프
프로필 이미지
dkfvkrh7
2023-01-17
642
글번호 165516
지표
답변완료

봉 위아래 거래량 숫자표시

거래량이 그림과같이 양봉일때 아래노랑 거래량갯수 표시 음봉일때 위에 파랑 거래량갯수 표시 미리감사드림니다
프로필 이미지
끝까지가보죠
2023-01-17
897
글번호 165515
지표
답변완료

문의드립니다.

안녕하세요. 언제나 수고하심에 감사드립니다. 매수수식: 음봉 뒤에 양봉이 하나 생기고 연속으로 양봉이 2개 더 생겨서 3연속 양봉이 발생히면 (이 때 양봉 종가는 c > c[1] > c[2}) 을 만족 해야 합니다. 그러면 매수를 1개를 합니다. 그 후에 또 현재의 양봉 종가가 > 가장 최근의 이전 양봉 종가 보다 상방이면 매수를 1개를 더합니다. 즉 이렇게 양봉 종가가 이전 발생 양봉 종가 보다 크면 1개씩 더 매수합니다. 총 10개 까지 매수합니다. 기본 청산: 매수후에 누적계약이 2계약까지 가장 최근의 양봉 2개중에 최소값을 종가가 아닌 현재가가 하향하면 전부 청산합니다. 또 총 손실이 50틱 이상이면 전부 청산합니다. 매수 계약이 3게약 이상시 현재가가 평균매수가에 하향 도달하면 전부 청산합니다. 보조 청산:(기본청산과 더불어 동시에 작동하게 합니다.) 1번 :매수 누적 계약이 5개 ~ 7개일 때 현재가 기준으로 누적 이익이 최고값 대비 50% 이하로 떨어지면 전부를 청산합니다. 2번 : 누적계약이 8개 이상일 때 현재가 기준으로 누적 이익이 최고값 대비 20% 이하로 떨어지면 전부를 청산합니다. 3번 : 또는 누적이익이 100틱 이상시 누적이익이 발생하면 현재가 기준으로 누적 이익이 최고값 대비 50% 이하로 떨어지면 전부를 청산합니다. 매도: 반대 논리로 부탁드립니다.
프로필 이미지
종호
2023-01-18
629
글번호 165514
시스템
답변완료

질문부탁드려요

분봉상에서 거래대금이 50억 이상의 양봉이고 최근 50봉 이내 시가대비종가가(c/o) 큰 순위를 동시에 만족하면서 시가대비종가(c/o) <<< 의 순위를 정하고 싶어요 큰 순서의 5번째 안에 드는 조건을 만들고 싶어요 nthhhighest(5,c/o,50) << 이런식으로 하고싶은데 부탁드립니다
프로필 이미지
아무다
2023-01-17
689
글번호 165513
종목검색
답변완료

지표 부탁드려요

envelop의 가감값을 atr 값을 대입하여 채널을 만들고자 합니다 변수가 되는 atr은 7일 넣으면 현재부터 기간 7짜리 atr 값을 envelop의 가갑값에 넣어 채널이 형성되도록 만들고 싶어요 (일봉에서 1을 넣으면 일봉상 기간 1짜리 atr값이 들어가고 15분봉에서 예를들어 10을 넣으면 15분봉상 기간10짜리 atr값을 대입하여 엔벨롶 밴드가 형성되게 하고 싶습니다 가능할까요? ㅎㅎ 잘부탁드려요
프로필 이미지
돈을잃자
2023-01-17
1058
글번호 165512
지표

원격 접속 부탁드립니다

원격 접속 부탁드립니다
프로필 이미지
목포댁
2023-01-17
657
글번호 165511
시스템
답변완료

수식부탁합니다

input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0),고점변곡(""),저점변곡(""); var : clr1(0),clr2(0),BE(0),SE(0),cnt(0),upcond(False),dncond(False),text2(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(0==1,C,H); LL = IFF(0==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,Red); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, -1); Text_SetColor(Text1,Blue); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { TL12 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],Sdate,Stime,고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL13,2); TL_SetColor(TL12,clr1); TL_SetSize(TL12,2); clr1 = Pink; TL_SetColor(TL13,clr1); upcond = False; } if T == 1 and T[1] != 1 Then { TL14= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL15,true); TL_SetColor(TL14,clr2); TL_SetSize(TL14,2); clr2 = LightBlue; TL_SetColor(TL15,clr2); TL_SetSize(TL15,2); dncond = False; } 1. t==1 구간에서 condition1 과 condition2 가 중복이 돼서 둘다 표시가 됩니다 한쪽을 선택하고 싶습니다 감사합니다.
프로필 이미지
하늘거지
2023-01-17
821
글번호 165502
지표
답변완료

코딩부탁드립니다.

안녕하세요? 코딩부탁드립니다. 코스피 선물입니다 1.현재가가 특정가격(입력예정)보다 크고, 예를들면 코스피 선물 300(입력할것이니 변하지만 300으로 해주세요) 당일 시가보다 크고,당일 10시가 지나서 스토케스틱 슬로우 (5,3,3)이 골드크로스면 매수진입 2.현재가가 특정가격(예를 들면 300)보다 작고, 당일 시가보다 작고,당일 10시가 지나서 스토케스틱 슬로우(5,3,3)이 데드크로스면 매도진입 3.청산은 트레일링스탑으로 청산 감사합니다.
프로필 이미지
사이버
2023-01-17
773
글번호 165493
시스템