커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 문의 합니다.

안녕하세요. 아래 지그재그 수식에서 추가하려고 하거든요. 매수조건에서 신호 직전봉까지 양봉-양봉-음봉-음봉-음봉 또는 양봉-양봉-음봉-음봉-양봉 순서이면 매수 음봉-양봉-양봉-양봉-양봉 또는 음봉-양봉-음봉-음봉-양봉 순서이면 매도 수식으로 가능 할까요? 만약 직전 3번째 봉이 양봉이고 직전 2번째 봉이 가격이 같으면 2번째 봉은 양봉처리하고 위와 같은 조건을 10개정도 추가 하려고 하거든요. 풀어서 작성 부탁드려요 감사합니다. if (t == 1 and t != t[1] and c[1] < c[2] <c[3] <c[4] <c5] or (t == 1 and t != t[1] c[1]> c[2] > c[3] >c[4] c[5] Then buyl("b1"); 위와 같이 추가 하니 잘 안되서요. 감사합니다. Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분(""); var:d1(0),t1(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 d1 == sDate[sBar] and t1 == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); d1 = sDate[sBar]; t1 = stime[sBar]; Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); } } 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 d1 == sDate[sBar] and t1 == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); d1 = sDate[sBar]; t1 = stime[sBar]; Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2)); Text_SetStyle(Text1, 2, 0); } } TL_SetSize(TL1,3); TL_SetColor(TL1,CYAN); if t == 1 and t != t[1] Then buyl("b1"); if t == -1 and t != t[1] Then sell("bx1");
프로필 이미지
반갑
2022-04-28
941
글번호 158412
시스템
답변완료

질문

파라볼릭이 돌파될때 바닥 극점에서 2.00 상승 위치를 표시하는 수식을 알고 싶습니다. 그리고 파라볼릭이 붕괴될 때는 천정 극점에서 2.00 하락 위치를 표시하는 수식을 알고 싶습니다. 감사합니다
프로필 이미지
회원
2022-04-28
830
글번호 158407
지표
답변완료

지표식 변환 부탁드립니다.

수고하십니다. 1. 아래 CTL 1번 지표식을 YTL로 변환 부탁드립니다 대체 함수를 못 찾겠던데, 가능한 지 모르겠습니다. 또, YTL에서 I_MarketPosition, I_AvgEntryPrice ,I_CurrentContracts 3가지 함수외에 다른 I_계열함수가 있는지요? 2. CTL 2번 시스템식을 YTL로 변환하였는데, 거래발생을 안합니다. 검토 부탁드립니다. CTL 1번 지표식 Input: capital(50,000,000) Var1=capital+i_netprofit(1) If i_position=0 And i_position(1)<>0 Then If Var1<>0 And i_netprofit-i_netprofit(1)<0 Then Var2=(i_netprofit(1)-i_netprofit)/var1 End If If Var2>var3 Then Var3=var2 End If End If CTL 2번 시스템식 /* CTL <수식 6-2> DD_RangeBreak(v2.3): 마틴게일, 역마틴게일 전략 영역: 전략 이름: DD_ RangeBreak(v2.2) Input : len(0.37), atrlen(20), len1(2.7), consec(1), contlimit(200) Var1=highd(1)-lowd(1) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If barnum =1 Then Var10=1 Var11=0 End If If currentEntrynum>1 Then If i_position=0 And i_position(1)<>0 Then # If i_netprofit > i_netprofit(1) Then ‘1. 마틴게일 If i_netprofit < i_netprofit(1) Then ‘2. 역마틴게일 Var11=0 Else Var11=var11+1 End If End If End If If Var11>=consec And i_position=0 And i_position(1)<>0 Then # Var10=Var10*2 ‘3. 직전계약수 대비 2배로 증가 Var10=Var10+1 ‘4. 직전계약수 대비 1계약 추가 End If If Var11<consec Then Var10=1 End If If Var10>contlimit Then Var10=contlimit End If If ttime<1500 Then If Cond1=False Then Call buy("매수",Atstop,Var10,opend+var1*len) End If If Cond2=False Then Call sell("매도",Atstop,Var10,opend-var1*len) End If End If If position<>0 Then Call exitlong("매수추적스탑",Atstop,hhv(1,high,barnumsinceEntry+1)-atr(atrlen)*len1) Call exitshort("매도추적스탑",Atstop,llv(1,low,barnumsinceEntry+1)+atr(atrlen)*len1) End If #======================================================# # YTL #수식 6-2 DD_RangeBreak(v2.3): 마틴게일, 역마틴게일 전략 #영역: 전략 #======================================================# */ Input : len(0.37), atrlen(20), len1(2.7), consec(1), contlimit(200) ; Var : CurrentEntryNum(0) ; Var1=DayHigh(1)-DayLow(1) ; Condition1= Date==ExitDate(1) And MarketPosition(1)==1 ; Condition2= Date==ExitDate(1) And MarketPosition(1)==-1 ; If Index == 1 Then { // barnum index Var10=1 ; Var11=0 ; } CurrentEntryNum = iff(MarketPosition == 0,TotalTrades, TotalTrades+1 ); If currentEntrynum>1 Then { If MarketPosition==0 And MarketPosition(1)<>0 Then { # If NetProfit > NetProfit[1] Then //‘1. 마틴게일 If NetProfit < NetProfit[1] Then //‘2. 역마틴게일 Var11=0 ; Else Var11=var11+1 ; } } If Var11 >= consec And MarketPosition == 0 And MarketPosition(1) <> 0 Then { # Var10=Var10*2 ; //‘3. 직전계약수 대비 2배로 증가 Var10=Var10+1 ; //‘4. 직전계약수 대비 1계약 추가 } If Var11<consec Then { Var10=1 ; } If Var10>contlimit Then { Var10=contlimit ; } If sTime<150000 Then { If Condition1=False Then { Buy("매수",Atstop,DayOpen+var1*len,Var10) ; } If Condition2=False Then { Sell("매도",Atstop,DayOpen-var1*len,Var10) ; } } If MarketPosition<>0 Then { exitlong("매수추적스탑",Atstop,NthHighest(1,high,BarsSinceEntry+1)-atr(atrlen)*len1) ; exitshort("매도추적스탑",Atstop,NthLowest(1,low,BarsSinceEntry+1)+atr(atrlen)*len1) ; }
프로필 이미지
목포댁
2022-04-28
1150
글번호 158405
지표
답변완료

부탁 드립니다.

도움에 감사 드립니다. 횡보추세 하향돌파 종목검색식 부탁드립니다. 참고식_횡보추세 상향돌파) Input : Period(5), Percent(10); value1 = highest(H, Period); value2 = lowest(L, Period); If C > value1[1] && C[1] <= value1[1] && value1[1] < value2[1]*(1+Percent/100) Then value3 = (C-C[1])/C[1]*100; Else value3 = 0; Find(value3);
프로필 이미지
yes
2022-04-28
1045
글번호 158404
종목검색
답변완료

수식변환을 부탁드립니다.

항상 수고가 많으십니다. 키움증권에서 사용하는 수식을 변환을 부탁드립니다. 항상 감사합니다. 즐거운 하루 보내십시요!!! A1 = floor(date / 100); A2 = A1 % 100; A3 = valuewhen(1, A2 != A2(1), O); B1 = valuewhen(1, A2 != A2(1), A3(1) ); B2 = valuewhen(1, A2 != A2(1), C(1) ); B3 = valuewhen(1, A2 != A2(1), O);
프로필 이미지
질풍이
2022-04-28
1190
글번호 158403
지표
답변완료

문의드립니다

1. 자금이 10억원이다. 현재 코스피가 400포인트다 --> 10계약 매수 월말에 코스피가 200 포인트가 되었다 --> 총 20계약으로 늘림 다음월말에 코스피가 다시 400포인트가 되었다. --> 10 계약을 매도 다시 현재 10계약 매수 상태 이런식으로 월말마다 계약 총액을 일정하게 유지하는 리밸런싱 로직을 부탁드립니다. 분봉이든 월봉이든 상관없고 시뮬레이션만 가능한 로직이라도 상관없습니다. 2. 같은 방식의 매수후 리밸런싱인데 3% 움직일때마다 리밸런싱하는 로직도 부탁드립니다. 예스스탁에 언제나 감사드립니다.
프로필 이미지
시고르시고르
2022-04-27
1216
글번호 158402
시스템
답변완료

수식작성 부탁드립니다

안녕하세요 수식작성 부탁드립니다 price channel 지표의 기본 수식입니다 추가로 상단선과 하단선의 "중심선"을 넣고 싶습니다 INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; PLOT1(TCHAN, "TOP"); PLOT2(BCHAN, "BOT"); 수고하세요
프로필 이미지
정상에서야
2022-04-27
1089
글번호 158401
지표

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2022-04-27
156
글번호 158398
지표
답변완료

사용자 함수관련 질문

함수문의 드립니다. 아래를 plot을 하면 그냥 0인 선만 하나 나옮니다. 무엇이 잘 못되었나요? Input: Period(Numeric), StdDev(Numeric); Var: BBTop(0), BBMid(0), BBBot(0),BWIval(0), Price(0), Index(0); Index = Accum(1); Price = (High+Low+Close)/3; BBTop = BollBandUp(Period,StdDev, 1, Price); BBMid = SMA(Price,Period); BBBot = BollBandDown(Period,StdDev, 1, Price); BWIval = ((BBTop - BBBot)/ BBMid) * 100; IF Index >= Period Then BWII = BWIval;
프로필 이미지
아키안
2022-04-27
1255
글번호 158396
사용자 함수