커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4521
글번호 230811
기업분석 님에 의해서 삭제되었습니다.
2016-10-02
21
글번호 102420
답변완료
장기이동평균을 표현하는 지표식을 구현하고자 합니다.
격노한 노무에 수고많으십니다.
다름이 아니라
3년(720)과 4년(960) 단순이동평균을 표현하고자 합니다.
종목별로 표현이 되지 않는 종목이 있어 아래와 같이 하고자 합니다.
1. 3년과 4년을 표현할 수 있으면 그 해당일에 맞게 단순이동평균을 구하여 출력하고
ma(c,720) ma(c,960); -- > plot
2. 만약 계산이 되지 않는다면 ma(c,240) 을 표현
NAN값을 이용하여 표현하는 방법이 헷갈립니다.
부탁드립니다.
2016-10-01
104
글번호 102419
답변완료
문의드립니다.
항상 신속하고 친절한 답변 감사드립니다.
>>
1. 분봉이 양봉일때와 음봉일때를 선으로 색깔구분하여 틱차트에서 구현이 가능한 지표 부탁드립니다.
2. 틱차트에 타주기(분)봉을 넣어서 함께 보게끔 하려고 하는데 부탁드립니다.
좋은 주말되세요^^
2016-10-01
110
글번호 102418
답변완료
삼각이평종가 수식어가 뭐가요?
삼각이평종가 수식어가 필요한데 한수부탁합니다.
2016-10-01
99
글번호 102417
렉쳐 님에 의해서 삭제되었습니다.
2016-10-01
18
글번호 102416
답변완료
문의사항
안녕하세요
하기 문의 드립니다.
input : P(14);
var : ADXV(0),DP(0),DM(0),T(0);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
if crossup(ADXV,20) Then{
if DP > DM Then
buy("b1");
if DP < DM Then
sell("s1");
}
상기 수식에서 볼린져 상단밴드가 60 이평 아래에 있을때는 매수금지,
반대로 하단밴드가 60이평 위에 있을때는 매도금지 수식을 추가 부탁드립니다.
다음 신호에서 진입하는 것으로 부탁드립니다.
* 중요한 질문이 있습니다.
프로그램을 운영하다가 자리를 비우고 돌아오거나, 오버나이트를 하고
다음날 확인을 하면, 챠트하고 매매한 결과가 다르게 나타납니다.
챠트에서는 신호가 없는데 매매를 진행하기도 하고...
아침에 reset을 하면 어제와는 다른 결과가 나타나 있기도 하고...
왜 이러는지요? 심지어 ADX 수치도 바뀌어져 있을 때가 있습니다.
확인 부탁드립니다.
감사합니다.
2016-10-03
97
글번호 102415
답변완료
수식수정부탁드립니다================
그림올리는 방법을 몰라 첨부로 올립니다
그림처럼
크로스될때 점찍고
그위에 텍스트로 그때지수 표시하고
그봉에서만 소리나게해주세요 감사합니다
=============================================================================
input:틱배수(10), // 기존 개념 point 대신에 1호가 단위에 몇 배수를 곱한 값을 사용키로 했다.
Figure(3);
Var:j(0),k(0),n(0),pnt(0),v1(0),v2(0),v3(0),v4(0),
Col(0), // 칼럼(열)수를 증가하면서 관리한다.
LowLimit(0), // csv 파일 출력시 불필요한 라인을 줄이기 위해 최저값을 계산
출력개수(50); // 아래 xo[200,100]으로 선언했기 때문에 100칼럼까지 출력이 가능하지만
// 최근 상황만 파악하기 위해 50으로 줄였다.
// 더 많은 칼럼을 출력하고자 한다면 xo[200,100]에서 100을 더 큰 수로 바꿔준다.
Array:고[100](0),저[100](0),구분[100](""), // 100개의 칼럼을 선언
price[200](0), // 200개의 행
xo[200,100](""); // 엑셀에서 cells(row,column)과 같은 개념
#=====================================================#
# P&F 계산
#=====================================================#
pnt = PriceScale * 틱배수; // P&F 는 종가를 기반으로 계산한다. 변형해서 다르게 계산해도 무방
// TickSize()는 사용자함수임. 아래 포스트에 있음
// http://yahoosir.blog.me/220651602149
if 구분[0] == "" then
{
if 고[0] == 0 then 고[0] = C;
if 저[0] == 0 then 저[0] = C;
Col = 1;
if 저[0] + Figure * pnt <= C then
{
구분[0] = "X";
고[0] = 저[0] + int( ( C - 저[0] ) / pnt ) * pnt;
}
else if 고[0] - Figure * pnt >= C then
{
구분[0] = "O";
저[0] = 고[0] - int( ( 고[0] - C ) / pnt ) * pnt;
}
}
else if 구분[0] == "X" then
{
if 고[0] - Figure * pnt >= C then
{
Col = Col + 1;
for j = 98 downto 0
{
고[j+1] = 고[j];
저[j+1] = 저[j];
구분[j+1] = 구분[j];
}
구분[0] = "O";
고[0] = 고[1] - pnt;
저[0] = 고[1] - int( ( 고[1] - C ) / pnt ) * pnt;
}
else if 고[0] + pnt <= C then
{
고[0] = 고[0] + int( ( C - 고[0] ) / pnt ) * pnt;
}
}
else if 구분[0] == "O" then
{
if 저[0] + Figure * pnt <= C then
{
Col = Col + 1;
for j = 98 downto 0
{
고[j+1] = 고[j];
저[j+1] = 저[j];
구분[j+1] = 구분[j];
}
구분[0] = "X";
고[0] = 저[1] + int( ( C - 저[1] ) / pnt ) * pnt;
저[0] = 저[1] + pnt;
}
else if 저[0] - pnt >= C then
{
저[0] = 저[0] - int( ( 저[0] - C ) / pnt ) * pnt;
}
}
Plot1( iff( 구분[0] == "X", 고[0], 저[0] ) ); // _Plot1 > _Plot2 일때 와 _Plot1 < _Plot2 일때 각각 채워넣기를 한다.
plot2( iff( 구분[0] == "X", 저[0], 고[0] ) );
#=====================================================#
# 엑셀용 자료 가공
#=====================================================#
if lastbaronchart() then
{
price[1] = 고[0];
LowLimit = 저[0];
for k = 1 to 출력개수 // 50개 열까지만 출력하도록 하였으므로 이 부분은 취향에 맞춰 수정한다.
{
price[1] = max( price[1], 고[k] );
if 저[k] > 0 then
LowLimit = min( LowLimit, 저[k] );
}
n = 199;
for k = 2 to 199
{
price[k] = price[k-1] - ( PriceScale * 틱배수);
if price[k] < LowLimit then
{
n = k - 1;
k = 200;
}
}
col = min( col, 출력개수 );
for j = Col - 1 DownTo 0
{
for k = 1 to n
{
if 고[j] >= price[k] and price[k] >= 저[j] then
{
xo[k,Col-j] = 구분[j];
}
}
}
for k = 1 to n
{
Print(SymbolName+"_PnF.csv",",%.2f,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s"
,price[k],xo[k,1],xo[k,2],xo[k,3],xo[k,4],xo[k,5],xo[k,6],xo[k,7],xo[k,8],xo[k,9],xo[k,10]
,xo[k,11],xo[k,12],xo[k,13],xo[k,14],xo[k,15],xo[k,16],xo[k,17],xo[k,18],xo[k,19],xo[k,20]
,xo[k,21],xo[k,22],xo[k,23],xo[k,24],xo[k,25],xo[k,26],xo[k,27],xo[k,28],xo[k,29],xo[k,30]
,xo[k,31],xo[k,32],xo[k,33],xo[k,34],xo[k,35],xo[k,36],xo[k,37],xo[k,38],xo[k,39],xo[k,40]
,xo[k,41],xo[k,42],xo[k,43],xo[k,44],xo[k,45],xo[k,46],xo[k,47],xo[k,48],xo[k,49],xo[k,50]
);
}
}
2016-10-02
214
글번호 102414
답변완료
문의드립니다.
안녕하세요..
PercentProfit 수식이 있는데요. 쓰임세가 어떻게 되는지 조언좀 부탁드립니다.
예를들면 차트내에서 매수거래가 승률이 매도거래보다 많으면 매도거래를 안하게 만들수도 있나요??
혹은 차트에 승률이 실시간으로 표시되게 할수도 있는지 궁금합니다.
2016-10-01
92
글번호 102413
답변완료
문의드립니다.
수고많으십니다. 주식용입니다.
전제조건
(1) RSI < 30 진입 및 이탈
(2) macd > 0 (기본 12,26,9 : 숫자는 바꿀수있게 변수처리)
진입
(1),(2)조건 동시만족 또는 (1)조건후 20봉이내에(2)조건 만족한 상태에서
스토케스틱(5,3,3: 변수처리) > 50 또는 rsi(14,9: 변수처리)> 50 이면 진입
진입수량 : 1000주
진입회수 : 3회 허용 (재진입시 진입전제조건 다시충족필요)
진입시간제한 : 14시이후에는 진입금지
청산
* 손절 : 5%
* 익절 : 10% 또는 트레일링스톱(고가대비 2%)
* 당일청산 : 장종료시 강제청산
미리 감사드립니다.
2016-10-01
113
글번호 102411