커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7665
글번호 230811
답변완료
수고많습니다..
당일에 청산이 일어났으면 더 이상 진입이 안되는 식을 부탁드립니다,
수고하세요~~
2012-04-13
331
글번호 50023
답변완료
지표식 질문이요
For n = 1 To 336 {
enPeriod[n] = Int((n-1)/(4*4))%21+5; //5~25 // 이평
}
For n = 1 To 336 {
# 적합이동평균
eDIFF[n] = ABSVALUE((C+H+L)/3 - (C[1]+H[1]+L[1])/3);
IF CURRENTBAR <= enPeriod[n] THEN
eADAPTMA[n] = (C+H+L)/3;
IF CURRENTBAR > enPeriod[n] THEN {
eSIGNAL[n] = ABSVALUE((C+H+L)/3 - (C[enPeriod[n]]+H[enPeriod[n]]+L[enPeriod[n]]));
eNOISE[n] = accumn(eDIFF[n], enPeriod[n]);
eEFRATIO[n] = eSIGNAL[n] / eNOISE[n];
eSMOOTH[n] = POWER(eEFRATIO[n] * (eFASTEST[n] - eSLOWEST[n]) + eSLOWEST[n], 2);
eADAPTMA[n] = eADAPTMA[[n+1]] + eSMOOTH[n] * (((C+H+L)/3) - eADAPTMA[n+1]);
}
}
위와같이 For 문을에서 적합이동 평균값을 구하고 싶은데요
1. 위와같이 처리하면 원하는 결과를 구할수잇는지 궁금합니다.
2. CURRENTBAR <= 의미를 잘모르겟습니다.
3, ABSVALUE, accumn, POWER 이 함수들을 풀어서 구현해주시면 감사하겟습니다.
2012-04-13
455
글번호 50018
답변완료
재 문의
제가 설명이 부족한듯하군요~~
제가 의도하지않은 곳에 신호가 나오네요
다시한번 검토바람니다
예로 직접수치를 넣어 보겟습니다
> 1. 저점과 고점을표시하고싶습니다
기준값>>> 종가가 20 이평선을 상향돌파한봉의종가
고점>>> 기준봉의 10개봉이후 종가값부터 추적
봉의종가값이 상승하다 5개째 하락한 봉의 종가값이 상승마지막봉의
종가값보다 작으면 상승 마지막봉의 종가값을 고점으로 지정 이지정값을
선으로 표시하고 앞으로 10개째 봉까지 연장
저점>>> 고점의 반대로 하면 될려나요??
2. 시스템식
기준: 1. 20이평선을 상향돌파한 봉의 종가값
2. 이후 10개째 봉까지 종가값의평균값
1차매수>>>> 현재보의 종가가 1번조건 이후 11개째이후 봉의종가가 1번조건값보다크고
양봉 or 2번조건 값 보다 크고 종가가 20 이평값보다 크면 매수
추가매수>>> 매수값보다 -3% 시 1차매수수량의 배수로 매수
매도>>>> 1.추가매수값보다 -2%시
2.1차매수값보다 3%상승후 다음봉의 종가가 3%보다 작을때
3.1차매수후 종가가 3% 상승한 다음 첫번째,두번째 봉들의 종가가 이전봉의 종가보다 작을때
그리고 위 설명대로라면 매수가 2번만 이뤄져야되는데 4번까지 이뤄지네요~~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의
> 안녕하세요
예스스탁입니다.
1.
작성한 식이 맞는지 모르겠습니다.
고점에 주석을 붙여드립니다.
input : N(5);
if crossup(c,ma(c,20)) Then{ #종가가 20이평을 상향하면
value1 = index; #봉번호 저장
Condition1 = false; #Condition1은 flase
value2 = 0;#0 초기값
}
if value1 > 0 and index >= value1+N Then{ # 20이평 상향돌파 후 N봉이상 경과후
if C > C[1] Then{ #종가 상승했으면
var1 = C; #종가저장
Condition1 = true; #Condition1 은 true;
}
if Condition1 == true Then{ # 상승이 한번이상 발생한 후에
if C < C[1] Then{ # 종가상 하락한 봉의 갯수 카운트
value2 = value2+1;
}
if value2 == N and C < var1 Then{ #하락한 봉의 갯수가 N개 이고 상승마지막봉 종가보다 작을때
value3 = var1; #가장 마지막 상승봉의 종가를 저장
value4 = index; #그때의 봉번호 저장
}
}
}
if value3 > 0 and index >= value4 and index <= value4+N Then
plot1(var1);
if CrossDown(c,ma(c,20)) Then{
value11 = index;
Condition11 = false;
value12 = 0;
}
if index >= value11+N Then{
if C < C[1] Then{
var11 = C;
Condition11 = true;
}
if Condition11 == true and C > C[1] Then{
value12 = value12+1;
if value12 == N and C > var11 Then{
value13 = var11;
value14 = index;
}
}
}
if value13 > 0 and index >= value14 and index <= value14+N Then
plot2(value13);
2. 피라미딩을 다른진입신호만 허용으로 설정하시기 바랍니다.
input : N(5);
if crossup(c,ma(c,20)) Then{
var1 = C;
var2 = index;
value1 = 0;
value2 = 0;
value3 = 0;
}
value1 = value1+C;
value2 = value2+1;
value3 = value1/value2;
if var2 > 0 and index >= var2+N Then
if C > var1 and C > O Then
buy();
if C > value3 and C > ma(c,20) Then
buy();
if MarketPosition == 1 Then{
if CurrentEntries == 1 Then{
buy("b",atlimit,EntryPrice*0.97,CurrentContracts*2);
}
exitlong("bx1",AtStop,EntryPrice*0.95);
if MaxEntries == 1 Then{
if BarsSinceEntry >= 2 and H[1] >= EntryPrice*1.03 and C < EntryPrice*1.03 Then
exitlong("bx2");
if BarsSinceEntry >= 2 and C[1] >= EntryPrice*1.03 and C < C[1] Then
exitlong("bx3");
}
}
2012-04-13
353
글번호 50017
aspirin 님에 의해서 삭제되었습니다.
2012-04-13
17
글번호 50016
답변완료
수식작성부탁드립니다..
* 하락을 인정하는 봉 = 전봉이 양봉일 시 전봉의 시가보다 더 낮은 종가를 갖는 봉.
= 전봉이 음봉일 시 전봉의 종가보다 더 낮은 종가를 갖는 봉.
1. 현재봉의 종가가 전봉의 종가보다 높으면 현재봉을 var1로 저장한다.
2. var1 가 나타난 이후 하락인정봉이 나오지 않는다면 var1 값은 유효하다.
3. var1 가 나타난 이후의 봉들 중 종가가 var1 의 종가보다 크면 그 봉을 var2 로 저장한다. (단, var1 이후 하락인정봉이 나오지 않았다고 본다.)
4. var2 가 나타난 이후 하락인정봉이 나오지 않는다면 var1, var2 값은 유효하다.
5. var2 가 나타난 이후의 봉들 중 종가가 var2 의 종가보다 크면 그 봉을 var3으로 저장한다.
var1, var2, var3 이 모두 저장된 상태
첫 var3 이 생성된 이후에 var3보다 종가가 큰 봉이 나오면 var3을 계속 새로 저장한다. (var3 이후 종가가 커진 새로운 봉 생기면 전에 저장된 var3은 초기화되고 종가가 커진 새로운 봉이 var3이 된다.)
var1이 생성된 이후 하락을 인정하는 봉이 나오면
하락을 인정하는 봉은 value1 이 되고
var1은 초기화 되며 다시 var1의 조건을 탐색한다.
var1 이후 var2가 생성된 이후에 하락을 인정하는 봉이 나오면
하락을 인정하는 봉은 value1 이 되고
var1, var2 는 모두 초기화.
다시 var1 의 조건을 탐색한다.
var1 이후 var2가 생성되고 그 이후 var3이 생성된 다음 하락을 인정하는 봉이 나오면
하락을 인정하는 봉은 value1이 되고
var3이후~ 하락인정봉 생성까지 봉들에 시가와 종가중 최고가를 var10으로 저장.
(var3, 하락인정봉의 시가와 종가도 포함됨.)
위내용을 토대로 제가 수식을 작성했는데 신호가 몇개가 다르게나오거든요ㅠㅠ
위내용수식작성좀부탁드립니다.
2012-04-13
305
글번호 50015
답변완료
수식부탁드립니다---------
if 조건a then {
if Stok >= 10 and stok <= 90 and Stok <Stok[1] Then
sell("s1");
if stok > 90 Then {
ExitLong("es1");
if Stok > Stok[1] Then {
ExitLong("es2");
}
#직전거래가 es1으로 청산됐으면 90하향할때 매도
#직전거래가 es2으로 청산됐으면 스토 하락하면 매도
if MarketPosition == 0 Then{
if (IsExitName("es1",1) == true and CrossDown(stok,90)) or
(IsExitName("es2",1) == true and stok < stok[1]) Then
sell();
}
조건a 에의해 신규매도신호나오면 스토가90이상이면 기다렸다 90아래로 내려올때 매도
스토가 상승중이면 기다렸다 하락할때 매도
를 추가해주세요
수고하세요
2012-04-13
307
글번호 50013
답변완료
스토캐스틱 질문드립니다
안녕하세요.
스토캐스틱으로 문의드립니다.
Stochastics slow과Stochastics이 같다고 들었느데 키움과 예스의 수치가 다르게나와서 문의드립니다.
%k가 금일 세운메디칼의 경우 키움증권 73.91 예스 83.97로 큰차이가 있습니다.
단순,가중으로 변경해봐도 큰차이가 있습니다..
첨부한 수식으로 스토캐스틱을 이용하고싶은데 수식 작성 부탁드립니다..
2012-04-13
422
글번호 50010
답변완료
수식 부탁드려요
분봉에서 일봉이평 갭보정 수식 좀 부탁드립니다..
2012-04-13
298
글번호 50007
답변완료
한가지 문의드립니다.
안녕하세요.
지표수정 한가지 부탁드립니다.
수정할 내용은 차트위에 들어있습니다.
2012-04-13
295
글번호 50004