커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1662
글번호 230811
타이탄 님에 의해서 삭제되었습니다.
2021-06-14
46
글번호 149876
답변완료
swing high 와 swinglow 에서요...
swing high 와 swinglow 에서요,
예를 들어서 ,
시간순서로 말씀드리면,
상승추세의 경우에,
스윙하이("스윙하이1")가 1차로 발생을 하고,
이후 스윙로우가("스윙로우1") 발생하고,(먼저번 "스윙하이1"보다 저점일 것)
그 후에 스윙하이("스윙하이2")가 2차로 발생을 하고,(먼저번 "스윙하이1"보다 고점일 것)
다시 2차로 스윙로우("스윙로우2")가 발생을 했는데,
"스윙로우2"가 "스윙하이1"보다 높은 경우를
나타낼수 있는 식을 좀 알려주시면 감사하겠습니다.
도식화 된 파일을 첨부합니다.
늘 감사드립니다......
2021-06-11
1344
글번호 149875
답변완료
재문의 드립니다.
안녕하세요
예스스탁입니다.
스위칭이 되는 시스템에서
조건만족하면 진입을 다음봉에서 진입하게 작성하면 아래와 같습니다.
Input : Period(14);
Var : RSIV(0);
RSIV = RSI(Period);
Condition1 = CrossUp(RSIV,50);
Condition2 = CrossDown(RSIV,50);
if MarketPosition == 0 and Condition1[1] == true Then
Buy("b");
if Condition2 == true Then
ExitLong("bx");
if MarketPosition == 0 and Condition2[1] == true Then
Sell("s");
if Condition1 == true Then
ExitShort("sx");
다만 청산후 진입을 다음봉에 발생하게 처리하면 다른 문제를 만나게 됩니다.
50상향돌파(1) -> 50하향이탈(2)
50하향이탈(1) -> 50상향돌파(2)
만약 조건만족상태가 위와 같이
50상향돌파 후에 바로 다음봉에서 50하향이탈을 하거나
50하향이탈 후에 바로 다음봉에서 50상향돌파를 하면
2번봉에서
매수진입과 매수청산이 동시 발생하게 하거나
매도진입과 매도청산이 동시 발생하게 되어
같은봉 종가에 동일방향 진입과 청산을 하는 의미없는 신호가 발생될수 있습니다.
즐거운 하루되세요
다름이 아니라 다른건 다 똑같고요.
매수는 이평1 이 이평 2 위의 있을 때,매수
매도는 이평1 이 이평 2 아래의 있을 때,매도..
제가 할려고 하다가 자꾸 이상하게 되어서 재문의 하게 됐습니다.
부탁드립니다.
그럼 수고하세요.
2021-06-11
1214
글번호 149874
답변완료
도움을 부탁드리겠습니다.
안녕하세요...늘 도와주셔서 감사합니다..
분봉차트에서 상승 거래량과 하락 거래량을 구분해서
이를 가격움직임과 비교해 보고 싶습니다.
첨부한 그림을 봐주세요 1번 2번 3번은 그림에서 위치입니다.
주가가 9시 부터 올라갔다가 하락하는 중이라고 했을때
------------------------------
변수 n
1번 : 당일 시가대비 종가가 n% 상승할때, 첫번째 돌파한 해당봉의 인덱스 저장
2번 : n% 이상이면서 당일 최고가 발생봉의 인덱스 저장
3번 : 현재봉의 인덱스(최고가 봉이 발생한 이후일것 +1봉이상 경과)
1구간은 1~2 사이이고
2구간은 2~3 사이입니다.
# 1번 인덱스를 구하는 수식을 만들어 주세요
# 2번 인덱스를 구하는 수식을 만들어 주세요
계속해서
현재인덱스로 어찌 저찌 계산해서
# 1구간에 해당하는 봉들의, 거래량을 합산하는 수식을 만들어주세요
# 2구간에 해당하는 봉들의, 거래량을 합산하는 수식을 만들어주세요
변형
# 2구간에 해당하는 봉들의, 음봉거래량만 합산하는 수식도 만들어주세요
첫번째 요청<지표> 분자/분모
분자 = 2구간 삼각형의 가격(높이) : 당일최고가 ~ 현재가 사이
분모 = 1구간 삼각형의 가격(높이) : 시가대비n퍼~ 에서 당일최고가 사이
두번째 요청지<지표> 분자/분모
분자 = 2구간 거래량합산
분모 = 1구간 거래량합산
지표가 완성되지 않는 시점에서는
- 주가가 당일 n퍼 상승을 아직 못했거나, 주가가 당일최고가를 갱신중일때에는
(현재가=당일최고가인때에는)
해당지표값이 나올수 없으니까 그냥 0 값
부탁드리겠습니다..
감사합니다..
2021-06-10
1700
글번호 149873
답변완료
지표를 부탁드립니다...이격도
60분봉 20이평의 이격도를 3분봉에 표현하고 싶습니다..
감사합니다..
2021-06-10
1612
글번호 149872
234fsdae 님에 의해서 삭제되었습니다.
2021-06-13
56
글번호 149871
답변완료
부탁 드립니다.
도움에 감사 드립니다.
var1~5 값이
1)과거 100개 봉전에서 rsi 값이 30 이하
2)과거 200개 봉전에서 rsi 값이 70 이상
3)현재봉에서 rsi 값이 50 이하
위의 3개의 조건을 만족하는 수식이 3개 이상이라면
종목을 검색 하는 수식
부탁 드립니다.
var1=rsi(10);
var2=rsi(20);
var3=rsi(30);
var4=rsi(40);
var5=rsi(50);
*추가질문)
검색시 "검색에 필요한 최소 기간"은 500으로 하였고...
각각 "기준봉"은 얼마로 하여야 하나요?
참고수식)
value1 = 0;
if var1 >= 70 Then
value1 = value1+1;
if var2 >= 70 Then
value1 = value1+1;
if var3 >= 70 Then
value1 = value1+1;
if var4 >= 70 Then
value1 = value1+1;
if var5 >= 70 Then
value1 = value1+1;
if value1 >= 3 Then
plot1(H,"검색",MAGENTA);
2021-06-13
1311
글번호 149869
관리자에 의해 예스스팟 QnA로 이동되었습니다
2021-06-11
14
글번호 149867
답변완료
지표부탁드립니다
수고많으십니다.
볼린저밴드 상하에 기울기에 따라 색깔을 rgb 컬러로 넣을려고 만들어 봤는데 이상하게 나옵니다.
단순컬러로
Plot1(BBup, "상단",iff(t==1,red,blue));
Plot2(BBdn, "하단",iff(s==1,RED,blue));
는 이렇게 하면 원래모양이 나오는데 rgb 컬러로 붉은계통과 파랑계통을 넣을려고 이것저것 조합해보니 위아래 긴막대모양으로 나옵니다.
무엇이 문제인지 수정해주시면 고맙겠습니다.
감사합니다.
Input : Period(20), MultiD(2);
var : BBup(0),BBdn(0),t(0),s(0);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if BBup > BBup[1] Then
t = 1;
if BBup < BBup[1] Then
t = -1;
if BBdn > BBdn[1] Then
s = 1;
if BBdn < BBdn[1] Then
s = -1;
if t > t[1] then {
plot1(t,"상단",rgb(128,0,0), def, 6);
plot1(t,"상단",rgb(255,0,0), def, 4);
plot1(t,"상단",rgb(255,255,0), def, 0);
}
else
{plot1(t,"상단",rgb(0,0,255), def, 6);
plot1(t,"상단",rgb(70,130,180), def, 4);
plot1(t,"상단",rgb(0,255,255), def, 0);
}
if s > s[1] then {
plot2(s,"하단",rgb(128,0,0), def, 6);
plot2(s,"하단",rgb(255,0,0), def, 4);
plot2(s,"하단",rgb(255,255,0), def, 0);
}
else {plot2(s,"하단",rgb(0,0,255), def, 6);
plot2(s,"하단",rgb(70,130,180), def, 4);
plot2(s,"하단",rgb(0,255,255), def, 0);
}
2021-06-10
1411
글번호 149865