커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

(v*c)+(v[1]*c[1])+(v[2]*c[2])+(v[3]*c[3])+(v[4]*c[4])+(v[5]*c[5])+ ... 와 같이 50봉 까지 또는 100봉까지 합을 표현하는 지표식 감사합니다
프로필 이미지
파인애플
2022-12-15
803
글번호 164617
지표
답변완료

최저가 대비 100프로 이상 상승한 종목 검색

제목처럼 240일 동안 최저가 대비 100% 이상 상승한 종목을 검색하는 수식을 작성해 봤는데 잘 안되네요. 살펴봐 주세요 Input : Period1(240),Criteon(100); Variables: Value2(100), Value4(100), HH(0), LL(0), cnt(0); For cnt = 0 to Period1 { if c[cnt+1]>c[cnt] && c[cnt+1] > Value2 Then{ Value1 = Date; Value2 = c[cnt+1]; } if c[cnt+1]<c[cnt] && c[cnt+1] < Value4 Then{ Value3 = Date; Value4 = c[cnt+1]; } } Value1 = DateToJulian(Value1); Value3 = DateToJulian(Value3); Value5 = (Value2-Value4)/Value4*100; Condition1 = Value5> Criteon; Condition2 = Value3<Value1; If Condition1 && Condition2 Then { Value6 = Value5; } Else value6 = 0; Find(value6);
프로필 이미지
두리번
2022-12-15
1075
글번호 164616
종목검색
답변완료

분봉에서 월요일 첫봉 세로선과 시가 일주일 수평선 작성

안녕하세요. 캡처이미지처럼 분봉주기에서 매주 월요일에 첫봉의 세로선과 시가 수평선 일주일치를 작성하고 싶습니다. 각 선들은 색과 두께를 조정할수있으면 합니다. IF dayofweek(sDate) == 1 THEN 이 조건을 사용해서 해보는데 잘 안되네요.. 특히 일주일간 수평선을 모르겠네요.. 미리 감사드립니다.
프로필 이미지
에이텍
2022-12-15
1126
글번호 164615
지표
답변완료

시스템식 부탁드립니다.

항상 도움 주셔서 감사합니다. 트레일링 스탑에 대해 문의 드립니다. 아래와 같은 시스템이 있다고 가정할 경우 매수 if marketposition == 0 and crossup(이평100,이평200) then { buy(); } 매수청산 if marketposition == 1 and crossdown(이평100,이평200) then { exitlong(); } 매도 if marketposition == 0 and crossdown(이평100,이평200) then { sell(); } 매도청산 if marketposition == -1 and crossdown(이평100,이평200) then { sell(); } 손절 및 트레일링 스탑 SetStopLoss(50,PointStop); SetStopProfittarget(100,PointStop); SetStopEndofday(060000); SetStopTrailing(10,50,PointStop); SetStopTrailing(10,40,PointStop); SetStopTrailing(10,30,PointStop); SetStopTrailing(10,20,PointStop); SetStopTrailing(10,10,PointStop); 트레일링 스탑은 이익이 발생한 후 이익이 감소시 청산으로 알고 있습니다. 손실에 대해서는 아래와 같이 트레일링 작성해 보았는데 잘 안됩니다. 문의1) 포지션 진입 후 수익이 1point라도 발생후 바로 하락하는 경우 손절하지 않고 트레일링스탑으로 -10point에서 청산하고 싶습니다. SetStopTrailing(10,1,PointStop); 문의2) 포지션 진입 후 수익없이 바로 하락하는 경우 손절하지 않고 -10point에서 트레일링 스탑을 해서 -20ponit에서 청산하고 싶습니다. SetStopTrailing(10,-10,PointStop); SetStopTrailing(10,-20,PointStop); SetStopTrailing(10,-30,PointStop); SetStopTrailing(10,-40,PointStop); 문의3) 포지션 진입 후 손실이 나다가 이익으로 전환 되는 경우 익절하지 않고 중간 청산하고 싶습니다. * 손실이 -20point까지 났다가 손실이 -10point로 줄어들면(10point 상승) 손실이 -10point에서 청산하고 싶습니다. SetStopTrailing(-10,-20,PointStop); 도움 부탁드립니다. 감사합니다.
프로필 이미지
양치기
2022-12-15
1275
글번호 164610
시스템
답변완료

파라볼릭 전환시

input : af(0.02), maxAF(0.2),폭(0.25); Var : Sarv(0),tl(0),T(0),tx(0),txx(0); var:cSar(0); var7 = cSAR(af,maxAF); if var7 > C Then Plot1(var7, "cSAR",BLUE); Else Plot1(var7, "cSAR",RED); plot2(c,"c"); Sarv = csar(af,maxAF); If crossup(c,Sarv) Then { T = 1; var1 = Sarv; Var2 = var1[1]; Var3 = var2[1]; Condition1 = False; if max(var1,var2,Var3) <= min(var1,Var2,Var3)+폭 and var3>0 and var1 >= Var2-PriceScale*2 Then { Condition1 = true; Tx = Text_New(sDate,sTime,var1-PriceScale*2,"●"); Text_SetColor(Tx,Cyan); Text_SetStyle(Tx,2,2); Text_SetSize(Tx,25); } } If crossup(c,Sarv) Then { T = 1; var1 = Sarv; Var2 = var1[1]; Var3 = var2[1]; Var4 = Var3[1]; Condition1 = False; if max(var1,var2,Var3, Var4) <= min(var1,Var2,Var3, Var4)+폭 and var4>0 and var1 >= Var2-PriceScale*2 Then { Condition1 = true; Tx = Text_New(sDate,sTime,var1-PriceScale*2,"●"); Text_SetColor(Tx,Red); Text_SetStyle(Tx,2,2); Text_SetSize(Tx,20); } } 1.파라볼릭 양전환시 하단 시작 꼭지점에 빨간 동그라미 표시. 2.상승하다 음전환되면 하단 빨간 동그라미 삭제하고, 상단 꼭지점에 파란 동그라미 표시. 삭제와 생성 계속 반복. 감사합니다.
프로필 이미지
고성
2022-12-15
1027
글번호 164608
지표
답변완료

지표겹치기

지표겹치기는 어떻게 해야되나요 adx 두개를 겹치고싶습니다
프로필 이미지
스타그이상
2022-12-15
1027
글번호 164606
지표

사냥꾼 님에 의해서 삭제되었습니다.

프로필 이미지
사냥꾼
2022-12-15
15
글번호 164603
지표
답변완료

문의드립니다

시스템식 문의드립니다 9시부터 15시 까지 당일매매횟수 10회 이하 A지표가 0 부터 200 까지 1간격으로 된 선들중에 크로스업 B지표가 0 부터 2.00 까지 0.02 간격으로 된 선들중에 크로스업 2% 익절 2% 손절 A,B 지표가 다른간격의 선들이 있고 두개의 크로스업이 동시만족 감사합니다
프로필 이미지
파인애플
2022-12-15
686
글번호 164602
시스템
답변완료

수식부탁합니다

계속 같은 질문인거 같아 죄송스럽네요 너그럽게.....^^ TL13 이 신규로 발생하는 시점에 의도치 않은 상황이 발생해서 그렇습니다 1.A 와 B 사이에 캔들중 최고가를 pinkline 으로 리턴 이 방식으로 가능하면 정말 좋겠습니다... 감사합니다! 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); 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,Pink); } 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); } if min(C,ma(c,5)) > TL_GetValue(TL13,sDate,sTime) Then { clr1 = Red; TL_SetColor(TL13,clr1); } if max(C,ma(c,5)) < TL_GetValue(TL15,sDate,sTime) Then { clr2 = Blue; TL_SetColor(TL15,clr2); } if T == 1 Then Pinkline = 고[2,1]; Else Pinkline = 고[1,1]; if T == -1 Then liblueline = 저[2,1]; Else liblueline = 저[1,1];
프로필 이미지
하늘거지
2022-12-15
941
글번호 164601
지표