커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6344
글번호 230811
데이남 님에 의해서 삭제되었습니다.
2024-07-17
12
글번호 181613
답변완료
예스종목검색으로 요청합니다..
아래수식은 키움에서 작성한 지표라인 입니다..
이수식을 예스종목 검색으로 요청합니다..
분봉조건입니다.....
VALUEWHEN(1, DATE!=DATE(1), MAX(C,O));
2024-07-17
804
글번호 181612
답변완료
수식 문의드립니다.
안녕하세요, 항상 수고 많으십니다.
다음과 같은 수식 부탁드리려고 합니다.
(코스피 200선물 5분봉 기준, 매수진입만)
- 매일 오전 10시에 MACD(12,26,9)선이 시그널선보다 아래에 있으면 이 시점 이후의 최저가보다 5틱 올랐을때 stop매수(저가를 계속 갱신하면 기다리다가 최저가 기준 상승 5틱 돌파하면 매수)
- 매일 오전 10시에 MACD(12,26,9)선이 시그널선보다 위에 있으면 시그널선을 하향돌파할 때까지 기다린 후, 그 시점 이후의 최저가보다 5틱 올랐을때 stop매수
그리고 한가지 질문이 더 있습니다. 예를 들어 30이평선은 30개 봉 이전에는 차트에 선으로 표시되지 않는데, 예스랭귀지의 MA함수에서는 봉 수가 모자라는 차트 초반에도 기존 봉들만으로 이동평균 값을 산출하는 것 같습니다. MA(30,c)가 차트 10번째 봉에서 이미 값이 존재하는 것으로 보입니다. 이런 경우 강제로 30봉까지는 무조건 주문이 나가지 않도록 하려면 어떻게 해야 될까요?
감사합니다.
2024-07-17
765
글번호 181611
답변완료
수식 문의
안녕하세요?
진입 가능 시간: 매일 21시 ~ 다음날 새벽 06시
20일 고점을 종가로 뚫으면 n1개 매수 진입
20일 저점을 종가로 뚫으면 n1개 매도 진입
진입후에는 1% 익절, 또는 0.7% 손절. 또는 적당한 트레일링으로 스톱 청산
또는 아침 09시에는 청산.
(그러니까 진입 후 12시간 내에는 청산, 24시간 지나 다음날 청산이 아님!)
매수 및 매도 진입은 하루 1번만,
단, 하루에 매수 1번, 매도 1번 진입은 가능.
감사합니다.
2024-07-17
755
글번호 181610
답변완료
파라볼릭 박스
Input : af(0.02), maxAF(0.2);
var : T(0),B(0),S(0),tx(0),HH(0),LL(0),box(0),B1(0),S1(0),H1(0),L1(0),TL(0);
var1 = CSar(af,maxAF);
if CrossUp(C,var1) Then
{
T = 1;
B = var1;
B1 = B[1];
HH = H;
H1 = HH[1];
if abs(S-LL) < 0.9 Then
Text_Delete(tx);
tx = Text_New(sDate,sTime,HH,NumToStr(abs(HH-B),2));
Text_SetColor(tx,Red);
Text_SetSize(tx,25);
Text_SetStyle(tx,1,1);
Text_SetBold(tx,1);
box = Box_New(sDate,sTime,B,NextBarSdate,NextBarStime,HH);
Condition1 = False;
}
if CrossDown(C,var1) Then
{
T = -1;
S = var1;
S1 = S[1];
LL = L;
L1 = LL[1];
if abs(B-HH) < 0.9 Then
Text_Delete(tx);
tx = Text_New(sDate,sTime,LL,NumToStr(abs(LL-S),2));
Text_SetColor(tx,Blue);
Text_SetSize(tx,25);
Text_SetStyle(tx,1,0);
Text_SetBold(tx,1);
box = Box_New(sDate,sTime,S,NextBarSdate,NextBarStime,LL);
Condition1 = False;
}
Else
{
if T == 1 Then
{
if H > HH Then
HH = H;
Text_SetString(tx,NumToStr(abs(HH-B),2));
Text_SetLocation(tx,sDate,sTime,HH);
Box_SetEnd(box,NextBarSdate,NextBarStime,hh);
if HH < B+0.6 Then
{
Box_SetColor(box,Orange);
Box_SetFill(box,true,90);
}
Else if HH >= B+0.6 and HH < B+0.8 Then
{
Box_SetColor(box,Gray);
Box_SetFill(box,true,80);
}
Else if HH >= B+0.8 and HH < B+1.3 Then
{
Box_SetColor(box,Magenta);
Box_SetFill(box,true,60);
}
Else if HH >= B+1.3 and HH < B+1.9 Then
{
Box_SetColor(box,Gray);
Box_SetFill(box,true,60);
}
Else
{
Box_SetColor(box,Pink);
Box_SetFill(box,true,90);
}
if B1 > 0 and B > B1 and H > H1 and Condition1 == False Then
{
Condition1 = true;
TL_Delete(TL);
TL =TL_New(sDate,sTime,0,sDate,sTime,999);
TL_SetColor(TL,Lime);
TL_SetSize(TL,2);
}
}
if T == -1 Then
{
if L < LL Then
LL = L;
Text_SetString(tx,NumToStr(abs(LL-S),2));
Text_SetLocation(tx,sDate,sTime,LL);
Box_SetEnd(box,NextBarSdate,NextBarStime,LL);
if LL > S-0.6 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,150);
}
Else if LL <= S-0.6 and ll > S-0.9 Then
{
Box_SetColor(box,Yellow);
Box_SetFill(box,true,150);
}
Else if LL <= S-0.9 and ll > S-1.3 Then
{
Box_SetColor(box,Lime);
Box_SetFill(box,true,120);
}
Else if LL <= S-1.3 and ll > S-1.6 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,90);
}
Else if LL <= S-1.6 and ll > S-1.9 Then
{
Box_SetColor(box,Blue);
Box_SetFill(box,true,30);
}
Else
{
Box_SetColor(box,Yellow);
Box_SetFill(box,true,120);
}
if S1 > 0 and S < S1 and L < L1 and Condition1 == False Then
{
Condition1 = true;
TL_Delete(TL);
TL =TL_New(sDate,sTime,0,sDate,sTime,999);
TL_SetColor(TL,Gold);
TL_SetSize(TL,3);
}
}
}
a. 선물 80틱 차트에서, 일부 박스에서 그림의 화살표 부분처럼 일부분이 표시가 안됩니다.
하락시는 반등폭이 작을 때 주로 박스 상단부가 잘리고(박스 상단 불일치),
상승시는 조정폭이 작을 때 박스 하단부가 잘립니다. 수정 부탁드립니다.
b. plot을 안쓰고는 파라볼릭 선을 시스템에 표시할 수는 없나요?
알려주신 다른 여러 시스템 수식에서, plot 없이도 그런 선을 표시하고 있어 여쭤봅니다.
c. 하락박스의 크기가 0.9에 도달하면 바로 박스 하단에 네모 표시.
상승박스의 크기가 0.9에 도달하면 박스 상단에 네모 표시.
하락박스의 크기가 0.9에 도달하면 매수, 다음봉에 매수청산.
상승박스의 크기가 0.9에 도달하면 매도, 다음봉에 매도청산.
늘 성의있는 답변 감사드립니다.
2024-07-18
945
글번호 181609
답변완료
수식 요청드립니다^^
안녕하세요
수식 요청 드립니다
M12 = eavg(C,12);
M60 = eavg(C,60);
저점 = M12 > M12(1) && M12(1) < M12(2);
Hs = HighestSince(1, 저점, H);
저점1_12=valuewhen(1,저점,M12(1));
저점1_60=valuewhen(1,저점,M60(1));
저점2_12=valuewhen(2,저점,M12(1));
저점2_60=valuewhen(2,저점,M60(1));
전고점=valuewhen(1,저점,Hs(1));
저점1_12<저점1_60 &&
저점2_12<저점2_60 &&
M60<M12 &&
crossup(H,전고점)
2024-07-17
801
글번호 181599
답변완료
문의 드립니다.
아래 식을 매도용으로 변경하고자 합니다.
매수할 때와 동일한 방식으로 Sell 적용되도록 부탁드립니다.
Input :short(12),long(26),수량(2);
value1 = MACD(short,long);
If CrossDown(value1, 0) and C > DayOpen(0) Then
{
Buy("b",OnClose,Def,수량);
}
if MarketPosition == 1 and c < DayOpen(0) Then
ExitLong();
2024-07-18
931
글번호 181598
답변완료
문의드립니다.
안녕하세요.
파인스크립트의 매수 전략을 아래의 예스랭귀지로 변환하여 적용해보니
예스랭귀지가 파인스크립트보다 좀 더 빠르게 청산되고 있습니다.(손절 익절 모두)
파인스크립트
if 매수조건 == true
EntryPrice := close
ProfitPrice := close + ta.atr(10) * 3.0
LossPrice := close - ta.atr(10) * 3.0
strategy.entry("Long", strategy.long)
strategy.exit("ExitLong", "Long", stop = LossPrice, limit = ProfitPrice)
예스랭귀지
if 매수조건 == true Then
{
EntryPrice = close;
ProfitPrice = close + ATR(10) * 3.0;
LossPrice = close - ATR(10) * 3.0;
Buy("Long", AtMarket, 10);
}
ExitLong("LossExit", AtStop, LossPrice, "Long", 1);
ExitLong("ProfitExit", AtLimit, ProfitPrice, "Long", 1);
또한 아래의 지표식을 이용하여 확인해보니 위 예스트레이더 전략식에서 발생한 청산신호와도 일치하지 않네요.
if 매수조건 == true Then
{
EntryPrice = close;
ProfitPrice = close + ATR(10) * 3.0;
LossPrice = close - ATR(10) * 3.0;
plot1(close + AvgTrueRange*1.0, "Profit Price");
plot2(close - AvgTrueRange*2.0, "Loss Price");
}
파인스크립트의 청산 신호와 일치하도록 예스랭귀지의 전략식과 ATR지표식 수정 가능할까요.
그리고 예스트레이더의 전략식과 지표식에서 신호가 다르게 나오는 이유에 대해서도
자세한 설명 부탁드립니다.
자동매매를 예스에서 하려고 하니 다소 난해한 요청이라도 양해부탁드립니다.
2024-07-18
966
글번호 181597
하루삼프로 님에 의해서 삭제되었습니다.
2024-07-17
6
글번호 181596