커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식부탁드립니다

수고하십니다 ^^ If 매수조건 == true then Buy("매수", AtLimit, C); If 청산조건 == true then ExitLong("매수청산", AtStop, C); 위와 같은 수식에서 매수신호로 진입하여 연속 3번 익절하면 4번째 매수신호는 건너띄고(4번째 청산신호까지) 5번째 매수신호부터 진입하여 또 다시 3번 익절을 반복하게 하려고 합니다. 만일, 중간에 매도신호가 나오면 곧바로 매도진입(4번째 신호 포함) 하구요. 매도진입하면 매도수익 카운트시작 또는 4번째신호는 미진입하고 4번째신호발생봉으로부터 10봉 이후 발생 신호부터 진입을 허용 감사합니다 ^^
프로필 이미지
surigold
2015-09-21
154
글번호 90524
시스템
답변완료

질문...

건의사항입니다 현재 예스트레이더는 참조종목의 기본종목으로 하면 종목별 개인별 순매수량,외국인 순매수량은 참조종목이 있는데 기관들은 세분화되어있습니다. 기관계를 알기위해선 세분화된 참조종목들을 다 넣어야하는데 너무 차트가 많아지고 번거로운데 기관계를 따로 참조종목으로 만들어 주실수는 없는지요?
프로필 이미지
9회말2아웃
2015-09-20
159
글번호 90523
지표
답변완료

부탁드립니다

투자 주체별 옵션 수급에서.. 개인:(콜매수금액 - 풋매수금액)*10,0000 / (등가양합)*50 기관: 외인; 동일하게 3개 수식을 부탁 드립니다 감사합니다 구벅 ※ 콜,풋 모두 금액은 단위가 억 입니다.. 이를테면 50억(콜)30억(풋) 이라면 ( 50 - 30 ) * 10000 으로 합니다
프로필 이미지
모수
2015-09-20
166
글번호 90522
지표
답변완료

SetStopProfittarget(stoptick1,PointStop) 에 대한 질문입니

아래와 같이 수익실현을 외부변수로 stoptick1(0.12)로 설정하도록 해놨습니다. ========================================================================= Inputs : stoptick1(0.12) ,stoptick(0.3) ............... ............... SetStopProfittarget(stoptick1,PointStop); //0.12틱(1계약시) 수익이면 실현 SetStopLoss(stoptick,pointstop) ; 0.3틱(1계약) 손실이면 손절 ===================================================================== 질문드리겠습니다. 앞으로 2계약을 할려고 합니다. 1) 2계약으로 할때 "시스템 트레이딩 설정"(그림참조)의 동일수량(계약)진입의 거래수량만 1-->2로 설정하면 되는지요?(또 별도 시스템식을 만들어야하는지요?) [SetStopProfittarget(stoptick1,PointStop] 1) 2계약 기준이면... 합쳐서( 1계약 : 0.06틱 + 1계약 : 0.16틱) 0.12틱이면 수익실현되는건지... 아니면 계약당(1계약 :0.12)기준으로 0.12틱이면 수익실현하는건지 궁금합니다. 만약 2계약합쳐서 0.12틱이면 수익실현되는것라면 계약당 0.12틱 수익실현할려면 (즉 2계약 : 0.24틱) 어떻게 시스템식을 만드는지 궁금합니다. 2) 시스템식에서 "진입"신호가 나왔는데... 진입을 못하고 수동으로 진입했을때는 시스템식 SetStopProfittarget(stoptick1,PointStop); //0.12틱 수익이면 실현 하는 부분에서 수동진입가격기준으로 0.12틱 수익이면 실현되는지요? [SetStopLoss(stoptick,pointstop)] 1) 2계약 기준이면... 합쳐서( 1계약 : 0.15틱 + 1계약 : 0.15틱) 0.3틱이면 손절되는건지... 아니면 계약당(1계약 :0.3)기준으로 0.3틱이면 손절실현하는건지 궁금합니다. 만약 계약당 0.3 기준으로 손절실현한다면 2계약합쳐서 0.3틱 손실이면 손절해라 라는 시스템식을 어떻게 만드는지 궁금합니다. ---이상입니다. 운영자님 덕분에... 많은 도움을 받고 있습니다. 감사드리고요/// 추석연휴 잘 보내시길 바랍니다..수고하세요^^
프로필 이미지
수급저격수
2015-09-20
183
글번호 90521
시스템
답변완료

시스템식 부탁드림니다.

1,하기 rsi식을 신호시 시스템식으로 바꾼다. (하단신호시 매수,청산이 되지않고 매수 신호시 추가, 고가선이 볼린저밴드(20,2)상단 골드시 올청산, 상단 신호시에 매도,청산이 되지않고 재 매도신호시 1개 추가, 저가선이 볼린저밴드(20,2)하단선을 데드시에 올청산 ) 2,rsi 식을 macd(12,26)으로 바꾼다. 3,바꾼 macd식을 1번과 같이 만들어 주세요.부탁드림니다.... 4,수식; Input:Period(14),Rsi변동폭(5); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),RsiV(0),추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); RsiV = RSI(Period); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RsiV || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RsiV || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RsiV[1] && Rsi저[0][1] + Rsi변동폭 <= RsiV Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RsiV[1] && Rsi고[0][1] - Rsi변동폭 >= RsiV Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RsiV[1] && Rsi고[0][1] - Rsi변동폭 > RsiV Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RsiV[1] && Rsi저[0][1] + Rsi변동폭 < RsiV Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } #==========================================# # 지표식 출력 #==========================================# If Rsi파동선[1] != Rsi파동선 Then Plot1(파동선); //적당껏 수평이동 Else If LastBarOnChart == 1 Then plot1(Iff(방향 == 상승,고[0],저[0])); iff( rsi파동선>Rsi파동선[1],magenta,blue); #상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승 If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then { 추세선 = (저[1]-저[2])/(저Bar[2]-저Bar[1])*저Bar[2] + 저[2]; Plot2(추세선); } #하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락 if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then { 추세선 = (고[1]-고[2])/(고Bar[2]-고Bar[1])*고Bar[2] + 고[2]; Plot3(추세선); }
프로필 이미지
수루지
2015-09-20
200
글번호 90520
시스템
답변완료

타주기 사용 방법

// 60분봉 20일선 AvgValue = Data2(ma(C,20)); 추차트는 3분봉이고 보조차트가 60분봉 일때 60분봉의 20일선 이평을 이용하고 싶은데 문법 오류가 납니다. 참고로 AvgValue는 변수 지정이 되어 있어 문제없습니다.
프로필 이미지
후따오
2015-09-20
167
글번호 90519
시스템
답변완료

Then 이 걸리고 결과값이 같이 나와요

input : Period(20); var : k2(0); k2 = 100 - 100 / (1 + (AccumN(value2, Period) / AccumN(value3, Period))); if K2 >= 90 Then var1 = 90; else K2 <= 10 Then var1 = 10; Else var1 = k2; plot1(var1); else K2 <= 10 Then 에서 Then 이 걸린다네요 if K2 <= 10 Then 하니까 결과 값이 10으로 나오는데요 그러나 90 이상은 결과 값이 90 이상으로 표시가 되네요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 값이큰경우 > 안녕하세요 예스스탁입니다. input : Period(20); var : k2(0); k2 = 100 - 100 / (1 + (AccumN(value2, Period) / AccumN(value3, Period))); if K2 >= 1.5 Then var1 = 1.5; else K2 <= -1.5 Then var1 = -1.5; Else var1 = k2; plot1(var1); 즐거운 하루되세요 > 멋진승부 님이 쓴 글입니다. > 제목 : 값이큰경우 > 수고하십니다 k2 = 100 - 100 / (1 + (AccumN(value2, Period) / AccumN(value3, Period))); 이 값이 너무 커서 지표로서는 편차가 커요 그래서 1.5 이상의 경우는 1.5로 하고 - 1.5 이하의 경우는 -1.5로 표시하고 싶고 나머지는 그대로 k2 값을 유지하는 방법을 알고 싶네요 감사합니다
프로필 이미지
멋진승부
2015-09-20
1616
글번호 90518
지표
답변완료

부탁드립니다

주야간복합챠트에서 야간장 시가 고기.저가,.종가 수식선과(시가.고가.저가.종가 )글씨가 챠트상에 나타나게 부탁드립니다
프로필 이미지
파생돌이
2015-09-19
179
글번호 90517
지표
답변완료

부탁드립니다.

1. 아래 지표가 영업일 변경시간을 기준으로 당일데이터로만 계산되었는데 당일데이터로 계산되지 않도록 부탁드립니다. 2. 아래 지표를 캔들위에 끌어올려 "양쪽에 표시"로 넣어서 상단밴드2 와 하단밴드2 에 캔들이 부디칠때 소리가 나게 하고싶습니다. 소리는 두가지로 제가 넣을 수 있도록 우선 기본 소리로 부탁드립니다. 3. 아래 두개의밴드 상하단밴드와 상단하단밴드2 의 값을 알고싶습니다. 감사합니다. var : R1(0),R2(0); var : S1(0),S2(0); var : sumi(0),sumC(0),sumH(0),sumL(0); if Bdate != Bdate[1] Then{ sumi = 0; sumH = 0; sumL = 0; sumC = 0; } sumi = sumi+1; sumH = sumH+H; sumL = sumL+L; sumC = sumC+C; var1 = sumH/sumI; var2 = sumL/sumI; var3 = sumC/sumI; R1 = var1 + 0.25*(dayhigh(1)-daylow(1)); S1 = var2 - 0.25*(dayhigh(1)-daylow(1)); R2 = var1 + 0.5*(dayhigh(1)-daylow(1)); S2 = var2 - 0.5*(dayhigh(1)-daylow(1)); plot1(var1,"H 당일중심가"); plot2(var2,"L 당일중심가"); plot3(var3,"C 당일중심가"); Plot4(R1, "상단밴드"); Plot5(S1, "하단밴드"); Plot6(R2, "상단밴드2"); Plot7(S2, "하단밴드2");
프로필 이미지
매일상승
2015-09-21
179
글번호 90516
지표