커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3407
글번호 230811
답변완료
부탁 드립니다.
도움에 감사 드립니다.
질문1)주봉용 볼린져 지표가
질문2)일봉용 볼린져 지표가 분봉에 나타 나도록 부탁 드립니다.
미리 감사 드립니다.
input:period(20),dv(2);
var : cnt(0);
var : sum4(0),mav4(0),SumSqrt4(0),Stdv4(0),BBup4(0),BBdn4(0);
if DayClose(Period-1) > 0 then{
sum4 = 0;
for cnt = 0 to Period-1{
sum4 = sum4+DayClose(cnt);
}
mav4 = sum4/Period;
SumSqrt4 = 0;
For cnt = 0 To Period - 1 {
SumSqrt4 = SumSqrt4 + (DayClose(cnt) - mav4) * (DayClose(cnt) - mav4);
}
Stdv4 = SquareRoot(SumSqrt4/ Period);
BBup4 = mav4+stdv4*dv;
BBdn4 = mav4-stdv4*dv;
}
2020-04-19
580
글번호 138087
답변완료
수식좀 부탁드립니다.
100틱 200틱 500틱 이렇게 3개의 차트에서 동시에
20 이평, 60 이평, 120 이평, 가중120 이평(w120), 전일저가, 전일고가, 당일시가, 당일중심,
당일저가, 당일고가
이렇게 10개의 보조지표 중에서 3개 이상의 보조지표가 4틱 이내의 범위에 모여있을
때를 A 라고 가정하고
캔들의 고가가 A 범위 내에 있을 때 매도 진입
캔들의 저가가 A 범위 내에 있을 때 매수 진입하는 수식좀 부탁드립니다.
2020-04-20
508
글번호 138086
새벽에 님에 의해서 삭제되었습니다.
2020-04-19
2
글번호 138085
doilzul 님에 의해서 삭제되었습니다.
2020-04-19
2
글번호 138084
새벽에 님에 의해서 삭제되었습니다.
2020-04-19
7
글번호 138083
답변완료
문의드립니다.
하기 수식을 예스로 부탁드립니다.
study(title="ATR Trainling Stop Smoothed", shorttitle="ATR_SM", overlay = true)
nATRPeriod = input(22, "Period")
nATRMultip = input(8.1, "Multiplier",type=float, minval=0.5, maxval=1000, step=0.1)
xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = na
xATRTrailingStop :=
iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos = na
pos :=
iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
color = pos == -1 ? red: pos == 1 ? lime : blue
len2 = input(100, minval=1, title="Smooth")
src = input(close, title="Source")
out = vwma(src, len2)
avg1=avg(out, xATRTrailingStop)
plot(avg1, color=aqua, transp=0, title="ATR")
2020-04-19
551
글번호 138082
답변완료
매도 수식 문의
안녕하세요
선물 short 진입건입니다
신호 발생시에 분봉의 종가에서 1계약 매도 진입하고
그 종가보다 1포인트 높은 가격에서 또 1계약 매도 진입하고
반복해서 총 10계약까지 매도 진입하려고 합니다
총 수익이 5%일때 청산, 5% 손실시 손절인데 아래처럼 했고 피라미딩 설정했는데
1계약만 매매되고 이익이나 손절이 작동안되네요
수정 좀 부탁드립니다.
감사합니다
if MarketPosition == 1 and MaxEntries < 11 Then
sell("SS",atlimit,EntryPrice+(1*MaxEntries));
if MarketPosition == 1 Then
exitshort("bx",atlimit,AvgEntryPrice*0.95);
if MarketPosition == 1 Then
exitshort("st",atstop,AvgEntryPrice*1.05);
2020-04-19
498
글번호 138081
답변완료
지표문의
1.아래지표는 macd 다이버찾기 추세선입니다.
이지표를 추세선 시작점하고 끝나는지점 테스트출력되게 좀 해주세요.
첨부그림 처럼요(틱수는 필요없구 지수만요)
아울러 추세선 시작점 수평선.끝나는 지점 수평선 또 추세선 시작점 수평선
과끝나는 지점 수평선 중간선 총 3개선 ,이 3개수평선은 선물지수에 만 표시되고요 지표에는 추세선만 표시되게끔요 .그럼 수평선 오른쪽연장은 얼마 까지 하는냐 인데 봉3개 정도로만 해주세요.
번거롭게해서 죄송해요.
Input : short(12), long(26), signal(9);
Var : MACDV(0) , MACDS(0),T(0);
var : HIV(0),HID(0),HIT(0),HIV1(0),HID1(0),HIT1(0),HI(0),HI1(0);
var : HPV(0),HPD(0),HPT(0),HPV1(0),HPD1(0),HPT1(0);
var : LIV(0),LID(0),LIT(0),LIV1(0),LID1(0),LIT1(0),LI(0),LI1(0);
var : LPV(0),LPD(0),LPT(0),LPV1(0),LPD1(0),LPT1(0);
var : TL1(0),TL2(0);
MACDV = MACD(short, long);
MACDS = ema(MACDV,signal);
if crossup(MACDV,MACDS) Then
{
T = 1;
HIV = MACDV;
HID = sdate;
HIT = stime;
HI = Index;
HIV1 = HIV[1];
HID1 = HID[1];
HIT1 = HIT[1];
HPV = H;
HPD = sdate;
HPT = stime;
HI1 = HI[1];
HPV1 = HPV[1];
HPD1 = HPD[1];
HPT1 = HPT[1];
Condition1 = false;
}
if CrossDown(MACDV,MACDS) Then
{
T = -1;
LIV = MACDV;
LID = sdate;
LIT = stime;
LI = Index;
LIV1 = LIV[1];
LID1 = LID[1];
LIT1 = LIT[1];
LPV = L;
LPD = sdate;
LPT = stime;
LI1 = LI[1];
LPV1 = LPV[1];
LPD1 = LPD[1];
LPT1 = LPT[1];
Condition2 = false;
}
if T == 1 Then
{
if MACDV > HIV Then
{
HIV = MACDV;
HID = sdate;
HIT = stime;
}
if H > HPV Then
{
HPV = H;
HPD = sdate;
HPT = stime;
}
if Condition1 == false and HPV1 > 0 and HPV > HPV1 and HIV < HIV1 and HI <= HI1+30 Then
{
TL1 = TL_New(HPD1,HPT1,HPV1,HPD,HPT,HPV);
TL2 = TL_New_Self(HID1,HIT1,HIV1,HID,HIT,HIV);
TL_SetColor(TL1,BLUE);
TL_SetColor(TL2,BLUE);
Condition1 = true;
}
if Condition1 == true then
{
if HPV > HPV1 and HIV < HIV1 then
{
TL_SetEnd(TL1,HPD,HPT,HPV);
TL_SetEnd(TL2,HID,HIT,HIV);
}
Else
{
TL_Delete(TL1);
TL_Delete(TL2);
}
}
}
if T == -1 Then
{
if MACDV < LIV Then
{
LIV = MACDV;
LID = sdate;
LIT = stime;
}
if L < LPV Then
{
LPV = L;
LPD = sdate;
LPT = stime;
}
if Condition2 == false and LPV1 > 0 and LPV < LPV1 and LIV > LIV1 and LI <= LI1+30 Then
{
TL1 = TL_New(LPD1,LPT1,LPV1,LPD,LPT,LPV);
TL2 = TL_New_Self(LID1,LIT1,LIV1,LID,LIT,LIV);
TL_SetColor(TL1,RED);
TL_SetColor(TL2,RED);
Condition2 = true;
}
if Condition2 == true then
{
if LPV < LPV1 and LIV > LIV1 then
{
TL_SetEnd(TL1,LPD,LPT,LPV);
TL_SetEnd(TL2,LID,LIT,LIV);
}
Else
{
TL_Delete(TL1);
TL_Delete(TL2);
}
}
}
plot1(MACDV);
plot2(MACDS);
2.그럼 즐거운 하루 되세요.
2020-04-18
601
글번호 138080
답변완료
수식 부탁드려요!
1. 직전 10봉 중에 180봉중 최고거래량이 있고 현재 거래량이 10봉 거래량중 제일 적은 종목!
2.직전 20봉중 내에 180봉중 최저가가 있고 또한 180봉중 최고 거래량도 있으며 금일 거래량이
20봉 거래량 중 제일 적은 종목 검색식.
감사합니다~^^
2020-04-18
473
글번호 138079