커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

글번호 42268번 답변에 대한 재질문

1. 아래의 글에서 "NP1에는 전일마지막봉 까지의 총손익을" 여기서 총손익이 실현손익만을 뜻하나요? 아니면 평가손익손익도 고려한 것인가요? 2. 전일 진입한 포지션을 보유한 상태에서 익영업일(당일)로 변경되어 당일에 청산된 경우는 어떻게 되나요? 전일의 총손익 결과에 따라 당일의 추가 신호발생에 따른 매매가 이루어 지나요? 아니면 당일의 총손익 결과에 따라 당일에 추가신호가 발생되면 추가적으로 매매가 이루어지나요? 이때 전일의 경우에는 마지막 봉인데 반면 당일은 봉카운트가 청산봉까지인가요? 2-1. 전일 진입한 포지션이 전일 마지막 봉까지 평가이익 + 당일 이익실현 청산시 당일 및 익일 거래 발생여부 2-2. 전일 진입한 포지션이 전일 마지막 봉까지 평가이익 + 당일 손실실현 청산시 당일 및 익일 거래 발생여부 2-3. 전일 진입한 포지션이 전일 마지막 봉까지 평가손실 + 당일 이익실현 청산시 당일 및 익일 거래 발생여부 2-4. 전일 진입한 포지션이 전일 마지막 봉까지 평가손실 + 당일 손실실현 청산시 당일 및 익일 거래 발생여부 - 아래 - 안녕하세요 예스스탁입니다. NP는 총손익입니다. if bdate != bdate[1] Then는 새로운 영업일 시작시점을 나타냅니다. 새로운 영업일이 시작할때마다 NP1에는 전일마지막봉 까지의 총손익을 MP2에는 전봉(전일마지막봉)에서의 MP1값을 저장하므로 전전일 마지막봉에서의 총손익입니다. 즉 전일 총손익이 전전일 총손익대비 증가했으면 condition1이 true가 됩니다. condition1 == false일때만 진입하게 하셨다면 전일 거래가 없으면 NP1과 NP2가 값이 같으므로 당일 진입합니다. 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수 의미 문의 > 아래 수식의 의미가 어떤 건가요? 전전일에 수익이 발생되어 전일 매매가 생략되었다면 당일은 어떻게 되는지요? 전일 매매가 없었으로 당일은 무조건 매매가 되는지요? 아니면 전일 매매가 생략되었더라도 조건에 따라 전일의 신호를 가정하고, 그 가정에 의해 발생된 신호가 이익이 되었다면 당일도 매매가 생략거나, 손실이라면 당일에 매매가 성립되는지요? var : entry(0),NP(0),NP1(0),NP2(0); NP = NetProfit; if bdate != bdate[1] Then{ entry = 0; NP1 = NP[1]; NP2 = NP1[1]; Condition1 = true; if NP1 > NP2 Then Condition1 = false; }
프로필 이미지
통큰베팅
2015-06-09
148
글번호 86963
시스템
답변완료

수식재부탁입니다.

틱 차트에서 일목균형표 기준선이 50 캔들 이상을 수평으로 가다가 위로 상승하는 캔들에서 빨간색 수직추세선을 그리고 아래로 하락하는 캔들에서 파란색 수직추세선을 그리는 수식 부탁드립니다.
프로필 이미지
무지개나날들
2015-06-09
168
글번호 86962
지표
답변완료

확인부탁드립니다.

아래내용은 2011년 3월경에 수##왕 님의 글입니다. 그당시 for문 안에서의 문제가 지금은 해결된건지 알고싶습니다.(배열안에 for문이 적용된거였습니다) =============================================================== 본론으로 들어가기에 앞서 몇가지 팁부터 설명드리겠습니다. 예스랭귀지 에디터의 오류로 보아야 할 지 모르겠지만 CrossUP()이나 CrossDown()등의 내장 함수가 For문 안에서 제대로 계산되지 않는 문제도 발견되었습니다. Highest(), Lowest() 처럼 가장 많이 사용하는 함수도 For문안에서 틀린 값이 나오는 바람에 원인 찾느라 무지 애먹었습니다. 예제에서는 Highest(), Lowest() 함수를 다루지 않기 때문에 먼저 해결 방법을 제시해드립니다. 아래 수식은 Swing파동선 로직의 일부입니다. If Highest(H,left)[right+1] <= H[right] && H[right] > Highest(H,right) && Lowest(L,left)[right+1] >= L[right] && L[right] < Lowest(L,right) Then { 구분 = Iff(고Bar[1]>저Bar[1],고점,저점); } 위 원본 수식에서 left와 right가 입력변수이며 이것의 최적 변수값을 찾는게 목적이므로 다음처럼 수정해야 할 겁니다. For n = 1 to 100 { left = int((n-1)/10)%10+5; //변수 값의 범위를 5~14로 봄 right = (n-1)%10+5; //변수 값의 범위를 5~14로 봄 If Highest(H,left)[right+1] <= H[right] && H[right] > Highest(H,right) && Lowest(L,left)[right+1] >= L[right] && L[right] < Lowest(L,right) Then { 구분[n] = Iff(고Bar[n*10+1]>저Bar[n*10+1],고점,저점); } } 디버그 모드로 검증해보면 left 값이나 right값이 정상적으로 산출되었음에도 Highest(H,left)[right+1] 값이 틀리게 나옵니다. For문안에서 문제가 되는 것으로 보이며 아래처럼 For문 실행 전에 Highest값을 미리 산출해 놓는 겁니다. For j = 3 To 19 //아래의 메인 for문을 수행하기 전에 배열에다 미리 값을 계산 { Hst[j] = Highest(H,j); Lst[j] = Lowest(L,j); } For n = 1 to 100 { left = int((n-1)/10)%10+5; //변수 값의 범위를 5~14로 봄 right = (n-1)%10+5; //변수 값의 범위를 5~14로 봄 If Hst[left][right+1] <= H[right] && H[right] > Hst[right] && Lst[left][right+1] >= L[right] && L[right] < Lst[right] Then { 구분[n] = Iff(고Bar[n*10+1]>저Bar[n*10+1],고점,저점); } } 요렇게 하면 값이 정상적으로 나옵니다.
프로필 이미지
9단
2015-06-09
166
글번호 86961
시스템

울버린777 님에 의해서 삭제되었습니다.

프로필 이미지
울버린777
2015-06-09
11
글번호 86960
시스템
답변완료

문의드립니다

1일 1회 매매 매수매도조건1. 매수조건 시가위에서 15틱에서 매수 매도조건 시가아래 15틱에서 매도 일봉의 4일선방향이 기울기가 프러스 일때 진입신호는4일선 위에서 매수신호만 매수와청산만 일봉의 4일선방향이 기울기가 마이너스일때 진입신호는 4일선아래서 매도신호만 매도와청산만 또는 매수매도조건2 4일선이 우상향 할 때 시가가 4일선아래에서 양봉으로 4일선 위로 올라올경우 4일선프러스1틱가 매수 4일선이 우하향할 때 시가가 4일선위에서 음봉으로 4일선통괴시 마이너스1틱에서 매도 강제청산 100틱이상에서 이익이 줄어들 때 프러스 20틱에서 청산 강제청산 이익이 150틱이상에서 140틱으로 돌아오면 청산 손절조건 -35틱 청산 그외는 종가청산
프로필 이미지
원칙준수
2015-06-09
181
글번호 86959
시스템

원칙준수 님에 의해서 삭제되었습니다.

프로필 이미지
원칙준수
2015-06-09
1
글번호 86958
시스템
답변완료

지표 수식 부탁드립니다.

안녕하세요... 당일 피보나치 조정대를 23.6%, 38.2%, 50%, 61.8%, 76.4% 선이 그려지도록 표현 부탁드립니다. 감사합니다.
프로필 이미지
정후아빠
2015-06-08
183
글번호 86957
지표
답변완료

1분봉 dema200 이평을 100틱챠트에 표시하기

항상 감사드립니다 아래식을 dema 이평으로 바꾸고 싶습니다 A: 1분봉에서 dema 이평 200선을 100틱챠트에 표시하기... input : P(10); var : Cma(0,data2),Hma(0,data2),Lma(0,data2); Cma = data2(ma(c,P)); Hma = data2(ma(H,P)); Lma = data2(ma(L,P)); plot1(Cma); plot2(Hma); plot3(Lma); B: 100틱봉에서 30분봉 10이평선 표시하기 input : P(10); var : TF(0),cnt(0),Csum(0),Hsum(0),Lsum(0),Cma(0),Hma(0),Lma(0); Array : CC[100](0),HH[100](0),LL[100](0); TF = TimeToMinutes(stime); if dayindex == 0 or (TF > TF[1]) Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; Csum = 0; Hsum = 0; Lsum = 0; if CC[P] > 0 Then{ for cnt = 0 to P-1{ Csum = Csum+CC[cnt]; Hsum = Hsum+HH[cnt]; Lsum = Lsum+LL[cnt]; } Cma = Csum/P; Hma = Hsum/P; Lma = Lsum/P; plot1(Cma); plot2(Hma); plot3(Lma); } C: 100틱봉에서 30분봉 10이평을 상향돌파하면 매수, 100틱봉에서 30분봉 10이평을 하향돌파하면 매도, 감사합니다...
프로필 이미지
조민철
2015-06-08
184
글번호 86956
지표
답변완료

질문있습니다

수고가 많으십니다. 주식종목 10분봉 차트로 시뮬레이션을 돌려보고 있는데요. 생각한대로 잘 안되서 질문드립니다. 제가 작성한 수식은 다음과 같습니다. 수식1) if MarketPosition == 0 Then { buy("매수", AtLimit, DayClose(1)*0.95); } SetStopProfittarget(10); SetStopLoss(10); 이렇게 하면 현재가가 전일종가보다 5%이상 낮으면 무조건 매수해야 되는거 맞죠? 그런데, 매수안될때도 있던데 왜 그런가요? 테스트종목 : 고려포리머 검토대상 날짜 : 2005.03.08 ~ 09 설정조건 : 수정주가 적용, 일간갭보정 미적용, 10분봉차트 8일은 전날보다 -60% 가량 떨어졌고, 9일도 전날보다 -60%가량 떨어졌는데, 그러면 8일에도 매수발생, 9일에도 매수발생이 일어나야 되는거 아닌가요? 그런데, 8일에는 안일어나고 9일에만 일어납니다. 왜 그런지 답변부탁드리고요. 수식2) 이번 전략은 다음과 같습니다. (1)볼린저밴드 하단선보다 -2%이상 떨어진 경우 즉시 매수하되, (2)당일시가가 전날종가보다 -10%이상 하락하여 출발할 경우에는 매수금지 (3)하루중 맨 마지막봉과 맨처음봉에서는 매수가 발생하지 않음 제 생각대로라면 위 종목의 경우 8일과 9일 모두 매수가 일어나면 안되는데, 둘다 매수가 발생하네요. 이것도 왜 그런지 답변부탁드립니다. Input: 볼린저기간(10), 볼린저D(2); Variables: BBTop(0), BBMid(0), BBBot(0); BBTop = BollBandUp(볼린저기간,볼린저D); BBMid = ma(C,볼린저기간); BBBot = BollBandDown(볼린저기간,볼린저D); if MarketPosition == 0 and (DayOpen() > DayClose(1)*0.9) and time > 90500 and time < 144500 Then { buy("매수", AtLimit, BBBot*0.98); } SetStopProfittarget(10); SetStopLoss(10);
프로필 이미지
기똥찬
2015-06-08
177
글번호 86955
시스템