커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6138
글번호 230811
좋운날 님에 의해서 삭제되었습니다.
2022-07-05
2
글번호 160437
답변완료
문의 드립니다.
1. 전일종가 < 금일시가
2. 전일종가 > 금일시가 일때
3. 두 조건 전부 N날짜 피보나치 수열 0.382 매수 0.050 청산
청산신호없을시 05시30분 강제청산
4. 매매시간은 07시 ~ 익일 05시30분
5. 손절 30틱
2022-07-05
1511
글번호 160436
답변완료
문의 드립니다.
이평선 20과 60이 있을 때,
가격 > 이평선 20 > 60이면, 이평선 20만 그려지고 60은 안 보이고,
이평선20 > 가격 > 60, 20 < 가격 < 60 있으면, 두 선이 모두 보이고,
이평선20 > 60 > 가격이면 60만 그려지고 20은 안 보이고,
가격 < 이평선 20 < 60이면, 이평선 20만 그려지고 60은 안 보이게 할 수 있을까요?
답변 감사드립니다.
2022-07-04
1489
글번호 160435
답변완료
지표식과 종목검색식 부탁드립니다
수고많으십니다.
1. 거래량이 전일비 5배증가하고 + 주가는 전일비 4%이상 상승한 양봉인날(D)이 발생하고
2. D+3일 이후부터 D+90일 이내에 종가가 이날(D)의 종가를 넘어가는경우를 표시하는
지표식이 궁금합니다.
3.만약 1/1일이 D일이 되고 , 그이후 위의기간중 그날의 종가를 못넘다가 하락한상태에서
3월1일에 다시 D일에 해당되면 위의 3일이후 90일 이내에 3월1일의 종가를 넘는 종가가나온 날의 종가가 표시되면 됩니다.
4. 종목검색식도 부탁드립니다.
IF C>C[1]*1.04 AND V>V[1]*5 THEN
VALUE1=C;
VALUE2=INDEX;
IF CROSSUP(C,VALUE1) AND INDEX>VALUE2+3 AND INDEX<VALUE2+90 THEN
PLOT1(C);
이리 작성해보니 조건기간표시와 위의 3번처럼 가장최근 장대양봉이 발생한날의 종가를
넘어가는 종목검색이 잘 안나와서 문의드립니다.
감사합니다
2022-07-04
1443
글번호 160434
회원 님에 의해서 삭제되었습니다.
2022-07-05
172
글번호 160433
답변완료
77935 수식 재문의
제가 설명이 부족했나 봅니다.
아래의 ATR지표에 입력하는 Period 값이
시초가에 1,
다음봉은 2,
다다음봉은 3
다다다음봉은 4.
---- n봉까지
적용되도록 부탁드립니다.
도움 주신 수식을 깔아봤는데,
봉차트에 뿌려지더군요.
아시다시피 ATR은 보통 0.n 에서 왔다갔다 할텐데요.
다시한번 검토 부탁드립니다.
Input : Period(14),SigPeriod(9);
var : AvgTrueRange(0),ATRsig(0);
AvgTrueRange = ATR(Period);
ATRsig = ema(ATR(Period),SigPeriod);
Plot1(AvgTrueRange, "Average True Range");
Plot2(ATRsig, "ATR signal");
2022-07-05
1373
글번호 160432
답변완료
지표 질문입니다
최근 10 캔들에서
음봉 시가 가운데 가장 낮은 것과 두번째 낮은 것을 표시한다
음봉 종가 가운데 가장 낮은 것을 표시한다
감사합니다
2022-07-04
1531
글번호 160431
답변완료
atstop과 atlimit 관련
안녕하세요~ 이해가 잘 안가는 부분이 있어서 다시 글 남깁니다~
(작성해주신 글)===================================
수식은 봉완성이 기본체계입니다.
봉완성시 if조건을 체크하고 실행문을 수행합니다.
예스랭귀지에는 신호타입이 4가지 제공됩니다.
onclose,atmarket,atstop,atlimit
신호가 onclose나 atmarket으로 지정되어 있으면
ir조건이 만족하는 봉완성시 신호입니다.
봉완성은 다음봉시가수신될때이고
onclose는 완성봉의 종가에,
atmarket은 다음봉시가에 신호를 표시하고
해당값을 리포트의 진입청산가격으로 사용합니다.
atstop과 atlimit은
봉완성시 if조건을 만족하면 값을 셋팅하고 다음봉에서 셋팅된 가격을 이용한 추가 조건이 만족하면 즉시 신호가 발생합니다.
올리신 그림으로 보면 작성하신 식은 모두 onclose타입인것 같고
종가에 신호가 표시되는 것이 맞습니다
===========================================================================
추가 질문입니다.
if문이 현재 봉의 완성 기준이라고 말씀해 주셨는데, 5분봉을 기준으로 잡는다고 치면. 09:05에 2번째 봉이 생겨서 5분동안 움직이다가 09:10에 3번째 5분봉이 생기겠죠?
그럼 만약 제가 if문으로 5일선 위에 주가가 있고, 캔들의 크기가 0.3P 이상이면 매수라는 아래의 수식을 사용한다고 가정해 보겠습니다.
if C >= MA(C,5) and C-0 >= 0.3 THEN
BUY()
1. 09:05에 형성된 캔들이 5일선 위에 있고, 해당 캔들의 상승이 0.3P 이상이면 조건에 해당되는데요. 이때 09:05분에 캔들 2번째 봉이 시가를 만들고나서 상승할때 조건을 만족하는 순간에 매수주문이 바로 나가는게 아니고, 봉완성의 기준이 다음봉 시가니까. 조건을 충족해도 다음봉이 나올때까지 주문이 안나간다는 말씀인가요??
그럼 09:05분에 강한 상승이 나와서 형성된 2번째 캔들이 1.5P까지 고가를 만들고 다음봉 시가가 고가에서 형성될텐데 이때 주문이 나가면 1.2P 손해를 보게 되는 완전 후행 아닌가요? ㅠㅠ
2. atstop과 atlimit은
봉완성시 if조건을 만족하면 값을 셋팅하고 다음봉에서 셋팅된 가격을 이용한 추가 조건이 만족하면 즉시 신호가 발생합니다.
이렇게 써주셨는데 그럼 ATSTOP과 ATLIMIT을 쓰면 신호 발생 즉시 주문이 나간다는 말씀인가요? 위에 봉완성의 기준이 다음봉 시가라고 하셔서 헷갈리네요..
3. if C >= MA(C,5) and C-0 >= 0.3 THEN
BUY()
이 조건을 만족하는 순간 주문이 나가게 하는게 atstop과 atlimit을 사용하면 될 경우, 어떻게 수정해 주어야 하는지요?
4. 글을 몇개 보다 보니 이렇게 답변을 해주신 걸 찾았는데요
================================================
일반청산함수로 진입 후 다음봉에서도 청산을 하고자 하시면
진입과 동시에 청산도 같이 셋팅이 되게 해야 하는데
진입신호가 onclose나 atmarket으로 신호타입일때만 가능합니다.
진입이 atstop이나 atlimit이면 봉미완성시에 신호가 발생해서 진입가를 알수가 없습니다.
if C >= MA(C,5) and C-0 >= 0.3 THEN
BUY()
위의 식으로 시장가 매수 진입하고나서
if MarketPosition == 1 Then
{
if C < MA(C,5) AND C<0 Then
ExitLong();
if H-O >= 1 Then
ExitLong();
}
이렇게 설정할 경우 두번째에 있는 고가 - 시가 >= 1P 인 경우는 주문이 안나간다는 말씀이신건가요? 그럼 이럴 경우 함수나 다른 방식으론 구현이 불가능하고, 시스템 적용할때 나타나는 창에서 목표가 설정으로만 가능한거지요~?
2022-07-04
1692
글번호 160421
답변완료
swinghigh
안녕하세요
1번을 2번으로 수정해야 되지 않나요?
1) if MarketPosition != 0 Then
1) if MarketPosition != 0 && MarketPosition[1]==0 Then
안녕하세요
예스스탁입니다.
SH와 SL에 저장되는 내용을 변경하시면 안됩니다.
아래와 같이 별도의 변수에 진입당시에 값을 가져와 저장해 사용하시면 됩니다.
SH = SwingHigh(1,H,Left,Right,Left+Right+1)
SL = SwingLow(1,L,Left,Right,Left+Right+1)
if MarketPosition != 0 Then
{
#진입봉의 SH
var1 = SH[BarsSinceEntry];
#진입봉의 SL
var2 = SL[BarsSinceEntry];
}
즐거운 하루되세요
> 코퍼 님이 쓴 글입니다.
> 제목 : swinghigh
>
안녕하세요~
SH = SwingHigh(1,H,Left,Right,Left+Right+1)
SL = SwingLow(1,L,Left,Right,Left+Right+1)
상기 변수 저장값은 계속 변동됩니다.
진입당시의 SwingHigh와 SwingLow를 변수에 고정 저장시켜 추후 STOPLOSS로 활용하는 공식 부탁드립니다.
2022-07-04
1418
글번호 160416