커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

if CrossDown(var3, var4) Then PlaySound("C:₩예스트레이더4₩data₩sound₩알람.wav"); 위와 같은 수식을 사용중인데요. var3가 var4를 왔다갔다 할때마다 계속 소리가나서 불편하더라구요. 처음에 조건 만족시 소리가 나게하고, 이후 5분동안은 조건이 만족되더라도 소리가 안나게 할 수 있나요? 그리고 그 후에도 계속 첫 crossdown 발생시 소리가 나고 5분 묵음 이런식으로요. 답변 부탁드립니다~
프로필 이미지
이목동
2015-06-09
175
글번호 86984
지표
답변완료

부탁드립니다.

smi지표의 기울기로 지표를 작성하고싶읍니다. # 상승 smi 의 기울기가 상승 ( g(13), r(25), s(2)) 단, 조건1. sonar momentum 의 SonarSig 의 기울기가 상승일때, 조건2. s-roc 의 SROCsig 의 기울기가 상승일때, 조건3. trix의 TRIXsig 의 기울기가 상승일때. # 하락은 반대. 미리 감사드립니다.
프로필 이미지
vmfha
2015-06-09
231
글번호 86983
지표
답변완료

간단시스템문의

수고하십니다! 초보인지라 간단시스템 문의합니다 예를들어서 60일선아래에서 5일선과 20일선 데드크로스시 신호와, 반대로 60일선 위에서 5일선과 20일선 골든크로스 신호 부탁합니다. 이평선값은 임의조정할수 있도록 부탁합니다~~~ 감사합니다. 수고하세요 ^*^
프로필 이미지
gopang
2015-06-09
183
글번호 86979
시스템
답변완료

부탁드립니다.

국내선물과 해외선물에 있어서 5분 시가봉을 기준으로 그 다음 봉부터 고점을 넘어서면 매수하고, 저점을 내려가면 매도하는 시스템식을 부탁드립니다. 고맙습니다.
프로필 이미지
서태공
2015-06-09
179
글번호 86976
시스템
답변완료

문의

영웅문w처름 종가선이 직선으로 나타 나게 하는 지표는 가능한가요?가능하다면 부탁드릴게요
프로필 이미지
레전드
2015-06-09
211
글번호 86966
지표
답변완료

글번호 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
193
글번호 86963
시스템
답변완료

수식재부탁입니다.

틱 차트에서 일목균형표 기준선이 50 캔들 이상을 수평으로 가다가 위로 상승하는 캔들에서 빨간색 수직추세선을 그리고 아래로 하락하는 캔들에서 파란색 수직추세선을 그리는 수식 부탁드립니다.
프로필 이미지
무지개나날들
2015-06-09
206
글번호 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
227
글번호 86961
시스템

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

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