커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

현재 진행봉?

현재 진행중인 봉을 표시하는 함수가 있나요?? 제가 이용했던 다른 프로그램에선 IFF( barstate.isrealtime , open , close ) 실시간 봉이면 시가, 아니면 종가 이런식으로 조건을 barstate.isrealtime -> (봉이 현재 실시간 봉이냐?) 이렇게 내장함수가 있었는데, 예스랭귀지에선 어떻게 표현해야 할까요? 감사합니다 :)
프로필 이미지
뚜비뚜밥
2019-01-20
163
글번호 125418
지표
답변완료

문의드립니다

안녕하세요 수식 문의드려요^^ 서로 다른 타임 프레임에 적용하는방법을 잘 모르겠는데요, 예를들어 ma10 > ma20 이렇게 크로스업(골크) 될때 매수신호 발생한다면 월봉에서도 만족, 주봉에서도 만족, 일봉에서도 만족, 이렇게 시간봉이 다른 조건에 만족했을때 buy 신호가 발생하게 하려면 어떻게 식을 짜야될까요?? 크로스업을 예를 들어 설명해주세요 ㅎㅎ
프로필 이미지
뚜비뚜밥
2019-01-20
172
글번호 125417
시스템
답변완료

기존 그물망 지표에서 봉이 이탈 시 알람설정 방법

1. 기존 그물망 지표에서 기간의 값(Period(5); 등)의 기간 및 이동평균 값("이동평균4" 등)에 따라 변화를 줄 수 있는데, 이 지표의 기간 및 이동평균 값을 기존되로 조절할 수 있으면서 봉이 이 그물망안에 있다가 아래로 또는, 위로 봉이 상승 하락 돌파할 때 알람기능을 부여하는 지표를 만들고 싶습니다. 2. 위에서 설명한 봉이 그물망을 돌파하는 정도가 틱단위로 조정할 수 있게 지표를 만들고 싶습니다(그물망에서 위 또는 아래로 돌파되었을 때 상단선 그물망에서 3틱이상에서 돌파되었을 때 알람이 울리게(돌파단위는 틱단위로(3틱~20틱,틱단위로 구성이 불가능하다면 0.001등 호가 숫자로 할 수도 있음(숫자는 종목마다 별도로 틱단위로 계산되므로)) 조정할 수 있게) 하고 싶습니다. 3. 또하나는 위에에서는 봉이 단순이 위 정해진 틱단위로 돌파되었을 때 알람이 울리지만, 이번 경우는 봉이 돌파되고 그물망의 위나 아래로 마찬가지 틱단위로 설정된 단위 이상(돌파단위는 틱단위로(3틱~20틱) 조정할 수 있게)에서 봉이 시가로 최초에 형성될 때 알람이 울리게 지표를 만들고 싶습니다. 5. 알람이 일부러 끄지 않으면 계속 들리게 하고 싶습니다. (이 부분은 지표가 아니라 HTS에 별도의 설정이 필요한 부분이 있다면 가르침 부탁드립니다, 잠깐 들리는 것이 아니라 계속들리게 하는 방법을 알고 있습니다) 아래는 그물망차트의 기본 식입니다. 여기서 어떻게 손을 대야 할지 도저히 감이오지 않습니다. Input : Period(5); Plot1(ma(C,Period*1), "이동평균1"); Plot2(ma(C,Period*2), "이동평균2"); Plot3(ma(C,Period*3), "이동평균3"); Plot4(ma(C,Period*4), "이동평균4"); Plot5(ma(C,Period*5), "이동평균5"); Plot6(ma(C,Period*6), "이동평균6"); Plot7(ma(C,Period*7), "이동평균7"); Plot8(ma(C,Period*8), "이동평균8"); Plot9(ma(C,Period*9), "이동평균9"); Plot10(ma(C,Period*10), "이동평균10"); Plot11(ma(C,Period*11), "이동평균11"); Plot12(ma(C,Period*12), "이동평균12"); Plot13(ma(C,Period*13), "이동평균13"); Plot14(ma(C,Period*14), "이동평균14"); Plot15(ma(C,Period*15), "이동평균15"); Plot16(ma(C,Period*16), "이동평균16"); Plot17(ma(C,Period*17), "이동평균17"); Plot18(ma(C,Period*18), "이동평균18"); Plot19(ma(C,Period*19), "이동평균19"); Plot20(ma(C,Period*20), "이동평균20"); Plot21(ma(C,Period*21), "이동평균21"); Plot22(ma(C,Period*22), "이동평균22"); Plot23(ma(C,Period*23), "이동평균23"); Plot24(ma(C,Period*24), "이동평균24"); Plot25(ma(C,Period*25), "이동평균25"); Plot26(ma(C,Period*26), "이동평균26"); Plot27(ma(C,Period*27), "이동평균27"); Plot28(ma(C,Period*28), "이동평균28"); Plot29(ma(C,Period*29), "이동평균29"); Plot30(ma(C,Period*30), "이동평균30"); Plot31(ma(C,Period*31), "이동평균31"); Plot32(ma(C,Period*32), "이동평균32"); Plot33(ma(C,Period*33), "이동평균33"); Plot34(ma(C,Period*34), "이동평균34"); Plot35(ma(C,Period*35), "이동평균35"); Plot36(ma(C,Period*36), "이동평균36"); Plot37(ma(C,Period*37), "이동평균37"); Plot38(ma(C,Period*38), "이동평균38"); Plot39(ma(C,Period*39), "이동평균39"); Plot40(ma(C,Period*40), "이동평균30"); Plot41(ma(C,Period*41), "이동평균41"); Plot42(ma(C,Period*42), "이동평균42"); Plot43(ma(C,Period*43), "이동평균43"); Plot44(ma(C,Period*44), "이동평균44"); Plot45(ma(C,Period*45), "이동평균45"); Plot46(ma(C,Period*46), "이동평균46"); Plot47(ma(C,Period*47), "이동평균47"); Plot48(ma(C,Period*48), "이동평균48"); Plot49(ma(C,Period*49), "이동평균49"); Plot50(ma(C,Period*50), "이동평균50");
프로필 이미지
정구지
2019-01-20
196
글번호 125416
지표
답변완료

문의드립니다.

1. 기타 *해선 /* if dayofweek(Bdate) < dayofweek(Bdate[1]) Then var1 = dayopen; if dayofweek(Bdate) > dayofweek(Bdate[1]) and DayOfWeek(bdate) >= 2 Then var1 = dayopen; */ if bdate != bdate[1] then buy("b",atstop,var1); 위 수식에서요. 일봉에다 대고 저렇게 한 뒤 장마감을 하면 매번 진입 청산이 되더라구요. 그런데 주석처리해서 var1값이 없는데 어떻게 진입을 하는 지 모르겠습니다. var1값에 지금 뭐가 들어가 있는 건가요. 그리고 위 수식을 일봉에서 하면요. 같은 봉 진입청산이 되는데요. 진입과 청산이 모두 매매 당일에 생기는 게 맞나요? 2. 기타 buy, sell 이 부분도 문자로 취급해서 외부변수로 뺄 수 있나요? 0로 하면 buy, 1로 하면 sell 이런 식으로요. 3. 검색 외부변수: 시간 -외부변수의 '시간' 이후의 첫봉 open값 -일요일의 값은 검색되지 않음. *해선용
프로필 이미지
잡다백수
2019-01-21
170
글번호 125415
시스템
답변완료

안녕하세요

반갑습니다 아래식을 각각의띠(폭) 가능하면 부탁합니다 1.1고가 2고가 2.1저가 2저가 띠간격(폭)은3정도요 input : 타주기분1(15),타주기분2(30); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0); var : tx1(0),tx2(0),tx3(0),tx4(0); Array : O1[100](0),H1[100](0),L1[100](0); Array : O2[100](0),H2[100](0),L2[100](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; //15분 TF1 = TM%타주기분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { O1[0] = O; H1[0] = H; L1[0] = L; for cnt = 1 to 99 { O1[cnt] = O1[cnt-1][1]; H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; plot1(O1[0],"시가1"); plot2(H1[0],"고가1"); plot3(L1[0],"저가1"); Text_Delete(tx1); Text_Delete(tx2); tx1 = Text_New(sdate,stime,H1[0],NumToStr(H1[0],2)); tx2 = Text_New(sdate,stime,L1[0],NumToStr(L1[0],2)); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,0); //30분 TF2 = TM%타주기분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { O2[0] = O; H2[0] = H; L2[0] = L; for cnt = 1 to 99 { O2[cnt] = O2[cnt-1][1]; H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; } } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; plot4(O2[0],"시가2"); plot5(H2[0],"고가2"); plot6(L2[0],"저가2"); Text_Delete(tx3); Text_Delete(tx4); tx3 = Text_New(sdate,stime,H2[0],NumToStr(H2[0],2)); tx4 = Text_New(sdate,stime,L2[0],NumToStr(L2[0],2)); Text_SetStyle(tx3,0,1); Text_SetStyle(tx4,0,0); } 감사합니다
프로필 이미지
byeongup
2019-01-19
173
글번호 125414
지표
답변완료

문의

볼린져밴드 표준편차를 2와 1이 같이 나타나도록 볼린져밴드수식 부탁드릴게요
프로필 이미지
레전드
2019-01-19
146
글번호 125413
지표

팬텀 님에 의해서 삭제되었습니다.

프로필 이미지
팬텀
2019-01-19
44
글번호 125412
지표

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

프로필 이미지
회원
2019-01-19
40
글번호 125411
지표
답변완료

수익차트

이 게시판에 있는 수익차트 지표 잘 봤습니다. 여기에 피라미딩과 손절청산전략이 포함된 시스템을 지표로 나타내는 걸 보고 싶습니다. 예시는 터틀전략입니다. 이 시스템으로 수익차트를 구성해주세요. 처음부터 다시 만들어야 될것 같은 지표식인데, 혹시 모르니 골든/데드로만 된 수익차트식을 같이 붙여넣겠습니다. [ 시스템 ] Input: Capital(100000000); Var: AtrV(0), Unit(0), MP(0); AtrV = ATR(20); Unit = (Capital*0.02)/(AtrV); if Unit < 1 then Unit = 1; MP = MarketPosition; # 진입 If MP == 0 then { buy("B", atstop, Highest(High,20), Unit); } # 피라미딩 진입 If MP == 1 and CurrentEntries < 4 Then buy("bp", atstop, EntryPrice+AtrV[BarsSinceEntry]*1*CurrentEntries, Unit); # 청산 If MP == 1 Then { ExitLong("EL", atstop,Lowest(L,10)); ExitLong("EL_stop",AtStop,AvgEntryPrice-2*AtrV); } [ 수익차트 ] input : 진입날짜(20150102),진입시간(90000); input : 진입수수료(0),청산수수료(0); input : 진입슬리피지(0),청산슬리피지(0); Input : P1(5), P2(20); var : T(0),sumPL(0),totalPL(0),HH(0); value1 = ma(C, P1); value2 = ma(C, P2); if sdate == 진입날짜 and (stime == 진입시간 or (stime > 진입시간 and stime[1] < 진입시간)) Then Condition1 = true; if Condition1 == true then{ If T <= 0 and CrossUP(value1, value2) Then{ var1 = C; if T == -1 Then{ sumPL = SumPL+(var2-C-진입수수료-청산수수료-진입슬리피지-청산슬리피지); } T = 1; } If T >= 0 and CrossDown(value1, value2) Then{ var2 = C; if T == 1 Then{ sumPL = sumPL+(C-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지); } T = -1; } if T == 1 Then totalPL = sumPL+(C-var1-진입수수료-청산수수료-진입슬리피지-청산슬리피지); if T == -1 Then totalPL = sumPL+(var2-C-진입수수료-청산수수료-진입슬리피지-청산슬리피지); if totalPL > HH Then HH = totalPL; plot1(totalPL,"누적수익"); plot2(HH,"최고누적수익"); plot3(HH*0.6,"최고누적수익 60%"); }
프로필 이미지
크라젠
2019-01-18
170
글번호 125410
지표