커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3754
글번호 230811
답변완료
지표문의
1.지표문의 드리께요
2.번호 58160 매일님 작성해준 수식에서 가격값위 152 또는 56 등 숫자표시가 있는데
나온 의미가 가 무엇입니까?
3. 아래는 시스템 식인데 지표식으로 수정 좀 해 주세요
Input: len(8), s1(0.37), s2(2.7);
var : slv1(0),slv2(0),slb1(0),slb2(0),shv1(0),shv2(0),shb1(0),shb2(0);
var : low_trendline(0),low_radian(0),high_trendline(0),high_radian(0);
var : Cond1(false),Cond2(false),Cond3(false);
slv1=SwingLow(1,low,len,len,100);
slv2=SwingLow(2,low,len,len,100);
slb1=SwingLowBar(1,low,len,len,100);
slb2=SwingLowBar(2,low,len,len,100);
shv1=SwingHigh(1,high,len,len,100);
shv2=SwingHigh(2,high,len,len,100);
shb1=SwingHighBar(1,high,len,len,100);
shb2=SwingHighbar(2,high,len,len,100);
If slb2 > slb1 then{
low_trendline =(slv1-slv2)/(slb2-slb1)*slb1+slv1;
low_radian=(((slv1-slv2)/slv2)*100)/(slb2-slb1);
}
If shb2>shb1 then{
high_trendline =(shv1-shv2)/(shb2-shb1)*shb1+shv1;
high_radian=(((shv1-shv2)/shv2)*100)/(shb2-shb1);
}
Var1=round(atan(low_radian)*180/pie,2);
Var2=round(atan(high_radian)*180/pie,2);
If Var1>0 And Var2>0 And Var1>var2 And high_trendline>low_trendline then# '상향쐐기형
Cond1=True;
Else
Cond1=False;
If Var1<0 And Var2<0 And Var1>var2 And high_trendline > low_trendline then# '하향쐐기형
Cond2=True;
Else
Cond2=False;
If Var1>0 And Var2<0 And high_trendline>low_trendline then# '삼각형
Cond3=True;
Else
Cond3=False;
Var10=highd(1)-lowd(1);
If sdate<>sdate[1] then{
Var50=TotalTrades;
}
If stime<150000 then{
If TotalTrades-var50==0 then{
If Cond1==True And low>low_trendline then{
sell("쐐기매도1",Atstop,low_trendline );
}
If Cond2==True And high<high_trendline then{
buy("쐐기매수1",Atstop,high_trendline );
}
If Cond3=True And low>low_trendline And high<high_trendline then{
buy("삼각매수",Atstop,high_trendline );
sell("삼각매도",Atstop,low_trendline );
}
buy("매수",Atstop,opend(0)+var10*S1);
sell("매도",Atstop,opend(0)-var10*S1);
}
}
If stime<150000 then{
If TotalTrades-var50==1 then{
If Cond1==True And low>low_trendline then{
sell("쐐기매도2",Atstop,low_trendline );
}
If Cond2==True And high<high_trendline then{
buy("쐐기매수2",Atstop,high_trendline );
}
}
}
If MarketPosition<>0 then{
exitlong("매수추적",Atstop,highest(high,barssinceentry+1)-Atr(20)*S2);
exitshort("매도추적",Atstop,lowest(low,barssinceentry+1)+Atr(20)*S2);
}
4.그럼 즐거운 하루 되세요
2020-04-05
958
글번호 137550
답변완료
질문
input : 최소가격변화포인트(1.00),봉갯수(10);
위 조건으로 청산될 경우 다음 거래는 하지 않는다는 수식을 요청합니다.
*************************************************************************************
Input : Period(20), D(2);
var : BBup(0),BBdn(0);
input : N(5);
var : cnt(0),count(0);
input : 최소가격변화포인트(1.00),봉갯수(10);
Count = 0 ;
for cnt = 0 to 10 {
if EntryDate(cnt) == sdate then
Count = Count + 1;
}
BBup = BollBandUp(Period,D);
if count < N and crossup(c,BBup) then
buy();
if MarketPosition == 1 then
{
if BarsSinceEntry == 봉갯수 and highest(H,BarsSinceEntry) < EntryPrice+최소가격변화포인트 then
exitlong();
}
2020-04-04
649
글번호 137549
답변완료
수정좀 부탁드려요
1. 1) 의 수식을 2)처럼 표현하고자 합니다. 부탁드립니다.
1)
if A > A[1] then
T = 1;
if A < A[1] Then
T = -1;
plot3(A,"A",iff(T == 1,MAGENTA,BLUE));
2)
if var1 > 0 then
{
if C > var1 Then
{
plot1(var1,"C",RED);
plot2(999999999,"라인1");
}
Else
{
plot1(var1,"C",BLUE);
plot2(0,"라인1");
}
}
2. 아래의 수식을 삼각가중으로 변환부탁드립니다.
var : color1(0), color2(0), color3(0), N(0), period(0);
For Period = 5 to 60 step 2 {
value1 = ATR(20);
var1 = ma(C,Period);
var2 = (var1 - var1[1])/value1;
N = 1;
For N = 0 to 50 {
IF var2 >= 0 and var2 > N/50 THEN {
Color1 = N*10/5 ;
Color2 = N*10/5 ;
Color3 = N*10/5 ;
}
IF var2 < 0 and var2 < -N/50 THEN {
Color1 = N*10/5 ;
Color2 = N*10/5 ;
Color3 = N*10/5 ;
}
if period == 5 then Plot1(var1, "5", RGB(Color1, Color2, Color3));
2020-04-06
633
글번호 137548
답변완료
부탁 드립니다.
도움에 감사 드립니다.
질문1)
변환부탁 드립니다.
bhtt= L==LOWEST(L,3*P20) AND LOWEST(L,P20,P20)>L;
질문2)
그림과 같이 data2 참조 지표에 (외국인 선물 순매수 수량)을 설정했을때
다음과 같은 수식의 var1 값이
매일 아침 09:00에 zero로 출발 할수 있도록 부탁 드립니다.
input:sig(5);
var1=data2(ma(c,sig));
plot1(var1);
PlotBaseLine1(0);
2020-04-04
680
글번호 137547
답변완료
66815 재문의 드립니다.
작성해주신 식을 적용해 보았습니다.
그런데 b1진입이 되고나서 추가매수도 진행이 안되고, 청산도 되지않습니다..
확인 부탁드립니다.
안녕하세요
예스스탁입니다.
Input : Period(9);
var : RSIV(0),HH(0);
RSIV = RSI(Period);
if crossup(RSIV,70) Then
{
hh = RSIV;
}
if RSIV > 70 and RSIV > HH Then
HH = RSIV;
if MarketPosition == 0 and CrossDown(RSIV,HH-40) Then
buy("b1");
if MarketPosition == 1 then
{
if MaxEntries == 1 and CrossDown(RSIV,HH[BarsSinceEntry]-50) Then
buy("b2");
if MaxEntries == 2 and CrossDown(RSIV,HH[BarsSinceEntry]-60) Then
buy("b3");
if MaxEntries == 3 then
{
if crossup(RSIV,50) Then
ExitLong("bx1",OnClose,def,"b1");
if crossup(RSIV,60) Then
ExitLong("bx2",OnClose,def,"b2");
if crossup(RSIV,70) Then
ExitLong("bx3",OnClose,def,"b3");
}
}
즐거운 하루되세요
> 참새사냥꾼 님이 쓴 글입니다.
> 제목 : 시스템식 문의드립니다.
> 안녕하세요.. 항상 도움주셔서 감사합니다.
시스템식 문의드립니다.
항상 단계약식만 작성하다가 다계약 식을 하려고 하니 잘 안되네요..
RSI가 70이상이고, RSI고가대비 -40이면 1차 -50이면 2차 -60이면 3차매수
매수 진입 후 RSI 50이면 1차매도, 60에 2차매도 70에 3차 매도
이렇게 하고 싶습니다.
예를들어 이전 RSI가 80이면 매수조건 완성. 이후 RSI가 40이 되면 1차매수, 30이면 2차매수
20이면 3차 매수 이렇게 됩니다.
청산은 예를들어 1,2,3차가 모두 체결되면 RSI 50, 60, 70에 1계약씩 청산하고 싶습니다.
2020-04-04
662
글번호 137545
답변완료
문의 드립니다.
안녕하세요
주말에 귀한 답변주신 시스템식을 이것 저것 값들을 바꿔 보면서
어떤건 이해가 되고 습득을 하고
또 어떤건 도무지 이해못하고 ㅜㅜ
1, 주식 시스템식
답변 주신 분할매도식은 청산 2회 인데 수량비중에 따른
총 4회로 변경을 문의 드립니다.
수도 없이 이것저것 바꿔 시도했는데 총 4회로 추가하는것은
실력이 아직 미진하오니 식 변경 요청 드립니다.
var : xcnt(0),Xprice1(0),Xprice2(0);
if MarketPosition == 1 Then
{
//전봉대비 수량감소(분할청산발생)
if CurrentContracts < CurrentContracts[1] Then
{
//횟수카운트
xcnt = xcnt+1;
//최근 청산의 가격
Xprice1 = LatestExitPrice(0);
//직전 청산의 가격
Xprice2 = Xprice1[1];
}
//청산이 2회발생했고 직전청산의 가격에 도달파면 전량청산
if xcnt == 2 Then
ExitLong("bx",atlimit,Xprice2);
}
Else #무포지션이 아니면 0으로 초기화
xcnt = 0;
2. 주식 시스템식
첫봉 전일종가와 당일시가가 같을때
전일종가 돌파식에서 신호가 발행이 됩니다.
봉시작 시작을 시작 과 끝으로 변경 설정해도 동일 합니다.
시스템 원칙상 어쩔수 없는 부분이기도 한데...
시스템 적용 시간을 090100으로 설정하면 미적용이 가능한데
식에서
croosup(c,dayclose(1))
C > dayclose(1)
위 두개식의 차이점에 의해서도 발생이 될수도 있는듯 한데
혹 차이점이 있다면 요청 드립니다.
3, 주식시스템식
이평선 우상향, 우하향 값을 게시판에 검색해보니 식이 있는듯 한데
주석이 없어 어느부분인지 발췌 하기가 어려워 시스템식을 문의 드립니다.
우상향이면 시스템 진입가능
우하향이면 모든 진입식 진입 불가
5.종목검색
3분봉에서 적용하려고 합니다.
거래대금 300억 이상
당일 종가가, 5 이평선에 수렴 하고
거래대금순으로 결과값 식을 요청 드립니다.
혹시 데이터 제공 가능법위내에서
1일전, 3일전, 검색 가능한 날짜를 Input(0)에 기입이 가능하다면
추가 요청 드립니다.
어느정도 아이디어가 구현이 되어 적용 되어지는게 신기하며
주석까지 달아서 답변을 해주셔서 정말 감사합니다.
그럼 좋은 하루 되세요~~~
2020-04-06
682
글번호 137544
답변완료
지표
항상감사합니다^^
60분
오늘11시봉
어제11시봉
고가고가반
저가저가반
오늘고가
어제저가의반
오늘저가
어제저가의반
지표로 가능할까요
2020-04-03
676
글번호 137543
CSI300 님에 의해서 삭제되었습니다.
2020-04-03
0
글번호 137542
답변완료
변동성돌파전략 수식 재문의
수식관련 질문 답변 감사드립니다. 다만 제가 예스랭귀지 편집기에서 돌려본 결과 다음과 같은 오류가 발생하여 다시 질문드립니다.
buy는 전략에서만 쓸 수 있습니다.
exitlong은 전략에서만 쓸 수 있습니다.
해서 EZ전략생성기를 열어 살펴봤지만 코딩을 넣을 편집기를 찾을 수 없었습니다.
덧글 달아주신 코딩을 넣을 곳이 어딘지 알려주시면 감사하겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 변동성돌파전략 수식 문의
>
안녕하세요
예스스탁입니다.
if NextBarSdate == sdate then
{
if MarketPosition == 0 and DayHigh < dayopen+(DayHigh(1)-DayLow(1))*0.4 Then
buy("b",AtStop,dayopen+(DayHigh(1)-DayLow(1))*0.4);
}
if MarketPosition == 1 and NextBarSdate != sdate Then
ExitLong("bx",AtMarket);
즐거운 하루되세요
> shwk 님이 쓴 글입니다.
> 제목 : 변동성돌파전략 수식 문의
> 인터넷에 나오는 수식 넣어봐도 계속 오류 나네요.
변동성돌파전략(당일 시가에서 전일 고점-저점 차의 0.4배 상승시 매수, 익일 시초가 매도) 수식 정확하게 알 수 있을까요?
2020-04-03
1074
글번호 137536