커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1751
글번호 230811
답변완료
시스템수식 변환부탁드립니다.
아래 수식을 2가지 조건으로 변환부탁드립니다.
1. 빨강추세선이 아래(black) 검정저항선에 터치한 다음 다음봉 시초가 진입
파랑추세선이 위(magenta) 저항선에 터치한 다음 다음봉 시초가 진입
빨강추세선이 위(magenta) 저항선에 터치할때 청산
파랑추세선이 아래(black) 검정저항선에 터치할때 청산
2. 봉 기준으로 진입은 아래(black)는 매수, 위(magenta)는 매도 터치시 다음봉 시초가 진입
청산은 반대방향으로 위(magenta) 터치시 매도, 아래(black) 터치시 매수로 바로 청산
input : left(15), right(10), Period(100);
var : swing_low(0),swing_high(0),Dir(0);
swing_low = SwingLow(1, Low, left, right, Left+Right+1);
swing_high = SwingHigh(1, High, left, right,Left+Right+1);
if (Dir >= 0 and swing_low != -1 ) Then
{
Dir = -1;
var11 = sdate[right];
var12 = STime[right];
var13 = Low[right];
var21 = var11[1];
var22 = var12[1];
var23 = var13[1];
var31 = var21[1];
var32 = var22[1];
var33 = var23[1];
if var23 > 0 Then
{
TL_SetExtRight(value1,False);
Value1 = TL_New(var21,var22,var23,var11,var12,var13);#최근 저점-저점 추세선
TL_SetExtRight(value1,true);
TL_SetColor(value1,BLACK);
TL_SetSize(value1,2);
}
if var53 > 0 Then
{
value5 = TL_New(var51,var52,var53,var11,var12,var13);#고점-저점 추세선
TL_SetColor(value5,BLUE);
TL_SetSize(value5,3);
}
}
if (Dir <= 0 and swing_high != -1 ) Then{
Dir = 1;
var51 = sdate[right];
var52 = STime[right];
var53 = high[right];
var61 = var51[1];
var62 = var52[1];
var63 = var53[1];
var71 = var61[1];
var72 = var62[1];
var73 = var63[1];
if var63 > 0 Then
{
TL_SetExtRight(value3,False);
value3 = TL_New(var61,var62,var63,var51,var52,var53);#최근 고점-고점 추세선
TL_SetExtRight(value3,true);
TL_SetColor(value3,MAGENTA);
TL_SetSize(value3,2);
}
if var53 > 0 Then
{
value5 = TL_New(var11,var12,var13,var51,var52,var53);#저점-고점 추세선
TL_SetColor(value5,RED);
TL_SetSize(value5,3);
}
}
if MarketPosition <= 0 and C > TL_GetValue(value1,sDate,sTime) and C[1] < TL_GetValue(value1,sDate[1],sTime[1]) Then
Buy();
if MarketPosition >= 0 and C < TL_GetValue(value3,sDate,sTime) and C[1] > TL_GetValue(value3,sDate[1],sTime[1]) Then
Sell();
2021-01-04
725
글번호 145094
답변완료
전략의 결과가 다른데 확인 부탁합니다.
안녕하세요.
아래 첨부파일의 코드에서 data2의 지표를 주석으로 적용할때와 안할때의 결과값이 다릅니다.
아마도 data1(나스닥)과 data2(US_Dollar)의 index값이 달라서 AccumN의 값이 달라져서 그런거 같은데,
로고를 찍어보면 주석처리 하지 않을때, 같은시간의 봉이 2번 찍히면서 이런 현상이 일어납니다.
value3과 value4를 주석처리하지 않고 data1의 봉이 생길때마다, 즉 같은시간에 2번찍히지 않게 하는 방법을 알고싶습니다.
미리 감사합니다^^
2021-01-05
720
글번호 145093
답변완료
수식전환
다음 수식을 예스로 전환부탁드립니다.
<1>M10=TEMA(C,P10);
M20=TEMA(C,P20);
A1=P10*(P20-5)*TEMA(C,P20-5)-P20*(P10-5)*TEMA(C,P10-5);
A1/(P20-P10)
P10 10 P20 20
<2>
atan(ma(C,Period) - ma(C(1),Period))*180/pie
Period 5 pie 3
2021-01-04
552
글번호 145092
러블리 님에 의해서 삭제되었습니다.
2021-01-04
160
글번호 145081
답변완료
수식문의
당일 음봉이면 오늘 종가청산
if NextBarSdate != sdate and C < dayopen Then
ExitLong("Lx2");
선물종가청산 주문이 안나갑니다.
어떻게 설정해야 하나요?
2021-01-04
535
글번호 145079
답변완료
70482 재질문 내용 확인 부탁드립니다.
처음 질문한 수식이 힘들다고 하셔서
간단하게 다시 수정하여 재질문을 드린 것인데
원래의 수식을 재부탁한 걸로 보신 것 같군요.
수식 부탁드립니다.
수고하세요.
2021-01-04
459
글번호 145073
답변완료
문의드립니다
dayopen 함수를 사용했을때 24시간 돌아가는 해외선물 같은 경우
한국시간으로 밤 24시가 넘어가서 날짜가 바뀌는 시점이 dayopen으로 잡히는 건지 궁금합니다.
항생지수를 염두에 두고 예를 들어 오전 9시에 본장이 시작할때를 그날의 시가로 잡으려면
어떻게 랭귀지를 짜는것이 좋을까요
마찬가지로 본장 운영시간동안의 예를 들어 9~15 시 동안의 고가 저가 시가 종가를 구하기 위한 랭귀지도 부탁드립니다.
예스스탁에 항상 감사드립니다.
2021-01-04
637
글번호 145067
답변완료
추가부탁드립니다.
안녕하세요?
새해복 많이받으십시요.
아래수식에서 기존 진입조건에서 이평선2개를 넣어서
정배열시 매도, 역배열시 매수를 추가로 하고싶습니다.
감사합니다.
input : b기준선(0.05),s기준선(0.95),n(3);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
var1 = C%1;
var2 = C%1;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if entry < n Then
{
if MarketPosition == 0 and C > O and b기준선 == var1 then
Buy();
if MarketPosition == 0 and C < O and s기준선 == Var2 then
Sell();
}
input : 익절틱수(50),손절틱수(50);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2021-01-04
546
글번호 145066
답변완료
피라미딩 주문 문의드립니다
var1 = Highest(c,20);
Var2 = Lowest(c,20);
var3 = Highest(c,40);
Var4 = Lowest(c,40);
var5 = Highest(c,60);
Var6 = Lowest(c,60);
var7 = Highest(c,80);
Var8 = Lowest(c,80);
var9 = Highest(c,100);
Var10 = Lowest(c,100);
if CrossUp(c,var1[1]) Then
Buy();
if CrossDown(c,var2[1]) Then
Sell();
-----------------------
위 수식의 피라미딩 진입 및 청산 문의
var 홀수는 매수 전략 / 짝수는 매도 입니다
# 하나의 캔들에서는 하나의 매수 / 매도 신호만 나왔으면 좋겠습니다
ex 매수 1/3/5 충족시 조건 1 주문이 먼저 나가고 조건 3 / 5는 그 다음봉에 순서대로 발생하게 부탁드립니다
------ 매수
var 1 만족시 비중 1% 매수
var 3 만족시 비중 2% 매수
var 5 만족시 비중 3% 매수
var 7 만족시 비중 4% 매수
var 9 만족시 비중 5% 매수
------- 매도
var 2 만족시 var 1 매수 수량만 매도
var 4 만족시 var 2 매수 수량만 매도
var 6 만족시 var 5 매수 수량만 매도
var 8 만족시 var 7 매수 수량만 매도
var 10 만족시 var 9 매수 수량만 매도
2021-01-04
658
글번호 145065