커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1316
글번호 230811
답변완료
수식변환요청
다음수식 변환 부탁드립니다
A=(C-C(1))/C(1)*100>=10;
B=V>=Highest(V,기간);
S1=A && B;
M1=ma(C,period);
SS=ValueWhen(1,S1,M1);
C>SS && O< SS
감사합니다
2025-05-28
296
글번호 191258
답변완료
도움 부탁드립니다
안녕하세요
분봉이나 틱봉에 적용하고자 합니다.
2가지 방식의 검색식 부탁드립니다.
1. 15분 시가선이 있고 시가선위에 캔들이 있을때 빨강색 원표시
15분 시가선이 있고 시가선아래에 캔들이 있을때 파랑색 원표시
2. 15분 시가선이 있고 5이평선이 시가선을 크로스업 했을때 빨강색 원표시
15분 시가선이 있고 5이평선이 시가선을 크로스다운 했을때 파랑색 원표시
* 15분과 이평은 변수로 부탁드립니다.
2025-05-28
277
글번호 191257
답변완료
수식 부탁 드립니다
볼린져 밴드 하단 터치후 양봉 발생시 매수
중심선 터치후 음봉 발생시 매수청산 또는 볼린져밴드 상단터치후 음봉 발생시 매수청산
볼린져 밴드 상단 터치후 음봉발생시 매도
중심선 터치후 양봉 발생시 매도청산 또는 볼린져 밴드 하단터치후 양봉 발생시 매도청산
첨부파일 변수값으로 작성 부탁 드립니다
2025-05-28
271
글번호 191256
답변완료
검색식 문의 드립니다!
트레이딩뷰에서 사용되던 알파트렌드라는 지표를 검색하는 검색식인데요. 이 식은 사진처럼 파란선이 빨간선 위로 골든 나올때 검색하는 식입니다. 일단 식을 올리자면
input : coeff(1);
input : AP(14);
input : novolumedata(1);#1:true, 0:False
var : atrv(0),src(0),upt(0),downt(0),AlphaTrend(0);
var : buySignalk(False),sellSignalk(False),조건(False);
ATRv = ma(TrueRange, AP);
src = close;
upT = low - ATRv * coeff;
downT = high + ATRv * coeff;
Condition1 = False;
if novolumedata == 1 and rsi(AP) >= 50 Then
Condition1 = true;
if novolumedata == 0 and MFI(AP) >= 50 Then
Condition1 = true;
AlphaTrend = iff(Condition1 , IFf(upT < iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]), iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]) , upT),IFf(downT > iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]) , iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]) , downT));
조건=AlphaTrend>AlphaTrend[2];
IF 조건 && !조건[1] && C>AlphaTrend && RSI(AP)>50 TheN
Find(1);
여거 이구요 제가 변경하고픈 방식의 검색식은 다른 사진처럼 파란선이 계속 상승이면서 차트상 캔들이 음봉일때를 검색하고픈데 가능할까요? 바쁘신데 항상 감사합니다!
2025-05-28
300
글번호 191253
답변완료
수식수정
틱차트에서 VWAP차트를 쓰려는데요.
아래 수식 오류좀 점검 부탁드립니다.
Inputs:
ResetTime(093000); // 장 시작 시점
Vars:
CumVol(0), // 누적 거래량
CumPV(0), // 누적 가격 × 거래량
VWAP(0),
SessionReset(False); // 리셋 조건
// 세션 시작 시 누적값 리셋
If Time = ResetTime Then
Begin
CumVol = 0;
CumPV = 0;
SessionReset = True;
End
Else
SessionReset = False;
// 누적 계산
CumVol = CumVol + Volume;
CumPV = CumPV + Close * Volume;
If CumVol > 0 Then
VWAP = CumPV / CumVol;
// 출력
Plot1(VWAP, "VWAP");
2025-05-28
316
글번호 191252
답변완료
종목 검색 부탁드립니다.
AA=(H+L+C)/3;
BB=AA*V;
X1=SUM(BB,기간);
X2=SUM(V,기간);
dev1 = mult1 * stdev(AA, 기간);
dev2 = mult2 * stdev(AA, 기간);
dev3 = mult3 * stdev(AA, 기간);
CT=X1/X2;
CT+dev2;
기간: 120
mult1:1
mult2:2
mult3:3
라인을 돌파시 종목 검색식 부탁드립니다
2025-05-28
257
글번호 191251
답변완료
문의드립니다
안녕하세요?
현재신호가 발생하는봉보다 1봉 이전봉에 신호가 발생하게 할수있는지?궁금합니다
감사합니다
if signal_up == true Then
Buy();
{
tx = Text_New_Self(sDate[1],sTime[1],base[1],"◆");
Text_SetColor(tx,Orange);
Text_SetStyle(tx,2,2);
}
if signal_dn == true Then
Sell();
{
tx = Text_New_Self(sDate[1],sTime[1],base[1],"◆");
Text_SetColor(tx,Orange);
Text_SetStyle(tx,2,2);
}
2025-05-28
259
글번호 191248
답변완료
수식작성 부탁드립니다
아래 수식을 초 단위로 나타낼수 있도록 부탁 드립니다
(예시
nput : n(60);
var : S1(0),D1(0),sTM(0),et(0),ets(0),eTM(0);
Var : SS(0),TS(0),second(0),ii(0),cnt(0);
if Bdate != Bdate[1] Then
{
stm = TimeToMinutes(stime);
D1 = Bdate;
ii = 0;
}
if D1 > 0 then
{
ii = ii +1;
if date == D1 Then
eTM = TimeToMinutes(time)-S1;
Else
eTM = TimeToMinutes(time)+1440-S1;
ss = sTM*60;
et= eTM*60;
ets = FracPortion(time/100)*100;
TS = et+ets;
Second = TS-SS;
.
.
.
}
아래 수식 변경 부탁 드립니다.
Input : long(34),signal(9),Po(2);
var : hlc(0),hi0(0),lo0(0),Ema5(0),Ema6(0),mi0(0);
var : IMACD(0),sig(0),histo(0),IMACD색(0);
hlc = (h+l+c)/3;
hi0 = iff(IsNan(hi0[1]) == true, ma(high,long), hi0[1]*(long-1)+high)/long;
lo0 = iff(IsNan(lo0[1]) == true, ma(low,long), lo0[1]*(long-1)+low)/long;
Ema5 = ema(hlc, long);
Ema6 = ema(Ema5, long);
mi0 = Ema5+(Ema5-Ema6);
IMACD = iff((mi0>hi0), (mi0-hi0) , iff((mi0<lo0) , (mi0 - lo0) , 0));
sig = ma(IMACD, signal);
histo = IMACD-sig;
var1 = po;
Var2 = -po;
plot1(IMACD,"ImpulseMACD");
plot2(sig,"Signal");
plot3(histo,"Histo");
plot10(0,"0");
plot20(var1,"2");
plot30(Var2,"2");
2025-05-28
329
글번호 191245
답변완료
수식수정
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0),T(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
if UpWave[1] then
T = 1;
else if DnWave[1] then
T = -1;
end;
Input : BBP(20), MultiD(2),P(30);
var : BBmd(0),BBup(0),BBdn(0),mav(0);
BBmd = ma(C,Period);
BBup = BollBandUp(BBP,MultiD);
BBdn = BollBandDown(BBP,MultiD);
mav = ma(C,P);
if CrossDown(C,BBup) and t == -1 and c > mav Then
sell();
if crossup(C,BBdn) and t == 1 and c < mav Then
buy();
안녕하세요
수식수정부탁드려요
위식에서 신호 발생후 진입 조건을
-500틱이상 손실시 진입하는 조건으로 부탁드림니다
2025-05-28
249
글번호 191240