커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3449
글번호 230811
답변완료
예스랭귀지로 변환 부탁드려요
A = LinearRegressionValue(C,B, 0);
D= AVG(A, S);
C(1)<D(1) && C>D && D(1)>D
B 11
S 7
즐거운 하루 보내세요~
2025-08-07
229
글번호 193065
답변완료
문의 드립니다.
매도용으로 부탁드립니다.
input : Price(433.60),xPrice(437.00),수량(1);
if crossup(C,price) Then
buy("b",OnClose,Def,수량);
if MarketPosition == 1 Then
{
if CrossUp(C,xPrice) Then
ExitLong("bx1");
if CrossDown(C,Price) Then
ExitLong("bx2");
}
SetStopEndofday(153000);
2025-08-07
252
글번호 193064
답변완료
종목검색식 부탁드림니다.
항상 노고에 감사드림니다.
아래의 수식을 종목검색식으로 부탁드림니다.
A=MA(C, 240);
B=(A+AVGIF(C-A,-1,0.0)-2*STDEVIF(C-A,-1,0.0));//가격박스 하단선
D=(B*1);
AA=BBandsdown(95,2); //BB 하단선
Crossup(C,D) && Crossup(C, AA)
2025-08-07
249
글번호 193063
답변완료
안녕하세요. 수식 문의 드립니다.
매도시 외국인 옵션전체금액이 당일 최저가에서 +10 증가했을때 즉시청산
매수시 외국인 옵션전체금액이 당일 최고가에서 -10 증가했을때 즉시청산
단 동시호가 금액을 빼고 싶네요// 1분봉 첫번째 금액은 제외
2025-08-07
241
글번호 193060
답변완료
At stop 함수 관련
안녕하세요.
볼린저 밴드 활용하여 아래와 같은 식으로 자동매매 실행하였는데
어제까지 진입수량이 1 이었는데 다음날 -1로 바뀌었으나 매매가 이루어지지 않았습니다.
자동매매 조건이 모든신호여서 매매가 이루어 졌어야 했을것으로 보이는데 왜 안되었는지 알수 있을까요?
Atmarket 사용시에는 없던 현상이라 문의 드립니다.
If MarketPosition<=0 and H < bbup Then Sell("s",Atstop,bbup);
If MarketPosition>=0 and L > bbdn Then Buy("b"Atstop,bbdn);
2025-08-07
261
글번호 193056
답변완료
안녕하세요. 코딩 수정 부탁드립니다!
Inputs:
factor (3), // SuperTrend ATR 배수
AtrPeriod (14), // SuperTrend ATR 기간
shortLen (12), // EMA 단기 기간
longLen (26); // EMA 장기 기간
Vars:
src (0),
trv (0),
atrv (0),
upperBand (0),
lowerBand (0),
prevUB (0),
prevLB (0),
dir (0),
supertrend (0),
emaShort (0),
emaLong (0);
// === SuperTrend 계산 ===
if CurrentBar > 1 then {
src = (High + Low) / 2;
trv = MaxList(High - Low,
MaxList(Abs(High - Close[1]),
Abs(Low - Close[1])));
atrv = EMA(trv, AtrPeriod);
upperBand = src + factor * atrv;
lowerBand = src - factor * atrv;
prevUB = upperBand[1];
prevLB = lowerBand[1];
if (lowerBand <= prevLB and Close[1] >= prevLB) then
lowerBand = prevLB;
if (upperBand >= prevUB and Close[1] <= prevUB) then
upperBand = prevUB;
if Close > upperBand then
dir = 1;
else if Close < lowerBand then
dir = -1;
if dir == 1 then
supertrend = lowerBand;
else
supertrend = upperBand;
}
// === EMA 계산 ===
emaShort = EMA(Close, shortLen);
emaLong = EMA(Close, longLen);
// === 상태 기반 진입·청산 ===
// 롱 진입: 포지션 없고 EMA > & 가격 > SuperTrend
if MarketPosition == 0
and emaShort > emaLong
and Close > supertrend then {
Buy("LongEntry");
}
// 롱 청산: 롱 보유 중 EMA < & 가격 < SuperTrend
if MarketPosition > 0
and emaShort < emaLong
and Close < supertrend then {
ExitLong("LongExit");
}
// 숏 진입: 포지션 없고 EMA < & 가격 < SuperTrend
if MarketPosition == 0
and emaShort < emaLong
and Close < supertrend then {
Sell("ShortEntry");
}
// 숏 청산: 숏 보유 중 EMA > & 가격 > SuperTrend
if MarketPosition < 0
and emaShort > emaLong
and Close > supertrend then {
ExitShort("ShortExit");
}
담당자님 안녕하세요. 항상 고생많으십니다.
현재 스위칭 진입,청산 전략을 사용하고 있습니다.
예를 들어 매수 후 매도 청산 -> 다음봉에서 다시 매도진입 이런식으로 되는데
혹시 청산하면서 그 봉에서 바로 스위칭 진입하는 코딩으로 만들어 주실 수 있으실까요??
매수 후 매도 청산 -> 그 봉에 종가에서 바로 매도 진입
매도 후 매수 청산 -> 그 봉에 종가에서 바로 매수 진입
이렇게 부탁드리겠습니다! 감사합니다.
2025-08-06
305
글번호 193054
답변완료
지표문의
1.아래지표 검증이 안됨
수정 좀 해주세요
그리고 밑에 막대말고 왼쪽 수평 막대선으로 표시되게 좀 수정 좀 해주세요
Vars:
priceStep(100), // 가격 구간 간격 설정 (예: 100포인트)
maxBars(100), // 분석할 봉 수
i(0), j(0),
priceMin(0), priceMax(0),
priceLevel(0),
volumeBins(1000), // 구간 개수 (최대)
volArray ; // 거래량 누적 배열
// 초기화
Array: volArray ;
// 최소, 최대 가격 계산
priceMin = Close;
priceMax = Close;
For i = 0 to maxBars - 1 Begin
If Low[i] < priceMin Then priceMin = Low[i];
If High[i] > priceMax Then priceMax = High[i];
End;
// 가격 구간 개수 계산
Vars: binCount(0);
binCount = IntPortion((priceMax - priceMin) / priceStep) + 1;
// 배열 초기화
For i = 0 to binCount - 1 Begin
volArray[i] = 0;
End;
// 가격대별 거래량 누적
For i = 0 to maxBars - 1 Begin
priceLevel = IntPortion((Close[i] - priceMin) / priceStep);
If priceLevel >= 0 and priceLevel < binCount Then
volArray[priceLevel] = volArray[priceLevel] + Volume[i];
End;
// 결과 출력 (차트에 히스토그램으로 표시)
For j = 0 to binCount - 1 Begin
Plot1[0](volArray[j], "Vol@Price");
// Plot 위치 조정 필요 시: SetPlotYPosition(Plot1, priceMin + j * priceStep);
End;
2.그럼 즐거운 하루 되세요
2025-08-06
352
글번호 193053
답변완료
이동평균선 기울기(양/음)에 따라 색깔 달리하기
안녕하세요 .. 이동평균선 종류별로 기울기가 변함에 따라 색깔을 달리하는 수식 작성 부탁드립니다.
색깔은 다음과 같이 해 주세요...
5 이평 : 기울기 양(밝은 초록), 기울기 음(어두운 초록)
20 이평 : 기울기 양(밝은 빨강), 기울기 음(어두운 빨강)
60 이평 : 기울기 양(밝은 파랑), 기울기 음(어두운 파랑)
120 이평 : 기울기 양(밝은 노랑), 기울기 음(어두운 노랑)
240 이평 : 기울기 양(밝은 보라), 기울기 음(어두운 보라)
감사합니다....
2025-08-07
353
글번호 193052
답변완료
지표 질문입니다
1.
var1=highest(H,20);
var2=lowest(L,20);
plot1(var1);
plot2(var2);
이 수식을 실행하면 선 두 개가 실행되는데
var1 선 우측 위에 var2 바닥 포함 var1 천정까지 캔들수(양봉,음봉,도지) 표시하는 수식
var2 선 우측 아래 var1 천정 포함 var2 바닥까지 캔들수(양봉,음봉,도지) 표시하는 수식
2.
'봉세기 갯수' 버튼을 클릭해서
2025/04/09 바닥에서 2025/07/31 천정까지 드래깅하면
77봉(45,31,1) 이라고 표출됩니다
여기에 한 개 추가하여 양봉 덩어리 갯수 22개를 추가하여 77봉(45,31,1,22) 로 표출
3.
'봉세기 갯수' 버튼을 클릭해서
2025/03/26 천정에서 2025/04/09 바닥까지 드래깅하면 11봉(4.7,0)이 출력됩니다
여기에 1개 추가하여 음봉 덩어리 갯수 3개를 포함하여 11봉(4.7,0,3)) 로 표출
4.
검색식에서 음봉+연속 2양 익일 시가 상승 출발 종목을 검색하는 수식 부탁드립니다
그리고 수식을 이용하여 아이엠증권 예스트레이더 차트에서 그 종목을 검색하는 프로세스를 설명해주시면 감사하겠습니다
감사합니다
2025-08-06
328
글번호 193051