커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

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

프로필 이미지
zmfha
2025-11-11
1
글번호 227876
검색
답변완료

문의 드립니다.

안녕하세요항상 감사드립니다.몇가지 문의 사항이 있어서 문의 드립니다.1. 1분봉이 아닌 30초 봉 챠트는 만들수 없는지요?2. 모니터를 3개를 사용하고 있습니다. 챠트를 box 밖으로 끄집어 내서 여기 저기에 분산해서 1번모니터에 챠트1개, 2번모티너에 챠트 1개,3번모니터에 챠트1개 와 같이 box 밖으로 챠트를 끄집어 내서 여기 저기에 분산해서 배치를 할수는 없는지 알고 싶습니다.감사합니다.
프로필 이미지
뭐이런걸다
2025-11-11
145
글번호 227875
지표
답변완료

문의

A라는 조건이 발생된 기간이 20일 이평이 상승구간에서 발생되는 시그널 만드는 식 부탁합니다.그리고 따로A조건이 해제되는 조건은 여러가지 실험할 수 있게 만들어주시면 감사하겠습니다.꾸벅
프로필 이미지
엉덩공주
2025-11-11
133
글번호 227874
시스템

진입제한

일봉차트 다음의 조건에서 진입할때 한 달에 한번만으로 진입이 제한되는 수식을 부탁드립니다 if crossup(a,b) thenbuy();감사합니다
프로필 이미지
파티아
2025-11-11
122
글번호 227873
시스템
답변완료

수식 문의 드립니다

프로그램 수식 문의 드립니다. 1) 매수: 이전 5봉중 최 고점의 5.5% 를 상향함과 동시 매수 2) 매수: 이전 1봉 중 1봉의 종가를 5.5% 상향함과 동시 매수 3) 매수: 바로1봉전 매도점대비 5.5% 상향함과 동시 매수3) 매도: 이전 매수 점을 5.5% 하향 과 동시 매도 4) 매도: 이전 1봉중 1봉의 종가를 5.5% 하향과 동시매도 5) 매도: 매수가 대비 5.5% 상향과 동시 매도 6) 매도: 20이평선을 5,5% 하향과 동시매도
프로필 이미지
기관장
2025-11-11
140
글번호 227872
시스템
답변완료

문의드립니다

오류가 많습니다 수정부탁드립니다Inputs: Left(2), Right(2), MinBarsGap(3), // 이전 피벗과 최소 바수 간격 MinTickGap(8), // 이전 피벗과 최소 틱 간격 (ES tick=0.25 → 8=2pt) WarmupBars(20), UseVWAPFilter(1), // 1/0 UseMAFilter(1), MALen(60), UseATR(1), ATRlen(14), SLmult(1.2), TPmult(2.0);Vars: hi1P(0), hi1Bar(0), hi2P(0), hi2Bar(0), lo1P(0), lo1Bar(0), lo2P(0), lo2Bar(0), T(0), isPH(0), isPL(0), tick(0.25), SumPV(0), SumV(0), VW(0), ma(0), atr(0), entryP(0);If CurrentBar == 1 Then Begin SumPV = Close * Volume; SumV = Volume;EndElse Begin SumPV = SumPV[1] + Close * Volume; SumV = SumV[1] + Volume;End;If SumV > 0 Then VW = SumPV / SumV;Else VW = Close;ma = Average(Close, MALen);atr = Average(TrueRange, ATRlen);isPH = 0; isPL = 0;If CurrentBar > Left + Right Then Begin If Highest(High, Left + Right + 1)[Right] = High[Right] Then isPH = 1; If Lowest (Low , Left + Right + 1)[Right] = Low [Right] Then isPL = 1;End;If isPH = 1 Then Begin If hi1Bar > 0 Then Begin If (CurrentBar - Right - hi1Bar) < MinBarsGap Then isPH = 0; If AbsValue((High[Right] - hi1P) / tick) < MinTickGap Then isPH = 0; End;End;If isPL = 1 Then Begin If lo1Bar > 0 Then Begin If (CurrentBar - Right - lo1Bar) < MinBarsGap Then isPL = 0; If AbsValue((lo1P - Low[Right]) / tick) < MinTickGap Then isPL = 0; End;End;If isPH = 1 Then Begin hi2P = hi1P; hi2Bar = hi1Bar; hi1P = High[Right]; hi1Bar = CurrentBar - Right; T = 1;End;If isPL = 1 Then Begin lo2P = lo1P; lo2Bar = lo1Bar; lo1P = Low[Right]; lo1Bar = CurrentBar - Right; T = -1;End;If CurrentBar < WarmupBars Then T = T[1];If (T = 1) and (T[1] <> 1) Then Begin If ( (UseVWAPFilter = 0) or (Close >= VW) ) and ( (UseMAFilter = 0) or (Close >= ma) ) Then Begin Buy next bar at market; If UseATR = 1 Then Begin entryP = EntryPrice; Sell next bar at entryP + TPmult * atr limit; Sell next bar at entryP - SLmult * atr stop; End; End;End;If (T = -1) and (T[1] <> -1) Then Begin If ( (UseVWAPFilter = 0) or (Close <= VW) ) and ( (UseMAFilter = 0) or (Close <= ma) ) Then Begin Sell Short next bar at market; If UseATR = 1 Then Begin entryP = EntryPrice; Buy to Cover next bar at entryP - TPmult * atr limit; Buy to Cover next bar at entryP + SLmult * atr stop; End; End;End;
프로필 이미지
처음처럼22
2025-11-11
166
글번호 227870
시스템

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

프로필 이미지
ksks
2025-11-11
1
글번호 227868
종목검색
답변완료

OVB 식의 시가 표시

늘 감사합니다.OVB 식의 당일 시가, 고가, 저가, 종가를 표시하는 지표식 전일의 시가, 고가, 저가, 종가를 표시하는 지표식 부탁합니다.감사합니다.
프로필 이미지
상암동
2025-11-10
122
글번호 227867
지표
답변완료

질문 있습니다.

질문 요점: 청산 후 NetProfit 체크 방식으로도 진입 차단 문제 발생안녕하세요.이전 질문에 대한 답변 감사합니다. (글번호 227784)"매 틱마다 체크하지 말고 청산 후에만 체크하라"는 조언을 참고하여 코드를 수정했는데, 여전히 같은 문제가 발생합니다.ㅜㅜ ===========================================구현하려는 기능===========================================주간 손실 제한 시스템:- 지난주 수익: 금요일 종가 까지 +200틱 벌었고- 이번주 월요일 시작하면서 최대 손실 허용: -200틱 입력 합니다.- 이번주 월~금 중에 누적 손실이 -200 도달 시: 강제 청산 + 이번 주 매매 종료예시:월요일 NetProfit: 200 → 210 → 160 → 90수요일 NetProfit: 90 → 0→ WeeklyProfit = 0 - 200 = -200→ 강제 청산 + 이번 주 매매 종료=========================================== 문제 상황===========================================UseWeeklyStop=0: 정상 작동 되지만...UseWeeklyStop=1: 차트 신호 전부 사라집니다. ㅠㅠ 차트에 아무것도 없습니다.===========================================핵심 코드===========================================// === Input ===Input : UseWeeklyStop(0); // 0=OFF, 1=ONInput : WeekStartProfit(0); // 이번 주 시작 수익 (틱)Input : MaxWeekLoss(-200); // 최대 허용 손실 (틱, 음수)// === 변수 ===Var : WeeklyProfit(0); // 이번 주 누적 수익Var : WeekStopTriggered(0); // 주간 손실 도달 플래그// === 진입 조건 (기존 조건 + WeekStopTriggered 체크) ===if MarketPosition == 0 and InWaitPeriod == 0 and (기타 진입 조건들...) and WeekStopTriggered == 0 Then { Buy("L", OnClose, Def, 1); // 진입 후 초기화...}// === 청산 후 주간 손실 체크 (손절 예시) ===if MarketPosition == 1 Then { // 손절 조건 if C <= StopPrice Then { ExitLong("U-"); LastExitDate = sDate; LastExitTime = CurrentTime; WaitMinutes = 1200; InWaitPeriod = 1; // 청산 직후 주간 손실 체크 if UseWeeklyStop == 1 and WeekStopTriggered == 0 Then { WeeklyProfit = NetProfit - WeekStartProfit; if WeeklyProfit <= MaxWeekLoss Then { WeekStopTriggered = 1; InWaitPeriod = 1; WaitMinutes = 99999; // 긴 대기시간으로 차단 } } } // 익절 조건 if H >= UpperBand Then { ExitLong("U+"); LastExitDate = sDate; LastExitTime = CurrentTime; WaitMinutes = 300; InWaitPeriod = 1; // 청산 직후 주간 손실 체크 if UseWeeklyStop == 1 and WeekStopTriggered == 0 Then { WeeklyProfit = NetProfit - WeekStartProfit; if WeeklyProfit <= MaxWeekLoss Then { WeekStopTriggered = 1; InWaitPeriod = 1; WaitMinutes = 99999; } } }}// 매도 포지션도 동일한 방식으로 구현=========================================== 디버깅 시도===========================================1. UseWeeklyStop=0으로 설정 했는데 정상 작동이 됩니다. 2. UseWeeklyStop=1, WeekStartProfit=0, MaxWeekLoss=-200 로 했더니 백테스트 시작부터 차트에 진입 신호 없고 아무것도 없습니다. 3. 백테스트 초기 상태는 아래와 같습니다. - NetProfit = 0 - WeekStartProfit = 0 - MaxWeekLoss = -200 - WeekStopTriggered = 0 - WeeklyProfit = 0 - 0 = 0 - 0 <= -200? → False (정상) 이론상 문제없어 보이는데 실제로는 진입 안됨4. WeekStopTriggered 관련 코드 전부 주석 처리 하니 정상 작동 됨 → WeekStopTriggered 변수 자체에 문제일가요?===========================================질문===========================================1. 청산 후에만 NetProfit를 체크하는데도 백테스트 초기에 진입이 차단되는 이유가 뭘까요?2. WeekStopTriggered 초기값이 0인데 진입 조건에서 WeekStopTriggered == 0 체크만으로 진입이 안 되는 이유가 있을까요?3. 변수 초기화 시점이나 스코프 문제일까요? - Var : WeekStopTriggered(0); 선언만으로 충분한가요? - 추가 초기화가 필요한가요?4. 이런 방식 대신 다른 방법을 사용해야 하나요? - NetProfit 대신 다른 함수? - 플래그 변수 대신 다른 방식?===========================================도움 요청===========================================주간 손실 제한 기능을 올바르게 구현하는 방법을 알려주시면 감사하겠습니다!- 청산 후 NetProfit 체크 방식이 맞나요?- 변수 초기화나 사용 방법에 문제가 있을까요?- 다른 접근 방법이 필요할까요?ㅜㅜ감사합니다!
프로필 이미지
스오어스
2025-11-10
295
글번호 227863
시스템