커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3650
글번호 230811
답변완료
수식 수정 및 보완 부탁드립니다.
현재 수식인데요
여기서 진입할 자리가왔는데도 진입을 안합니다.
그리고 진입한 봉에서는 익절 청산라인에 도달해도 청산이 안되는거 같아요
꼭 다음봉 넘어가서 자리에와야 청산을 합니다.
그래서 익절할 것도 손절하게 됩니다.
진입봉 및 청산봉은 조건 만들어질때 카운팅 제외된거 같은데
조건에 카운팅되게 부탁드립니다.
예를들어 양양음음 4개봉이 카운팅 되어야 조건만족인데
위 4개봉중 첫번째 양봉이 그전 조건에 진입 및 청산봉이면 카운팅 되지 않고
조건이 완성이 안되네요.
수정 및 보완 부탁드립니다.
그리고 데이터 시뮬레이션상 익절청산시 원래자리에서 청산이 되는게 아니라 더 밀려서 청산되는 경우가 많더라구요. 그래서 정확한 데이터 분석에 어려움이 있는데 이거는 어쩔 수 없는건가요?
input : StartTime(101500),EndTime(130000);
var : Tcond(false);
var : T(0),T1(0),P(0),N(0),B(False),S(False);
var : HH(0),HL(0),HM(0),LL(0),LH(0),LM(0),cnt(0);
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;
if EndTime < StartTime Then
SetStopEndofday(0);
}
if EndTime > StartTime Then
SetStopEndofday(EndTime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(EndTime);
}
if C > O Then
T = 1;
if C < O Then
T = -1;
if T != T[1] Then
{
T1 = T[1];
}
if T == 1 and Condition1 == False and CountIf(C > O and C > C[1],2) == 2 Then
{
T = 2;
P = Index[1];
if T1 == -2 Then
{
B = False;
S = true;
LL = L;
LH = H;
For cnt = 0 to Index-N
{
if L[cnt] < LL then
{
LL = L[cnt];
LH = H[cnt];
LM = (LL+LH)/2;
}
}
}
Else
S = False;
}
if T == -1 and Condition2 == False and CountIf(C < O and C < C[1],2) == 2 Then
{
T = -2;
N = Index[1];
if T1 == 2 Then
{
S = False;
B = true;
HH = H;
HL = L;
For cnt = 0 to Index-P
{
if H[cnt] > HH then
{
HH = H[cnt];
HL = L[cnt];
HM = (HH+HL)/2;
}
}
}
Else
B = False;
}
if MarketPosition == 0 and HL > 0 and B == true and NextBarOpen < HL and Tcond == true Then
Buy("b",AtStop,HL+PriceScale*3);
if MarketPosition == 1 Then
{
ExitLong("bp",AtLimit,HM[BarsSinceEntry]);
ExitLong("bl",AtStop,L[BarsSinceEntry+1]);
}
if MarketPosition == 0 and LH > 0 and S == true and NextBarOpen > LH and Tcond == true Then
Sell("s",AtStop,LH-PriceScale*3);
if MarketPosition == -1 Then
{
ExitShort("sp",AtLimit,LM[BarsSinceEntry]);
ExitShort("sl",AtStop,H[BarsSinceEntry+1]);
}
2020-10-14
934
글번호 143102
회원 님에 의해서 삭제되었습니다.
2020-10-14
0
글번호 143100
회원 님에 의해서 삭제되었습니다.
2020-10-14
730
글번호 143099
답변완료
수정 부탁드릴게요
Input: per(10);
var : 전환선(0),기준선(0);
전환선 = (highest(H,9)+lowest(L,9))/2;
기준선 = (highest(H,26)+lowest(L,26))/2;
if 기준선 <= 전환선 and 기준선 >= 전환선*(1-Per/100) then
Find((기준선-전환선)/전환선*100);
말씀 하신데로 수정해서 검색결과 값을 보면 0%에 대한 값은 안나오네요
0.00 될수있게 해주세용
2020-10-14
875
글번호 143098
답변완료
수정부탁드립니다
안녕하세요..글번호69266에 포트59번수정 부탁드립니다.
30분봉 중심값라인 연장되어 그려지게요.
9/00~ 9/30 중심값라인이 10/00 까지그려지게요.
9/30~10/00 중심값라인이 10/30 까지그려지게요.
10/00~10/30 중심값라인이 11/00 까지그려지게요.
10/30~11/00 중심값라인이 11/30 까지그려지게요.
위와같은 방법으로 장마감 까지 그려지게요.
수고하세요...꾸벅
2020-10-14
805
글번호 143092
회원 님에 의해서 삭제되었습니다.
2024-09-12
726
글번호 143091
답변완료
69461 번 2.5 마디선에 대해 수정 및 질문합니다.
안녕하세요 ~
보내주신 수식 고맙습니다.
제가 시스템에 적용해보니 화면으로 나오지 않고 지표로 적용해보니 나오는데
선의 위치가 빠지거나 틀립니다.
즉 2.5 마디선은 2t 이상 검정선은 맞습니다.(320선, 322.5선.325선등 2.5차이)
중간값인 1.25의 선은 맞지 않습니다.(320선과 322.5선의 중간값인 321.25 등 1t 실선)
그리고 1.25와 2.5 마디선의 중간값인 0.625 차이의 값 (320과 321.25 의중간값인 320.625
는 점선으로 표시) 이 안되어 있는부분이 많습니다.
수정부탁 드리고 또한 이 질문에 대한 적용이 시스템인지, 지표인지 알려주시면 고맙겠습니다.
잘 이해 안되시면 통화가능한 번호 알려주시면 연락드리겠습니다.
2020-10-14
763
글번호 143082
답변완료
구역 나눠서 봉 개수 세기
빠른 답변 감사합니다.
하루 중 최저점 하향돌파 카운트가 아니라 아래처럼 top봉과 bottom봉을 도입해 구역을 나눠서 상향돌파, 하향돌파 카운트를 각각하고 하고 싶습니다.
아래 5가지 원칙을 수식으로 만들 수 있을까요?
자세하게 반복해서 설명하느라 글이 긴데 내용은 간단합니다.감사합니다.
1. 하루가 시작되고 분봉이 진행되면서 최고점을 상향돌파하는 봉이 4번 이상 나왔을때의 봉을 top봉이라고 하며 계속 돌파하면 갱신됨.
반대로 최저점을 하향돌파하는 봉이 4번 이상 나왔을때의 봉을 bottom봉이라고 파머 계속 돌파하면 갱신됨.(top봉이 먼저 나오는 날도 있고 bottom봉이 먼저 나오는 날도 있음)
2. 만약 top봉이 먼저 나왔다면 top봉의 저점(L)을 기준으로해서 다음봉부터 이 저점을 하향돌파 하는 횟수를 카운트하고, 4번이상 하향돌파했을 경우 bottom봉이라 하기.
만약 bottom봉이 먼저나왔다면 그 반대로 bottom봉의 고점(H)을 상향돌파하는 횟수 카운팅해서 top봉 지정.
3. top봉의 저점을 하향돌파하는 횟수를 세는중에 top봉 전에 발생했던 최저점을 하향돌파하는 봉이 발생하면, 기존의 bottom봉을 이때의 봉으로 갱신하고 최근 top봉을 삭제하기.
그 반대로 bottom봉의 고점을 상향돌파하는 횟수를 세는중에 bottom봉 전에 발생했던 최고점을 상향돌파하는 봉이 발생하면, 기존의 top봉을 이때의 봉으로 갱신하고 최근 bottom봉을 삭제하기.
4.하루동안 top봉과 bottom봉을 지표나 강조로 나타내고 다음날이 되면 초기하기.
참고) 만약 어떤 봉에서 최고점과 최저점을 동시에 돌파하는게 나타났을땐, 그 직전까지 최고점을 뚫고 있었다면 그 봉에서는 최고점을 뚫은것만 세고, 최저점을 뚫고 있었다면 그 봉에서는 최저점을 뚫은것만 세기.
2020-10-14
702
글번호 143078
답변완료
지표 설명
항상 감사합니다.
아래수식을 설명으로 풀어주시면 감사하겠습니다.
input : P(5);
var : T(0),hh(0);
var1 = ma(c,P);
if var1 > var1[1] Then
T = 1;
if var1 < var1[1] Then
T = -1;
if T == -1 and T[1] != -1 Then
{
hh = var1[1];
}
2020-10-14
566
글번호 143077