커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1452
글번호 230811
답변완료
수식변환 부탁드립니다
안녕하세요
하기 수식 변환 부탁드립니다.
A = lowest(c,20,0);
양봉 = o < c;
음봉 = o > c;
B = (A(1) > L(1)) and (음봉(1) and 양봉(0))
수고에 항상 감사드립니다.
2024-03-20
805
글번호 177684
답변완료
시가대비 분당 거리
아래수식에서
n 1 은 1분
n 2 는 2분
n 3 은 3분 인가요?
그리고 전략차트는 틱차트도 사용 가능한가요?
*******************************************************************************
안녕하세요
예스스탁입니다.
input : N(1),pt(0.55);
var : T1(0);
#시초가 터치봉 시간
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and H >= dayopen and H[1] < DayOpen) or
(Bdate == Bdate[1] and L <= dayopen and L[1] > DayOpen) Then
T1 = TimeToMinutes(stime);
if TimeToMinutes(stime) <= T1+n Then{
if MarketPosition <= 0 and C >= dayopen+pt Then
buy();
if MarketPosition >= 0 and C <= dayopen-pt Then
sell();
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 시가 기준 속도
> 아래건 문의드립니다
지정한 거리를 빠른 속도로 움직인 경우에만 진입하는 수식입니다.
선물
시가대비 위나 아래로 0.55pt를 1분안에 빠르게 움직일 때 진입합니다
변수조절은
1.거리
2.분단위 속도
부탁드려요.
2024-08-01
676
글번호 177682
답변완료
86241 수식 검토요청
86241을 통해 작성해주신 수식 감사히 받았읍니다.
수식을 3일째 적용 결과, 단 한 종목도 나오지 않아 일부 종목을 보니,
차트에는 수식의 3가지 신호가 나온 것을 한종목 발견했읍니다.
즉, 차트에 3가지 신호는 잡히는데 주신 수식에서는 종목검색이 안되는 것입니다.
정확하게 작성해주셨으리라 생각하지만 혹시라도 miss가 난 게 있는지 검토부탁드립니다.
미스가 있더라도 사람이 하는 일이니라 이해합니다.
2024-03-20
706
글번호 177681
답변완료
돌파 조건 검색식 부탁 합니다
중심선 라인
중심=ma(c,중심선기간,종류);
이평=ma(c,이평기간,종류);
이격=이평-중심;
if(c>중심,중심+이격*비율/100,중심)
이평기간
중심=ma(c,중심선기간,종류);
지표조건
중심선기간 10
이평기간 5
종류 단순
비율 100
중심선 라인 이 이평기간 돌파 조건검색식 부탁합니다
분봉에서 사용하고 싶어요
2024-03-20
610
글번호 177677
답변완료
문의 드립니다.
아래 식을 코인에서 금액을 추가할 수 있게 부탁드립니다.
if C > H[1] Then
Buy();
if C < L[1] Then
ExitLong();
2024-03-20
651
글번호 177673
바닥차기 님에 의해서 삭제되었습니다.
2024-03-20
19
글번호 177672
답변완료
문의 드립니다
input : starttime(130000),endtime(40000),n(10);
var : Tcond(false),hh(0),h1(0),ll(0),l1(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1]and Tcond == true Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
hh = h;
ll = l;
h1 = hh[1];
l1 = ll[1];
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
input : 익절틱수(0),손절틱수(0);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx",AtMarket);
if NextBarOpen != C Then
{
Buy("b1",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx1",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx",AtMarket);
if NextBarOpen != C Then
{
Sell("s1",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx1",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b2",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx2",AtMarket);
if NextBarOpen == C Then
{
Buy("b3",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx3",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s2",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx2",AtMarket);
if NextBarOpen == C Then
{
Sell("s3",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx3",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b4",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx4",AtMarket);
if NextBarOpen != C Then
{
Buy("b5",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx5",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s4",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx4",AtMarket);
if NextBarOpen != C Then
{
Sell("s5",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx5",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b6",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx6",AtMarket);
if NextBarOpen == C Then
{
Buy("b7",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx7",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s6",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx6",AtMarket);
if NextBarOpen == C Then
{
Sell("s7",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx7",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b8",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx8",AtMarket);
if NextBarOpen != C Then
{
Buy("b9",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx9",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s8",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx8",AtMarket);
if NextBarOpen != C Then
{
Sell("s9",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx9",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b10",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx10",AtMarket);
if NextBarOpen == C Then
{
Buy("b11",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx11",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s10",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx10",AtMarket);
if NextBarOpen == C Then
{
Sell("s11",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx11",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b12",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx12",AtMarket);
if NextBarOpen != C Then
{
Buy("b13",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx13",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s12",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx12",AtMarket);
if NextBarOpen != C Then
{
Sell("s13",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx13",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b14",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx14",AtMarket);
if NextBarOpen == C Then
{
Buy("b15",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx15",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s14",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx14",AtMarket);
if NextBarOpen == C Then
{
Sell("s15",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx15",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b16",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx16",AtMarket);
if NextBarOpen != C Then
{
Buy("b17",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx17",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s16",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx16",AtMarket);
if NextBarOpen != C Then
{
Sell("s17",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx17",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b18",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx18",AtMarket);
if NextBarOpen == C Then
{
Buy("b19",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx19",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s18",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx18",AtMarket);
if NextBarOpen == C Then
{
Sell("s19",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx19",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b20",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx20",AtMarket);
if NextBarOpen != C Then
{
Buy("b21",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx21",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s20",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx20",AtMarket);
if NextBarOpen != C Then
{
Sell("s21",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx21",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b22",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx22",AtMarket);
if NextBarOpen == C Then
{
Buy("b23",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx23",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s22",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx22",AtMarket);
if NextBarOpen == C Then
{
Sell("s23",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx23",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b24",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx24",AtMarket);
if NextBarOpen != C Then
{
Buy("b25",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx25",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s24",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx24",AtMarket);
if NextBarOpen != C Then
{
Sell("s25",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx25",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b26",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx26",AtMarket);
if NextBarOpen == C Then
{
Buy("b27",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx27",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s26",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx26",AtMarket);
if NextBarOpen == C Then
{
Sell("s27",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx27",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Buy("b28",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx28",AtMarket);
if NextBarOpen != C Then
{
Buy("b29",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx29",AtMarket);
if NextBarSdate != sDate Then
{
if NextBarOpen != C Then
{
Sell("s28",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx28",AtMarket);
if NextBarOpen != C Then
{
Sell("s29",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx29",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Buy("b30",AtStop,NextBarOpen+PriceScale*10);
}
}
ExitLong("bx30",AtMarket);
if NextBarOpen == C Then
{
Buy("b31",AtStop,NextBarOpen+PriceScale*10);
}
ExitLong("bx31",AtMarket);
if NextBarSdate == sDate Then
{
if NextBarOpen == C Then
{
Sell("s30",AtStop,NextBarOpen-PriceScale*10);
}
}
ExitShort("sx30",AtMarket);
if NextBarOpen == C Then
{
Sell("s31",AtStop,NextBarOpen-PriceScale*10);
}
ExitShort("sx31",AtMarket);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
--------
아침 4시에 청산이 되질 않아서 수식어
수정이 가능한지 문의드립니다
2024-03-20
843
글번호 177671
답변완료
수식 문의 부탁 드립니다.
주가가 가중이동평균선 60일, 120일선 위에, 삼각가중평균 120선위에 있을때 매수,
주가가 삼각가중평균 120 아래로 갈때 매도,
수식문의 부탁드립니다.
2024-03-20
760
글번호 177670
답변완료
종목검색식 요청드립니다.
아래 키움수식을 이용하여 기간내 10봉이내에 15%이상 상승한 종목들 중에
1. 당일 1분봉에서 아래 수식라인을 돌파하는 종목을 검색하는 검색식을 만들고 싶습니다.
2. 당일 예상체결금액이 당일 1분봉에서 아래 라인을 돌파한 종목검색식도 가능하다면 부탁드리겠습니다.
상승률(15%)값,기간값(10봉)하고, 1분봉 3분봉 등 변경 가능하도록 도움 부탁드립니다. 항상 감사합니다.^^
========================================
날짜바뀜 = date(1)!=date;
날짜바뀐후1봉 = barssince(날짜바뀜)==0;
일봉고가 = valuewhen(1,날짜바뀐후1봉,H);
일봉저가 = valuewhen(1,날짜바뀐후1봉,L);
첫3분고가 = 일봉고가;
첫3분저가 = 일봉저가;
첫3분고가
=========================================
2024-03-20
753
글번호 177669