커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

틱90 차트에서 기준선; 시초가 그이후봉; 종가 - 기준선 봉이생길때 마다 (종가 - 기준선) 의 누적을 표현하고싶읍니다. 기준선은 다른기준이 적용할수도 있게 작성을 부탁드립니다. 수고하십시요
프로필 이미지
해월정
2016-12-03
133
글번호 104600
지표
답변완료

부탁드려요

가.매수진입(진입명:매수선봉) 1). a선과 b선이 c선보다 작다 2). c선 아래에서 a선이 b선을 크로스다운한다.("크로스다운입니다") 3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재) 진행되었졌으면(과거)... 4). 이후에 현재가가 c선을 크로스업하면 매수진입.("크로스업입니다") 나.매수진입(진입명:매수1) 1). a선과 b선이 c선보다 작다 2). c선 아래에서 a선이 b선을 크로스다운한다.("크로스다운입니다") 3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재) 진행되었졌으면(과거)... 4). 이후에 현재가가 c선을 크로스업상태를 유지한다.("크로스업입니다") 5). 현재가가 c선을 크로스업상태를 유지하고 있으면서 현재가가 d선을 크로스업하면 매수진입("크로스업입니다") -1),2),3),4)네가지 조건만족후 매수진입입니다. 다.매도진입(진입명:매도선봉) 1). a선과 b선이 c선보다 크다 2). c선 위에서 a선이 b선을 크로스업한다.("크로스업입니다") 3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재) 진행되었졌으면(과거)... 4). 이후에 현재가가 c선을 크로스다운하면 매도진입.("크로스다운입니다") 라.매도진입(진입명:매도1) 1). a선과 b선이 c선보다 크다 2). c선 위에서 a선이 b선을 크로스업한다.("크로스업입니다") 3). 1)과 2)의 조건이 동시에 한번이라도 만족되어서 진행되고 있거나(현재) 진행되었졌으면(과거)... 4). 이후에 현재가가 c선을 크로스다운상태를 유지한다.("크로스다운입니다") 5). 현재가가 c선을 크로스다운상태를 유지하고 있으면서 현재가가 d선을 크로스다운하면 매도진입("크로스다운입니다") -1),2),3),4)네가지 조건만족후 매도진입입니다. 감사합니다......
프로필 이미지
오동도물개
2016-12-03
148
글번호 104599
시스템
답변완료

부탁 드립니다.

도움 주심에 깊이 감사 드립니다. 수식에서 var27 을 대칭기준선으로 하고 var7을 대칭(mirror)하는 새로운 지표선을 만들고자 합니다. 미리 감사 드립니다. INPUT:P21(21),P3(3),SIG(9); VAR: BEAR(0),RA(0),ST(0); VAR: BEAR1(0),RA1(0),ST1(0); BEAR=ACCUMN(ABS(H-H[1]),P21)/P21; RA=ACCUMN(C-H,P21)/P21; ST=C-(BEAR+RA)*P3; VAR7=EMA(ST,SIG); BEAR1=ACCUMN(ABS(L-L[1]),P21)/P21; RA1=ACCUMN(C-L,P21)/P21; ST1=C-(BEAR1+RA1)*P3; vaR17=EMA(ST1,SIG); var27=(var7+var17)/2; PLOT11(VAR17); plot21(var27);
프로필 이미지
yes
2016-12-03
146
글번호 104598
지표

방향 님에 의해서 삭제되었습니다.

프로필 이미지
방향
2016-12-03
3
글번호 104597
시스템
답변완료

문의

1.디마크 의0.618 0.236선과 종가선 부탁드려요 2.당일의 고점저점 로그 피보나치를 이어가는데요 만약 상승중 23.6를 1틱이라도때렷다면 그때그부분의 저점 고점을 또 하락중 반대도 하락중 고점의23.6퍼를찍으면 그부분을 고점으로부탁드립니다. 3.이건 파동선인데 제가 소수점자릿수를 지정가능했으면 좋겠고요 상승시 빨강 하락시 파랑으로 부탁드립니다. 그리고 계속 어떤조건에 맞으면 소리가들리는데 이것을 제거부탁드립니다. Var:jjjjj(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),Tx(0),trnd(0),tx22(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For jjjjj = 0 To 9 { barArr[jjjjj] = barArr[jjjjj] + 1; } Condition1 = Highest(H,26) == H and lastHiVal <> H; Condition2 = Lowest(L,26) == L and lastLoVal <> L; If Condition1 Then lastHiVal = H; If Condition2 Then lastLoVal = L; // 전환점구분 null값으로 초기화; turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for jjjjj = 8 downto 1 { valArr[jjjjj+1] = valArr[jjjjj]; barArr[jjjjj+1] = barArr[jjjjj]; turnPntArr[jjjjj+1] = turnPntArr[jjjjj]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { Tx = Text_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],NumToStr(valArr[2],2)); Text_SetStyle(tx,0,2); TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } if turnPntArr[1][0] == "Lo" Then trnd = -1; if turnPntArr[1][0] == "hi" Then trnd = 1; } } TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); Text_Delete(tx22); tx22 = Text_New(sDate[barArr[1]],sTime[barArr[1]],valArr[1],NumToStr(valArr[1],2)); TL_SetSize(TL1[1],1); TL_SetColor(TL1[1],BLACK); if Trnd == -1 and Trnd[1] == -1 and L == TL_GetValue(TL1,sdate,stime) and L < L[1] Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); if Trnd == 1 and Trnd[1] == 1 and H == TL_GetValue(TL1,sdate,stime) and H > H[1] Then PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
프로필 이미지
렉쳐
2016-12-03
201
글번호 104596
지표
답변완료

오래전 분봉을 보고싶네요

질문이 몇가지있습니다 1분봉으로했는데 최고 10000개 밖에 안되더라구요 그게 한달치정도인데 더 오래전으로 볼수없을까요? 1년정도전까지요 그리고 틱봉도요 틱봉은 분봉보다 더 적게 보내요 더 길게 볼 방법없나요? 하이투자증권 정회원으로 보고있는데 다른곳은 더 길게볼수있는지요 그리고 두번째 질문은 보조지표가 크로스업 골든크로스가 나면 매수 데드크로스가 나면 매도 를 하는 수식이라면 바로 윗호가로 사지는건지 아니면 아래호가에 걸리는건지도 알고싶습니다 바로 체결되는거 맞나요? 그리고 5틱에 청산신호를 걸면 체결되자마자 청산신호가 걸리는건가요? # 매수/매도청산 If CrossUP(value1, value2) Then { Buy("b"); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell("s"); } SetStopProfittarget(PriceScale*5,PointStop); 저번에 알려주신 이 수식에서 저 신호가뜨면 바로 매수 매도가 되고 되자마자 청산호가에 제 청산주문이 걸리는건지 알고싶어요 제 주문이 체결되고 5틱 위의 호가에 다달아서 주문이 걸리는것이 아니라 체결되자마자 바로 청산주문이 들어가는것이요 만약 저 위의 수식이 아니라면 되는 수식으로 알려주세요 잘부탁드립니다 수고하세요
프로필 이미지
쩜상쩜하
2016-12-03
150
글번호 104595
검색
답변완료

bids asks 지표문의드려요

호가 참조데이터를 이용한 전략을 사용하려고 하였는데요, 첫봉과 두번째서만 진입하고 매수총잔량>매도총잔량, 총매수건수>총매도건수 일때 매수하고 매도총잔량> 매수총잔량, 총매도건수>총매수건수 일때 매도하며 13시 이후 청산, 진입과 반대의 경우가 발생할 경우 청산하는 시스템 식을 찾아서 이렇게 작성된 것을 사용했습니다. var: buycond(false), sellcond(false); buycond = bids>asks and data2 (c) > data3 (c); sellcond = bids <asks and data2(c) < data3(c); if dayindex <= then { if buycond == true then buy(); if sellcond then sell(); } if stime > 13000 then { if sellcond then exitlong(); if buycond then exitshort(); } setstopendofday(); 그런데 이 식이 제가 직접 작성한 식이 아니다 보니 사용방법을 잘 모르겠네요; 2 데이터 3데이터를 사용할 bids/asks 지표 코딩을 어떻게 해야할지 모르겠네요
프로필 이미지
docius
2016-12-02
170
글번호 104594
지표
답변완료

지표 문의 드립니다

안녕하세요 지표 질문드립니다. 1. 45일 이동평균선의 종가가 아닌 중간값을 구하려고 선언문 제외하고 HH = dayhigh; LL = daylow; HH1 = dayhigh(1); LL1 = daylow(1); HH2 = dayhigh(2); LL2 = daylow(2); HH3 = dayhigh(3); LL3 = daylow(3); HH4 = dayhigh(4); LL4 = daylow(4); HH5 = dayhigh(5); LL5 = daylow(5); HH6 = dayhigh(6); LL6 = daylow(6); HH7 = dayhigh(7); LL7 = daylow(7); HH8 = dayhigh(8); LL8 = daylow(8); HH9 = dayhigh(9); LL9 = daylow(9); HH10 = dayhigh(10); LL10 = daylow(10); HH11 = dayhigh(11); LL11 = daylow(11); HH12 = dayhigh(12); LL12 = daylow(12); HH13 = dayhigh(13); LL13 = daylow(13); HH14 = dayhigh(14); LL14 = daylow(14); HH15 = dayhigh(15); LL15 = daylow(15); HH16 = dayhigh(16); LL16 = daylow(16); HH17 = dayhigh(17); LL17 = daylow(17); HH18 = dayhigh(18); LL18 = daylow(18); HH19 = dayhigh(19); LL19 = daylow(19); HH20 = dayhigh(20); LL20 = daylow(20); HH21 = dayhigh(21); LL21 = daylow(21); HH22 = dayhigh(22); LL22 = daylow(22); HH23 = dayhigh(23); LL23 = daylow(23); HH24 = dayhigh(24); LL24 = daylow(24); HH25 = dayhigh(25); LL25 = daylow(25); HH26 = dayhigh(26); LL26 = daylow(26); HH27 = dayhigh(27); LL27 = daylow(27); HH28 = dayhigh(28); LL28 = daylow(28); HH29 = dayhigh(29); LL29 = daylow(29); HH30 = dayhigh(30); LL30 = daylow(30); HH31 = dayhigh(31); LL31 = daylow(31); HH32 = dayhigh(32); LL32 = daylow(32); HH33 = dayhigh(33); LL33 = daylow(33); HH34 = dayhigh(34); LL34 = daylow(34); HH35 = dayhigh(35); LL35 = daylow(35); HH36 = dayhigh(36); LL36 = daylow(36); HH37 = dayhigh(37); LL37 = daylow(37); HH38 = dayhigh(38); LL38 = daylow(38); HH39 = dayhigh(39); LL39 = daylow(39); HH40 = dayhigh(40); LL40 = daylow(40); HH41 = dayhigh(41); LL41 = daylow(41); HH42 = dayhigh(42); LL42 = daylow(42); HH43 = dayhigh(43); LL43 = daylow(43); HH44 = dayhigh(44); LL44 = daylow(44); 이렇게 하고 수식을 구했는데요 이거보다 더 간단하게 할수 있나요? var1 = ma((H+L)/2 , 45 ); 이건 안될것같고 var : RR(0); var1 = ma(H , 45 ); var2 = ma(L , 45 ); RR = ( var1 + var2 )/2 이게 맞나요? 혹시 그럼 분봉에서 일봉값을 구하려면 input : P1(45); for cnt = 0 to P1{ if cnt < P1 Then sumV1 = sumV1+DayHigh(cnt); } 이렇게 45일 고가값을 구하고 또 저가값을 구해서 더하고 /2 하면 되는 건가요? 2. 10일간 전일종가대비 종가가 7.5% 이상일때 그 봉이 저가대비고가가 15%이상을 하려고 하는데 countif(C>=c[1]*1.075,10) >= 1 and countif(H>=L*1.15,10) >= 1 이렇게 하니 전일종가대비 종가가 7.5% 이상이 나오고 10일안에 다른날 당일저가대비고가가 15%이상이 나와도 검색이 되는것 같습니다. 위조건을 한봉에 다 나오게 조건을 어떻게 하는건가요? 3. 당일저가가 4봉중 신저가 조건을 Lowest(Low,3)[1] > L 이렇게 했는데 맞나요? 부탁드립니다 즐거운 주말 보내세요
프로필 이미지
하루4%
2016-12-05
157
글번호 104593
지표
답변완료

재문의 드립니다

항상 감사드립니다. 처음 질문에서 직전양봉(음봉)의 의미는 바로 1개봉앞을 의미하는것으로 수식을 좀 변경해 주시면 고맙겠습니다. 그리고 익절이 n=3으로 해서 적용했는데 그러면 연속 양봉(또는음봉)이 3개연속나올때 그 3번째 봉이 완성될때 청산이 되어야 되는데 그렇게 나오지 않고 1개봉 또는 연속 2개봉일때도 청산이 되어 버립니다. 부탁드리겠습니다. 감사합니다. > 방향 님이 쓴 글입니다. > 제목 : 수식부탁드립니다. > 틱봉 기준입니다. 1. 직전 양봉의 저점보다 저점이 더 낮은 음봉 출현시 그 봉의 종가에서 바로 진입하고 손절은 진입봉의 고점이 깨질때 손절 익절은 연속n회 양봉출현시 n번째 양봉에서 익절 2. 직전 음봉의 고점보다 고점이 더 높은 양봉 출현시 그 봉의 종가에서 바로 진입하고 손절은 진입봉의 저점이 깨질때 손절 익절은 연속n회 음봉출현시 n번째 음봉에서 익절 부탁드립니다... 안녕하세요 예스스탁입니다. input : n(3); if C > O Then var1 = L; if C < O Then var2 = H; if var1 > 0 and C < var1 and C < O Then sell("s"); if MarketPosition == -1 then{ ExitShort("sx1",AtStop,H[BarsSinceEntry]+PriceScale*1); if countif(C>O,n) == n Then ExitShort("sx2"); } if var2 > 0 and C > var2 and C > O Then buy("b"); if MarketPosition == -1 then{ ExitLong("bx1",AtStop,L[BarsSinceEntry]-PriceScale*1); if countif(C<O,n) == n Then ExitLong("bx2"); }
프로필 이미지
방향
2016-12-02
116
글번호 104592
시스템