커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1637
글번호 230811
답변완료
수식 수정 부탁드립니다.
if c < bbbot2 and bbbot2 < h and c <o Then
{
sell("s")
}
위의 진입식입니다.
*만약 최근에 sp1으로 청산되었다면 위의 조건을 만족하면서 추가로 최근 청산가격 이하로
종가가 형성되어야 진입한다.
LatestExitName (0) == "sp1" and LatestExitPrice(0) > c
*첨부파일처럼 같은 봉에서 sp1으로 익절청산되었다면 위의 조건을 만족하면서 추가로 청
산가격보다 종가가 작아야 진입한다.
두가지 좀 만들어 주셔요
2025-01-03
602
글번호 186835
답변완료
지표 질문입니다
Input : Period(20), MultiD(2);
var : MAv(0),BBup(0),BBdn(0);
MAv = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if MAv[1]>MAv[2] and MAv<MAv[1] Then
var1=MAv[1];
if MAv[1]<MAv[2] and MAv>MAv[1] Then
var2=MAv[1];
if BBdn[1]>BBdn[2] and BBdn<BBdn[1] Then
var3=BBdn[1];
if BBup[1]<BBup[2] and BBup>BBup[1] Then
var4=BBup[1];
var1의 당일 최고치를 표시한다
var2의 당일 최저치를 표시한다
var3의 당일 최고치를 표시한다
var4의 당일 최저치를 표시한다
감사합니다
2025-01-03
634
글번호 186834
답변완료
종목 검색 부탁드립니다.
선행1=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4;
선행2=(highest(high,52)+lowest(low,52))/2;
거래=V>V(1)*10;
최종=sum(거래,20)>0 &&
Crossup(H,Max(선행1(25),선행2(25)));
최종&&!최종(1)
종목 검색식 부탁드립니다
2025-01-02
600
글번호 186833
답변완료
시스템식 부탁드립니다.
안녕하세요.
아래 조건에 맞는 시스템식 부탁드립니다.
전략 : 물타기 및 불타기 전략
종목 : 해외선물
차트 : 10분봉
매수조건 : 10일 이평선 20일 이평선 상향 돌파시 매수
불타기 : 포지션 진입 이후 진입가격 대비 20틱 상승시 1계약 추가 매수
물타기 : 포지션 진입 이후 진입가격 대비 20틱 하락시 1계약 추가 매수
매수익절 : 전체 수익이 20틱 이상 수익시 올 청산
매수손절 : 전체 수익이 20틱 이상 손실시 올 청산
매매중단 : 일 청산 수익이 40틱 이상일 경우 매매중단
일 청산 손실이 40틱 이상일 경우 매매중단
매도조건 : 10일 이평선 20일 이평선 하향 돌파시 매도
불타기 : 포지션 진입 이후 진입가격 대비 20틱 하락시 1계약 추가 매도
물타기 : 포지션 진입 이후 진입가격 대비 20틱 상승시 1계약 추가 매도
매도익절 : 전체 수익이 20틱 이상 수익시 올 청산
매도손절 : 전체 수익이 20틱 이상 손실시 올 청산
매매중단 : 일 청산 수익이 40틱 이상일 경우 매매중단
일 청산 손실이 40틱 이상일 경우 매매중단
매매조건 : 하루에 매수 매도 포함 총 최대 3번만까지만 진입가능
2025-01-03
494
글번호 186832
답변완료
문의드립니다
var : 상태(0);
Condition2 = weekLow(2)>weekLow(1);
if Condition2==true Then 상태=10;
Plot1(상태,"a");
이렇게 하면 '상태'가 0 이 되고
var : 상태(0);
Condition2 = weekLow(2)<weekLow(1);
if Condition2==true Then 상태=10;
Plot1(상태,"a");
이렇게 해야 (부등호 차이) 정상적으로 10 이 되는데 이게 왜 이런건지 모르겠습니다.
언제나 감사드립니다.
2025-01-02
659
글번호 186829
답변완료
질문 드리겠습니다
몇 가지 질문 부탁드립니다
질문1)
현재봉과 직전봉을 비교해서
직전봉이 현재봉보다 크다면 그 값을 현재봉에 나타내고,
그렇지 않다면 그냥 현재봉값을 그대로 유지하게 하려는 조건을 만들고자 합니다
아래처럼 작성하면 문제가 생기는데요
예를들어서
차트상에서 2봉전 값이 10, 1봉전이 5 , 0봉이 8 이라고 한다면
원하는 바에 따르면 2봉전이 1봉보다 크므로 1봉전에는 10의 값을 나타내야되고, 0봉은 1봉전보다 (차트상에서) 크기때문에
0봉 값 8이 그대로 출력이 되어야하는데
아래처럼 작성하면
2봉전 값이 1봉으로 대입되면서 0봉보다 더 크기 때문에 계속 10이 유지가 됩니다
혹시 비교를 한다음에 차트상의 값으로 리셋을 하거나 변수를 이용해서 새로운 봉이 나오면 다시 비교하는 방식이 구현 가능한가요?
제가 원하는건
2봉전: 10,
1봉전 : 10,
0 봉: 8 이런식으로 나오게 하고싶습니다
var: cnt(0), sum1(0), sumi(0),sumsqrt(0),t(0),stand(0);
var : sum2(0),sumi2(0),avg2(0);
array: ii[50](0),aa[50](0);
if h>l*1.08 Then
{
TL_NEW(sDatE,sTimE,h*1.15,sDatE,sTimE,99999);
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
}
aa[0] = h;
if aa[1]>aa[0] and aa[1]>0 Then
{
aa[0]=aa[1];
}
Plot11(aa[0],"aa",Orange,Def,1);
}
질문2) 수식을 하나 부탁드립니다
0봉 조건만족봉의 값 (aa[0]) 과 전봉들 값을 순차적으로 더해서 평균을 냈을때 0봉 보다 값이 클때 0봉에 그 값을 표시를 하고 싶습니다
예를들어서
먼저 0봉과 전봉의 평균을 (0봉+전봉의 평균) 내서 0봉보다 크면, 그값을 0봉에 출력하고
그렇지 않다면
전전봉까지 더해서 평균을 내고 (0봉+전봉+전전봉의 평균) 0봉의 값과 비교해서 크면 0봉에 출력하고 loop 를 끝내는 식을 만들고 싶습니다
var : cnt(0), sum1(0), sumi(0);
var : t(0),StartBarIndex(0);
Array : ii[50](0),aa[50](0);
if h>l*1.08 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
var1=Index;
Var2=var1[1];
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
}
aa[0] = h;
For cnt = 49 DownTo 1
{
ii[cnt] = ii[cnt-1];
}
ii[0] = Index;
For cnt = 1 to 49
{
sum1=sum1+aa[cnt];
sumi=sumi+1;
}
value1=sum1/sumi;
}
감사합니다
2025-01-03
559
글번호 186828
답변완료
진입시점의 지표를 데이터화 하고싶은데
진입시점의 지표를 데이터화하고싶은데 생각한게
if ~ then buy("buy")에서 출력값 "buy"에
stok, atr이나 작성된 사용자함수를 집어넣고싶은데 방법없을까요?
예를들어 일단 진입후 5봉청산 입력해놓은후 진입시점별로 지표값
stok(0~100) 뜨게한후 '시스템성능보고서'상 '거래내역'을
엑셀로보내면 분석이 용이할듯합니다
2025-01-02
537
글번호 186827
답변완료
예스트레이더로 종목 검색식 부탁드립니다.
공포지수 이용한 지표로 같이 검색되게 부탁드립니다.
사용하는 지표 3가지 동시에 나오게 부탁합니다.
공포지수(지표)
wvf=((highest(close, 22)-low)/(highest(close, 22)))*100;
sDev=2*stdev(wvf, 20);
midLine=ma(wvf, 20);
upperBand=midLine +sDev;
rangeHigh = (highest(wvf, 50)) * 0.85;
if(wvf >= upperBand or wvf >= rangeHigh, wvf, 0);
S9&F9침체&극한공포(신호수식)
ap=(High+Low+Close)/3;
esa= eavg(ap, 10);
d= eavg(abs(ap - esa), 10);
ci=(ap - esa) / (0.015 * d);
wt1 = eavg(ci, 21);
wt2 = avg(wt1, 4 );
wt1 < -53
&&
wvf=((highest(close, 22)-low)/(highest(close, 22)))*100;
sDev=2*stdev(wvf, 20);
midLine=ma(wvf, 20);
upperBand=midLine +sDev;
rangeHigh = (highest(wvf, 50)) * 0.85;
A = if(wvf >= upperBand or wvf >= rangeHigh, wvf, 0);
B = if(wvf < upperBand or wvf < rangeHigh, wvf, 0);
A > B
&&
(C-lowest(L,9))/(highest(H,9)-lowest(L,9))*100
< 20
&&
Sum(C-lowest(L,9),9)/
Sum((highest(H,9)-lowest(L,9)),9)
*100
< 20
WTI&S9&F9침체&극한공포(신호수식)
ap=(High+Low+Close)/3;
esa= eavg(ap, 10);
d= eavg(abs(ap - esa), 10);
ci=(ap - esa) / (0.015 * d);
wt1 = eavg(ci, 21);
wt2 = avg(wt1, 4 );
wvf=((highest(close, 22)-low)/(highest(close, 22)))*100;
sDev=2*stdev(wvf, 20);
midLine=ma(wvf, 20);
upperBand=midLine +sDev;
rangeHigh = (highest(wvf, 50)) * 0.85;
A = if(wvf >= upperBand or wvf >= rangeHigh, wvf, 0);
B = if(wvf < upperBand or wvf < rangeHigh, wvf, 0);
A1 = (C-lowest(L,9))/(highest(H,9)-lowest(L,9))*100;
A2 = Sum(C-lowest(L,9),9)/
Sum((highest(H,9)-lowest(L,9)),9)
*100;
wt1 < -53 && A > B && A1 < 20 && A2 < 20
2025-01-02
740
글번호 186826
회원 님에 의해서 삭제되었습니다.
2025-01-02
0
글번호 186825