커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표재문의

주봉과 분봉의 각 plot 값이 다르게 나옵니다 확인 부탁드립니다 주봉의 price channel 과 볼리저밴드는 1봉전 수치이고 주봉의 중간값은 현재봉입니다 안녕하세요 예스스탁입니다. input : p1(2),LENGTH1(3),LENGTH2(5),LENGTH3(10),LENGTH4(20),LENGTH5(40),LENGTH6(60), Period1(3),Period2(5),Period3(10),Period4(20),Period5(40),Period6(60); var : TCHAN1(0),TCHAN2(0),TCHAN3(0),TCHAN4(0),TCHAN5(0),TCHAN6(0),cnt(0); Var : Sum1(0), Counter1(0), CSum1(0),Wma1(0),SumSqrt1(0),Std1(0); Var : Sum2(0), Counter2(0), CSum2(0),Wma2(0),SumSqrt2(0),Std2(0); Var : Sum3(0), Counter3(0), CSum3(0),Wma3(0),SumSqrt3(0),Std3(0); Var : Sum4(0), Counter4(0), CSum4(0),Wma4(0),SumSqrt4(0),Std4(0); Var : Sum5(0), Counter5(0), CSum5(0),Wma5(0),SumSqrt5(0),Std5(0); Var : Sum6(0), Counter6(0), CSum6(0),Wma6(0),SumSqrt6(0),Std6(0); Array : HH[70](0),CC[70](0),LL[70](0); if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{ HH[0] = H; for cnt = 1 to 61{ HH[cnt] = HH[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } var1 = value1[1]; var2 = value2[1]; var3 = value3[1]; var4 = value4[1]; var5 = value5[1]; var6 = value6[1]; } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TCHAN1 = HH[1]; for cnt = 1 to LENGTH1 { if HH[cnt] > TCHAN1 Then TCHAN1 = HH[cnt]; } TCHAN2 = HH[1]; for cnt = 1 to LENGTH2 { if HH[cnt] > TCHAN2 Then TCHAN2 = HH[cnt]; } TCHAN3 = HH[1]; for cnt = 1 to LENGTH3 { if HH[cnt] > TCHAN3 Then TCHAN3 = HH[cnt]; } TCHAN4 = HH[1]; for cnt = 1 to LENGTH4 { if HH[cnt] > TCHAN4 Then TCHAN4 = HH[cnt]; } TCHAN5 = HH[1]; for cnt = 1 to LENGTH5 { if HH[cnt] > TCHAN5 Then TCHAN5 = HH[cnt]; } TCHAN6 = HH[1]; for cnt = 1 to LENGTH6 { if HH[cnt] > TCHAN6 Then TCHAN6 = HH[cnt]; } Sum1 = 0; CSum1 = 0; For counter1 = 0 To Period1 - 1 { Sum1= Sum1 + CC[counter1] * (Period1 - counter1); CSum1 = CSum1 + Period1 - counter1; } WMA1 = Sum1/ CSum1; SumSqrt1 = 0; For Counter1 = 0 To Period1 - 1 { SumSqrt1 = SumSqrt1 + (CC[Counter1] - WMA1) * (CC[Counter1] - WMA1); } Std1 = SquareRoot(SumSqrt1 / Period1); Sum2 = 0; CSum2 = 0; For counter2 = 0 To Period2 - 1 { Sum2 = Sum2 + CC[counter2] * (Period2 - counter2); CSum2 = CSum2 + Period2 - counter2; } WMA2 = Sum2/ CSum2; SumSqrt2 = 0; For Counter2 = 0 To Period2 - 1 { SumSqrt2 = SumSqrt2 + (CC[Counter2] - WMA2) * (CC[Counter2] - WMA2); } Std2 = SquareRoot(SumSqrt2 / Period2); Sum3 = 0; CSum3 = 0; For counter3 = 0 To Period3 - 1 { Sum3 = Sum3 + CC[counter3] * (Period3 - counter3); CSum3 = CSum3 + Period3 - counter3; } WMA3 = Sum3/ CSum3; SumSqrt3 = 0; For Counter3 = 0 To Period3 - 1 { SumSqrt3 = SumSqrt3 + (CC[Counter3] - WMA3) * (CC[Counter3] - WMA3); } Std3 = SquareRoot(SumSqrt3 / Period3); Sum4 = 0; CSum4 = 0; For counter4 = 0 To Period4 - 1 { Sum4 = Sum4 + CC[counter4] * (Period4 - counter4); CSum4 = CSum4 + Period4 - counter4; } WMA4 = Sum4/ CSum4; SumSqrt4 = 0; For Counter4 = 0 To Period4 - 1 { SumSqrt4 = SumSqrt4 + (CC[Counter4] - WMA4) * (CC[Counter4] - WMA4); } Std4 = SquareRoot(SumSqrt4 / Period4); Sum5 = 0; CSum5 = 0; For counter5 = 0 To Period5 - 1 { Sum5 = Sum5 + CC[counter5] * (Period5 - counter5); CSum5 = CSum5 + Period5 - counter5; } WMA5 = Sum5/ CSum5; SumSqrt5 = 0; For Counter5 = 0 To Period5 - 1 { SumSqrt5 = SumSqrt5 + (CC[Counter5] - WMA5) * (CC[Counter5] - WMA5); } Std5 = SquareRoot(SumSqrt5 / Period5); Sum6 = 0; CSum6 = 0; For counter6 = 0 To Period6 - 1 { Sum6 = Sum6 + CC[counter6] * (Period6 - counter6); CSum6 = CSum6 + Period6 - counter6; } WMA6 = Sum6/ CSum6; SumSqrt6 = 0; For Counter6 = 0 To Period6 - 1 { SumSqrt6 = SumSqrt6 + (CC[Counter6] - WMA6) * (CC[Counter6] - WMA6); } Std6 = SquareRoot(SumSqrt6 / Period6); value1 = wma1+(p1*STD1); value2 = wma2+(p1*STD2); value3 = wma3+(p1*STD3); value4 = wma4+(p1*STD4); value5 = wma5+(p1*STD5); value6 = wma6+(p1*STD6); var7 = (HH[0]+LL[0])/2; ##주봉 중간값 Value1 = Max((HH[1]+LL[1])/2,(HH[1]+LL[1]+CC[1])/3,(HH[2]+LL[2])/2,(HH[2]+LL[2]+CC[2])/3); Value2 = Min((HH[1]+LL[1])/2,(HH[1]+LL[1]+CC[1])/3,(HH[2]+LL[2])/2,(HH[2]+LL[2]+CC[2])/3); Value3 = (MAX(HH[1],HH[2])+Min(LL[1],LL[2])+CC[1])/3; Value4 = Value1+Value2+Value3; Plot1(TCHAN1, "pc3[1]"); Plot2(TCHAN2, "pc5[1]"); Plot3(TCHAN3, "pc10[1]"); Plot4(TCHAN4, "pc20[1]"); Plot5(TCHAN5, "pc40[1]"); Plot6(TCHAN6, "pc60[1]"); Plot7(var1, "bb3[1]"); Plot8(var2, "bb5[1]"); Plot9(var3, "bb10[1]"); Plot10(var4, "bb20[1]"); Plot11(var5, "bb40[1]"); Plot12(var6, "bb60[1]"); Plot13(Value1, "1"); Plot14(Value2, "2"); Plot15(Value3, "3"); Plot16(Value4, "4"); 즐거운 하루되세요 > 맥스 님이 쓴 글입니다. > 제목 : 지표식 문의 > 문의드립니다. 아래의 수식은 주봉의 수식입니다. 구하고자 하는 값은 일봉 및 분봉에서 주봉의 각 plot 값입니다. 1. 아래주봉의 각 plot 값을 일봉 및 20분봉에서 지표로 나타내기 2. 아래주봉의 수식을 일봉의 수식으로 간주하고 20분봉에서 일봉의 각 plot 값을 지표로 나타내기(var7 = (DayHigh+DayLow)/2; 일봉중간값) input : p1(2),LENGTH1(3),LENGTH2(5),LENGTH3(10),LENGTH4(20),LENGTH5(40),LENGTH6(60), Period1(3),Period2(5),Period3(10),Period4(20),Period5(40),Period6(60); var : TCHAN1(0),TCHAN2(0),TCHAN3(0),TCHAN4(0),TCHAN5(0),TCHAN6(0); TCHAN1 = HIGHEST(High, LENGTH1)[1]; TCHAN2 = HIGHEST(High, LENGTH2)[1]; TCHAN3 = HIGHEST(High, LENGTH3)[1]; TCHAN4 = HIGHEST(High, LENGTH4)[1]; TCHAN5 = HIGHEST(High, LENGTH5)[1]; TCHAN6 = HIGHEST(High, LENGTH6)[1]; var1 = wma(C, period1)[1]+(p1*stdw(C, period1)[1]); var2 = wma(C, period2)[1]+(p1*stdw(C, period2)[1]); var3 = wma(C, period3)[1]+(p1*stdw(C, period3)[1]); var4 = wma(C, period4)[1]+(p1*stdw(C, period4)[1]); var5 = wma(C, period5)[1]+(p1*stdw(C, period5)[1]); var6 = wma(C, period6)[1]+(p1*stdw(C, period6)[1]); var7 = (H+L)/2; ##주봉 중간값 Value1 = Max((H[1]+L[1])/2,(H[1]+L[1]+C[1])/3,(H[2]+L[2])/2,(H[2]+L[2]+C[2])/3); Value2 = Min((H[1]+L[1])/2,(H[1]+L[1]+C[1])/3,(H[2]+L[2])/2,(H[2]+L[2]+C[2])/3); Value3 = (MAX(H[1],H[2])+Min(L[1],L[2])+C[1])/3; Value4 = Value1+Value2+Value3; Plot1(TCHAN1, "pc3[1]"); Plot2(TCHAN2, "pc5[1]"); Plot3(TCHAN3, "pc10[1]"); Plot4(TCHAN4, "pc20[1]"); Plot5(TCHAN5, "pc40[1]"); Plot6(TCHAN6, "pc60[1]"); Plot7(var1, "bb3[1]"); Plot8(var2, "bb5[1]"); Plot9(var3, "bb10[1]"); Plot10(var4, "bb20[1]"); Plot11(var5, "bb40[1]"); Plot12(var6, "bb60[1]"); Plot13(Value1, "1"); Plot14(Value2, "2"); Plot15(Value3, "3"); Plot16(Value4, "4");
프로필 이미지
맥스
2011-08-10
674
글번호 41828
지표
답변완료

Data2의 값이 Data1의 주기에 따라 달라지는 이유는?

Data1: 5분봉 Data2: 일봉 Variables: SMIK(0, Data2); SMIK = Data2(SMI(13,24,2)); 의 경우 8/10일 현재의 SMIK값은 37.40으로 항상 같은 값이 나옵니다. 그런데 아래와같이 바꾸면 Data1: 일봉 Data2: 일봉 Variables: SMIK(0, Data2); SMIK = Data2(SMI(13,24,2)); Data1과 Data2가 같이 일봉일 경우 SMIK는 현재의 값이 40.74, 40.72, 40.70등 Realtime으로 값이 나옵니다. 두번째의 경우 처럼 현재값을 Realtime으로 알고 싶은데요. 저의 경우는 Data1을 5분봉으로 Data2는 일봉으로 해야 되거든요. 이렇게 Data1의 주기가 Data2의 주기보다 짧을 경우 현재값을 정확히 구할 수 없는 것인가요?
프로필 이미지
마법의똥가루
2011-08-10
625
글번호 41824
시스템
답변완료

참조 차트 연동은 안되나요?

차트 #1 참조차트 #2 참조차트 #3 인 상태에서 차트 #1의 종목을 바꾸면 참조차트 #2,#3도 같은 종목으로 바뀌도록 연동 할수 있는 방법은 없는지요
프로필 이미지
hex
2011-08-10
628
글번호 41823
지표
답변완료

지표 문의 드립니다~

일봉상(특히, 점 하한가)의 매도 잔량의 금액을 나타내는 지표 부탁합니다~
프로필 이미지
데미안리
2011-08-10
689
글번호 41822
지표
답변완료

수식문의

안녕하세요 수식문의드립니다. 매수 120개봉 최저가 에서 6%~9% 사이까지 상승한후 최고가 대비 3% 하락시 매수 2계약 추가매수조건 매수후 익절없이 하락할 경우만 추가매수 매수가 대비 1% 하락시 2계약 추가매수 익절1(추가매수 없는경우) 1> 진입가 대비 1% 수익시 1계약 청산 2> 진입가 대비 2% 수익시 1계약 청산 (1계약 청산후 1% 더 상승하지 못하고 하락시 최대수익대비 50% 감소시 나머지 1계약 청산) 익절2(추가매수 있는경우) 1> 진입가 대비 1% 수익시 2계약 청산 2> 진입가 대비 2% 수익시 1계약 청산 3> 진입가 대비 3% 수익시 1계약 청산 (최대수익대비 50%감소시 전량 청산) 손절 추가매수 한가격에서 2% 하락시 전량청산 변수로 처리 부탁드립니다. 감사합니다. 수고하세요
프로필 이미지
머신
2011-08-10
666
글번호 41817
시스템
답변완료

FX 시간대에 맞게 지표식을 수정하려면?

현재 우리나라 옵션의 경우 09:00~15:15분까지 하루가 설정되어 있는데... FX는 17:00~16:00 으로 23시간 거래가 되는 것으로 알고 있습니다. 17:00를 시작으로 다음날 16:00에 끝나도록 당일 지표식을 수정하려면 어떻게 해야 하는지요? var1 = ma(C,dayindex()+1); 예를 들면 이런 경우 수정을 어떻게 해야 할지요? if dayindex == 0 Then{ 많아서... 자세한 설명 부탁드립니다. 그럼 수고하세요...
프로필 이미지
아스라이
2011-08-10
649
글번호 41816
지표
답변완료

문의드립니다.

더운데 수고하십니다. 선물보고 옵션거래합니다. 옵션거래에서요... 선물 상한가/하한가시 청산 후 당일 진입 금지 (옵션이 아니라 선물기준입니다.) onclose 청산하게 해주세요. 선물 상한가 근처 (상한가-0.5 point)에서는 콜매수진입금지 선물 하한가 근처 (하한가+0.5 point)에서는 풋매수진입금지 잘 부탁드립니다.
프로필 이미지
한걸음씩
2011-08-10
633
글번호 41814
시스템
답변완료

지표식 문의

문의드립니다. 아래의 수식은 주봉의 수식입니다. 구하고자 하는 값은 일봉 및 분봉에서 주봉의 각 plot 값입니다. 1. 아래주봉의 각 plot 값을 일봉 및 20분봉에서 지표로 나타내기 2. 아래주봉의 수식을 일봉의 수식으로 간주하고 20분봉에서 일봉의 각 plot 값을 지표로 나타내기(var7 = (DayHigh+DayLow)/2; 일봉중간값) input : p1(2),LENGTH1(3),LENGTH2(5),LENGTH3(10),LENGTH4(20),LENGTH5(40),LENGTH6(60), Period1(3),Period2(5),Period3(10),Period4(20),Period5(40),Period6(60); var : TCHAN1(0),TCHAN2(0),TCHAN3(0),TCHAN4(0),TCHAN5(0),TCHAN6(0); TCHAN1 = HIGHEST(High, LENGTH1)[1]; TCHAN2 = HIGHEST(High, LENGTH2)[1]; TCHAN3 = HIGHEST(High, LENGTH3)[1]; TCHAN4 = HIGHEST(High, LENGTH4)[1]; TCHAN5 = HIGHEST(High, LENGTH5)[1]; TCHAN6 = HIGHEST(High, LENGTH6)[1]; var1 = wma(C, period1)[1]+(p1*stdw(C, period1)[1]); var2 = wma(C, period2)[1]+(p1*stdw(C, period2)[1]); var3 = wma(C, period3)[1]+(p1*stdw(C, period3)[1]); var4 = wma(C, period4)[1]+(p1*stdw(C, period4)[1]); var5 = wma(C, period5)[1]+(p1*stdw(C, period5)[1]); var6 = wma(C, period6)[1]+(p1*stdw(C, period6)[1]); var7 = (H+L)/2; ##주봉 중간값 Value1 = Max((H[1]+L[1])/2,(H[1]+L[1]+C[1])/3,(H[2]+L[2])/2,(H[2]+L[2]+C[2])/3); Value2 = Min((H[1]+L[1])/2,(H[1]+L[1]+C[1])/3,(H[2]+L[2])/2,(H[2]+L[2]+C[2])/3); Value3 = (MAX(H[1],H[2])+Min(L[1],L[2])+C[1])/3; Value4 = Value1+Value2+Value3; Plot1(TCHAN1, "pc3[1]"); Plot2(TCHAN2, "pc5[1]"); Plot3(TCHAN3, "pc10[1]"); Plot4(TCHAN4, "pc20[1]"); Plot5(TCHAN5, "pc40[1]"); Plot6(TCHAN6, "pc60[1]"); Plot7(var1, "bb3[1]"); Plot8(var2, "bb5[1]"); Plot9(var3, "bb10[1]"); Plot10(var4, "bb20[1]"); Plot11(var5, "bb40[1]"); Plot12(var6, "bb60[1]"); Plot13(Value1, "1"); Plot14(Value2, "2"); Plot15(Value3, "3"); Plot16(Value4, "4");
프로필 이미지
맥스
2011-08-10
689
글번호 41809
지표
답변완료

관심종목 설정 문의

10% 이상 당일 급등한 종목을 20일 단위로 모아서 관심종목으로 등록해 놓고 (예를 들어 " A 그룹"으로 등록) 결과내 검색으로 몇가지 다른 조건검색식들을 적용해 A그룹 종목에서 해당되는 종목을 찾으려 합니다 1. 10% 이상 종목 검색식 if C > O and C > C[1]*1.1 then find(1); 이 경우 일봉 종목 검색식을 20번을 적용해야 하는데 위식에서 한번 검색으로 20일치 10% 이상 종목이 다 나올수 있는 검색식 부탁합니다 2. 엑셀로 모아둔 종목을 관심종목으로 설정하고 싶은데 PC에 엑셀로 저장된 종목을 관심종목으로 등록하는 방법 알려주세요.
프로필 이미지
미래테크
2011-08-10
674
글번호 41808
검색