커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6116
글번호 230811
고박사122 님에 의해서 삭제되었습니다.
2018-10-24
38
글번호 123016
답변완료
시스템문의드립니다.
시스템문의드립니다.
항상감사드립니다.
2018-10-24
249
글번호 123015
답변완료
수식작성 질문드립니다.
안녕하세요~
다름이 아니오라...
분봉 기준으로
캔들이 형성되면...그 캔들의 시가와 종가의 틱차이 (시가-종가)/pricescale 를 시간의 제곱으로 나눈값 (예를들어 5분봉이면 25로 나눔)
즉, (시가-종가 틱차이) / 5*5
위의 식에 상수 k를 곱한 값을 그래프로 나타내고 싶습니다.(우선 k는 100으로 설정)
input을 사용하여 k값을 그때그때 변경 가능하게 하고 싶습니다.
결국 전체 식은 = k(시가-종가 틱차이) / 시간(분)*시간(분)
또한, 양봉이면 (+)값으로... 음봉이면 (-)값으로 표시 됬으면 합니다.
또한, Y축좌표의 0값에 직선을 넣고 싶습니다.(양값, 음값 분리하는...)
부탁드립니다~
2018-10-24
247
글번호 123014
우섭 님에 의해서 삭제되었습니다.
2018-10-24
0
글번호 123011
답변완료
부탁 드립니다.
도움 주심에 감사 드립니다.
var66과 var77을
타주기(분용)에서 나타 나도록 부탁 드립니다.
var1,var2에 해당되는 타주기 수식을 참고로 첨부 합니다.
INPUT:p1(10),P100(100);
VAR1=LOWEST(L,P1);
VAR2=HIGHEST(H,P1);
VAR5=MA(H-L,P100);
var66=VAR1[1]+VAR5*0.1;
var77=VAR2[1]-VAR5*0.1;
참고수식)
/*
var1=LOWEST(L,P1);
var2=HIGHEST(H,P1);
*/
//타주기 분용 수식
input : 타주기분(60),P1(10);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),Hv(0),Lv(0);
Array : HH[100](0),LL[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[P1-1] > 0 and LL[P1-1] > 0 then
{
Hv = HH[0];
Lv = LL[0];
for cnt = 0 to P1-1
{
if HH[cnt] > Hv Then
Hv = HH[cnt];
if LL[cnt] < Lv Then
Lv = LL[cnt];
}
plot1(Hv);
plot2(Lv);
}
}
2018-10-24
248
글번호 123010
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2018-10-24
8
글번호 123009
답변완료
부탁드립니다.
항상 고맙습니다.
타주기(분용) 수식 문의 드립니다
input:n1(10);
var:ap(0),esa(0),d(0),ci(0);
ap=(h+l+c)/3;
esa=ema(ap,n1);
d=ema(abs(ap-esa),n1);
ci=(ap-esa)/(d*0.015);
2018-10-25
235
글번호 123008
답변완료
계단식말고 가로선으로만 되는 시가고가저가????
안녕하세요
기본 제공되는 시가고가저가 는 시간이 지남에 따라 계단식으로 표시되는데, 이렇게 말고
단순하게 "장시작해서 끝날때까지 가로선으로만 표시"되게 할수 없을까요?
고가 -------------------------------------------------------
시가 -------------------------------------------------------
저가 -------------------------------------------------------
이런식으로 부탁드립니다.
2018-10-24
256
글번호 123001
답변완료
신뢰성에 점점 금이 가고 있네요..ㅠㅠ 청산이 되다 안되다 그래요~~~
30분봉으로 하고 있으며 청산을 enditime 으로 150000(오후 3시) 에 청산하는 수식을 하고 있는데 첨부화일에 보듯이 청산이 먹이지 않을니...
현재시간 오후 3시 40분.... 청산이 3시 또는 3시 30분에 되어야하는데... 미치겠네요~~
endtime을 150000(오후3시)로 설정하면 3시에 청산되어야하는거 아닌가요?
어쩔때는 15:30 분에 청산될때도 있고 어떨때는 15:00에 청산될때도 있고 어쩔때는 아예 안먹
일때도 있고
미치겠네요~~~뭐가 문제인가요??
input : P1(1),P2(1),P3(1),P4(1),P5(1),p6(1000),starttime(223000),endtime(150000),P7(1.9),P8(0.5);
var : cnt(0),sum(0),sum1(0),mav(0),mav1(0),T(0),mav2(0),mav3(0);
var : sum3(0),Tcond(false);
Condition1 = MarketPosition == 0 and ExitDate(1) == sdate and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) and
TimeToMinutes(stime) <= TimeToMinutes(ExitTime(1))+p6;
#설정
if sdate != sdate[1] then
SetStopEndofday(endtime);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
SetStopEndofday(0);#해제
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if DayClose(P3) > 0 Then
{
sum = 0;
sum1 = 0;
for cnt = 0 to P3-1
{
sum = sum + DayClose(cnt);
sum1 = sum1 + DayClose(cnt+1);
}
mav = sum/P3;
mav1 = sum1/P3;
T = 0;
if mav > mav1 Then
T = 1;
if mav < mav1 Then
T = -1;
if T == 1 Then
mav2=p2 ;
if T == -1 Then
mav2=p5;
if T == 1 Then
mav3=p1 ;
if T == -1 Then
mav3=p4 ;
sum3 = 0;
for cnt = 1 to 20
{
sum3 = sum3 + (DayHigh(cnt)-DayLow(cnt));
}
value1 = sum3/20 ;
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and C<C[1] and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and C>C[1] and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
2018-10-24
251
글번호 122999