커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1516
글번호 230811
심홍 님에 의해서 삭제되었습니다.
2025-10-21
55
글번호 227113
답변완료
수식 문의드립니다.
1. 아래 사진은 이격도 크로스업,다운 매수매도 지표입니다. 이 지표를 macd 0 크로스업,다운 매수매도 식에 대입하여 macd 0 크로스업 매수 이후 이격도 신호가 발생했을경우 이격도신호 구간에 macd 시그널이 크로스 다운시 매도하는 식을 추가하고 싶은데 변경 부탑 드립니다.input : period(30), Lpercent(130), Spercent(110);input : short(12),long(24),sig(4)ver : value(0);value=Disparity(Period);..if value > Lpercent and macd 시그널크로스다운 식을 중간에 넣어서 구하려고 해보았지만 반만 되는? 상황이라 도움 부탁드립니다.2. 이격도 구간 macd 시그널 크로스다운 매도(s1)가 완성 되었다면 이후 -15% 에서 다시 매수(b1)하는 식도 함께 만들고 싶습니다. 직전 매도가 s1으로 끝났을 경우 매도가의 -15%에서 재매(b1)수식도 함께 부탁드립니다.3.한 캔들에 매수와 매도가 함께 발생하는 경우가 종종 있는데 매도시 바로 매수가 발생하지 않고 다음 캔들 부터 발생하는 수식도 있을까요? 감사합니다!!
MACD
disparity
이격도
2025-10-21
242
글번호 227112
사공하늘 님에 의해서 삭제되었습니다.
2025-10-21
68
글번호 227111
답변완료
시스템
안녕하세요 아래식을 수정완료해주시면 정말정말 감사하겠습나다
Inputs:
MarketType(1), // 1 = ES, 2 = NQ
Length(10),
ATRlen(14),
ATRmultForStop(2.0),
ATRmultForTrail(1.2), // 트레일링 스톱 배수
ADXlen(14),
ADXth(25),
RSIlen(14),
RiskPct(0.01),
AccountSize(100000),
PvalMinTicks(3),
PvalATRScale(0.5),
MaxContracts(10),
MaxTradesPerDay(3),
DayProfitTicks(600),
DayLossTicks(160);
Vars:
Mom(0),
ATRv(0),
ADXv(0),
RSIv(0),
PvalTicks(0),
PvalPrice(0),
StopTicks(0),
StopDistance(0),
RiskPerContract(0),
ContractsToTrade(0),
N1(0),
DayPl(0),
Xcond(False),
TradesToday(0),
HTF_MA(0),
TickSize(0),
TickValue(0),
DayProfitAmt(0),
DayLossAmt(0),
TrailStopPrice(0);
/*---------------------------------------------------------------
상품별 기본 파라미터 설정 (숫자형 MarketType 사용)
---------------------------------------------------------------*/
If MarketType = 1 Then // ES (E-mini S&P 500)
Begin
TickSize = 0.25;
TickValue = 12.5;
ADXth = 25;
ATRmultForStop = 2.0;
End
Else If MarketType = 2 Then // NQ (E-mini NASDAQ)
Begin
TickSize = 0.25;
TickValue = 5.0;
ADXth = 28;
ATRmultForStop = 2.2;
End;
/*---------------------------------------------------------------
기본 지표 계산 (호환성: Average(TrueRange, n) 사용)
---------------------------------------------------------------*/
Mom = Close - Close[Length];
If CurrentBar > ATRlen Then
ATRv = Average(TrueRange, ATRlen)
Else
ATRv = TrueRange; // 초기 바 처리용(극초기에는 TrueRange로 대체)
ADXv = ADX(ADXlen);
RSIv = RSI(Close, RSIlen);
PvalTicks = MaxList(PvalMinTicks, IntPortion((ATRv * PvalATRScale) / TickSize + 0.5));
PvalPrice = PvalTicks * TickSize;
StopDistance = ATRv * ATRmultForStop;
StopTicks = MaxList(1, IntPortion(StopDistance / TickSize + 0.5));
RiskPerContract = StopTicks * TickValue;
If RiskPerContract > 0 Then
ContractsToTrade = IntPortion((AccountSize * RiskPct) / RiskPerContract)
Else
ContractsToTrade = 1;
If ContractsToTrade < 1 Then ContractsToTrade = 1;
If ContractsToTrade > MaxContracts Then ContractsToTrade = MaxContracts;
/*---------------------------------------------------------------
일별 손익 관리
---------------------------------------------------------------*/
If BDate <> BDate[1] Then
Begin
Xcond = False;
N1 = NetProfit;
TradesToday = 0;
End;
DayPl = NetProfit - N1;
If TotalTrades > TotalTrades[1] Then TradesToday = TradesToday + 1;
DayProfitAmt = DayProfitTicks * TickValue;
DayLossAmt = DayLossTicks * TickValue;
If DayPl >= DayProfitAmt Or DayPl <= -DayLossAmt Then
Xcond = True;
/*---------------------------------------------------------------
상위 타임프레임(HTF) 필터 (Data2 = 4H)
차트에 Data2(240분)를 추가해야 HTF_MA가 계산됩니다.
---------------------------------------------------------------*/
If NumDataStreams > 1 Then
HTF_MA = AverageFC(Close of Data2, 50)
Else
HTF_MA = 0;
/*---------------------------------------------------------------
진입 조건
---------------------------------------------------------------*/
If Xcond = False And TradesToday < MaxTradesPerDay Then
Begin
// Long Entry
If Mom > 0 And Mom >= Mom[1] And ADXv > ADXth And RSIv > 50 Then
Begin
If (NumDataStreams < 2) Or (Close > HTF_MA) Then
Buy ("Mom_LE") ContractsToTrade contracts next bar at High - PvalPrice limit;
End;
// Short Entry
If Mom < 0 And Mom <= Mom[1] And ADXv > ADXth And RSIv < 50 Then
Begin
If (NumDataStreams < 2) Or (Close < HTF_MA) Then
SellShort ("Mom_SE") ContractsToTrade contracts next bar at Low + PvalPrice limit;
End;
End;
/*---------------------------------------------------------------
포지션 청산: ATR 스톱 + 트레일링 스톱 + 일별 손익 기반
---------------------------------------------------------------*/
If MarketPosition = 1 Then
Begin
// 기본 ATR 스톱
ExitLong("ATR_Stop") AtStop EntryPrice - StopTicks * TickSize;
// 트레일링 스톱: 최근 5봉 최고가 - ATR * ATRmultForTrail
TrailStopPrice = Highest(High, 5) - ATRv * ATRmultForTrail;
If TrailStopPrice > EntryPrice - StopTicks * TickSize Then
ExitLong("TrailStop") AtStop TrailStopPrice;
// 일별 익절/손절 분배 (기존 방식 유지)
If CurrentContracts > 0 Then
Begin
ExitLong("DayProfit") AtLimit EntryPrice + ((DayProfitAmt - DayPl) / CurrentContracts) / TickValue * TickSize;
ExitLong("DayLoss") AtStop EntryPrice - ((DayLossAmt + DayPl) / CurrentContracts) / TickValue * TickSize;
End;
End;
If MarketPosition = -1 Then
Begin
ExitShort("ATR_StopS") AtStop EntryPrice + StopTicks * TickSize;
TrailStopPrice = Lowest(Low, 5) + ATRv * ATRmultForTrail;
If TrailStopPrice < EntryPrice + StopTicks * TickSize Then
ExitShort("TrailStopS") AtStop TrailStopPrice;
If CurrentContracts > 0 Then
Begin
ExitShort("DayProfitS") AtLimit EntryPrice - ((DayProfitAmt - DayPl) / CurrentContracts) / TickValue * TickSize;
ExitShort("DayLossS") AtStop EntryPrice + ((DayLossAmt + DayPl) / CurrentContracts) / TickValue * TickSize;
End;
End;
2025-10-21
272
글번호 227110
답변완료
Q&A의 페이지 리스트가 현재 맨아래에 5줄만 보이는데 너무 불편합니다
Q&A의 페이지 리스트가 현재 맨아래에 1~5까지 5페이지 단위인데요 뒤로 뒤로 넘기기가 너무 불편합니다 이 많은 수식들을 참고하는데 적어도 20줄은 보여주세요그리고 맨 마지막 리스트로 가려면 어떻게 해야 하는지요? 계속 수백번을 눌러서 가야 하는지요?
2025-10-21
164
글번호 227105
답변완료
수정좀 부탁드립니다
plot1(var1,"1",iff(aa > var1,iff(var2>var1,굵게1,검정),iff(var2<var1,굵게2,회색)));
위의 지표에서 굵게 1,2를 굵게 부탁드립니다.
선굵기설정
2025-10-21
144
글번호 227103
답변완료
수식문의드립니다.
사진과 같이 파라볼릭 수식을 만들려고 합니다. rsi 상단 70을 상승돌파할때 파라볼릭이 상승구간일때 파라볼릭 상승에서 하락전환하는 캔들에 매수하는 수식을 부탁드립니다. 감사합니다.
RSI
파라볼릭
SAR
2025-10-21
161
글번호 227098
답변완료
문의드립니다.
국내선물 매매에서2계약을 분할 매수할 때 첫 진입은 5/20 이평선 골드크로스시 매수하고 두번째 진입은 진입한 봉의 다음봉이 5틱이상 양봉일 때 매수. 만일 진입봉의 그 다음봉이 5틱이상 양봉이 아닐 경우 두번째 진입은 하지않고 그 다음봉 즉, 진입봉의 다음다음봉이 10틱이상 양봉일 때만 진입(이것도 조건 안맞으면 첫 진입만 하게 됩니다).매도는 그 반대로 진입입니다.미리 노고에 감사드립니다.
피라미딩
추가진입
2025-10-21
159
글번호 227096
심홍 님에 의해서 삭제되었습니다.
2025-10-21
1
글번호 227095