커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3337
글번호 230811
답변완료
수식 요청드립니다.
안녕하세요
아래 9시15분 기준 시가 고가 저가, 당일 전일 전전일의 아래 수식에서
당일 전일 전전일의 첫봉 완성봉의 봉길이(고가 저가) 구하는수식을
PT 와 PriceScale 로 수식 요청 드립니다.
var : DAOP(0),DAHI(0),DALO(0);
var : DAOP1(0),DAHI1(0),DALO1(0);
var : DAOP2(0),DAHI2(0),DALO2(0);
if (sdate != sdate[1] and stime >= 91500) or
(sdate == sdate[1] and stime >= 91500 and stime[1] < 91500) Then{
#당일
DAOP = O;
DAHI = H;
DALO = L;
#전일
DAOP1 = DAOP[1];
DAHI1 = DAHI[1];
DALO1 = DALO[1];
#전전일
DAOP2 = DAOP1[1];
DAHI2 = DAHI1[1];
DALO2 = DALO1[1];
}
감사합니다.
2020-06-23
1721
글번호 140044
답변완료
해외선물 수식 부탁드림니다.
쿠르드 오일 일봉
매수 진입
1. envelope (20봉) - 기준선 돌파후(전봉이 기준선 밑) envelpe 2% 상한선 터치시 1차 매수
2. 1차 매수후 envelpe(20봉) 3% 상한선 터치시 2차 매수
3. 2차 매수후 envelpe(20봉) 4% 상한선 터치시 3차 매수
매수 청산
1. envelpe(20봉) 8% 상한선 터치시 즉시 실시간 청산
2. envelpe(20봉) 기준선 터치시 즉시 실시간 청산
1 또는 2 조건중 1개만 만족시 청산
매도 진입 - 매도 청산 은 위 식의 반대 사항
2020-06-22
1807
글번호 140043
답변완료
수식 문의드립니다.
주식현물 수식문의드립니다.
1. 분봉에서 장시작후 당일 첫봉이 양봉이면 시가에 도달하면 매수
2. 분봉에서 장시작후 당일 첫봉이 음봉이면 이후 나오는 봉중 양봉이 X개(변수처리) 출현하
면 매수하는 수식 부탁드립니다.
2020-06-22
1653
글번호 140041
답변완료
부탁 드립니다.
도움 주심에 항상 깊이 감사 드립니다.
ATR(P) 수식의 타주기( 분봉용) 수식 부탁 드립니다.
질문수식)
Inputs: P(10);
ATR = Ma(TrueRange, P);
참조수식1)
TrueRange = TrueHigh - TrueLow;
참조수식2)
If C[1] > H then
TrueHigh = C[1];
else
TrueHigh = H;
참조수식3)
If C[1] < L then
TrueLow = C[1];
else
TrueLow = L;
2020-06-22
1626
글번호 140040
답변완료
data2관련 문의
수고많으십니다.
주종목은 연결선물
참조종목 미니연결선물
참조종목에서 5일 이평선이 10일 이평선 상향해서 매수신호 나오면
주종목에서 매수신호나오게 부탁합니다.
청산은 트레이링스탑
2020-06-22
1579
글번호 140039
아이덜 님에 의해서 삭제되었습니다.
2020-06-22
10
글번호 140036
답변완료
두입력값에 그래프 두개로 표현
단위호가와 단위호가2를 사용해
두 그래프를 표현하고싶습니다. 초보라 참조해서 작성했는데 어디서 잘못됬는지
단위호가를 이용한 그래프도 이상하고 단위호가2그래프는 아에 나오질 안네요....
결론 하나만 할때는 잘되는데 둘이 결합시켜놓으니 안됩니다.
가르쳐주시면 감사합겠습니다.
더운데 고생많으십니다. 수고하세요...
input:단위호가(15),
단위호가2(100),
타주기구분(1), //분봉(1)
분봉구분(5), //타주기가 분봉일 때
시작일(20090101);
var:j(0),상승(100),하락(-100),분봉(1),일봉(2),주봉(3),월봉(4),
벽돌크기(0),벽돌크기2(0),벽돌개수(0),방향(0),방향2(0);
array:고[10](0),저[10](0),고2[10](0),저2[10](0);
array:고Bar[20](0),저Bar[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용
If 단위호가 <= 단위호가2 Then
{
#==========================================#
# 초기 처리
#==========================================#
If Index == 0 || Date <= 시작일 Then
{
벽돌크기 = PriceScale * 단위호가;
벽돌크기2 = PriceScale * 단위호가2;
고[0] = C;
저[0] = C;
고2[0] = C;
저2[0] = C;
}
#==========================================#
If 방향 == 0 Then
{
If 저[1] - 벽돌크기 >= C Then
{
벽돌개수 = Int((저[1] - C)/벽돌크기);
저[1] = 저[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
방향 = 하락;
}
Else If 고[1] + 벽돌크기 <= C Then
{
벽돌개수 = Int((C - 고[1])/벽돌크기);
고[1] = 고[1] + (벽돌크기 * 벽돌개수);
고Bar[1] = 0;
방향 = 상승;
}
}
Else If 방향 == 하락 Then
{
If 저[1] - 벽돌크기 >= C Then
{
벽돌개수 = Int((저[1] - C)/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
저[1] = 저[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
}
If 저[1] + 2*벽돌크기 <= C Then
{
벽돌개수 = Int((C - 저[1])/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
}
고[1] = 저[1] + (벽돌크기 * 벽돌개수);
고Bar[1] = 0;
방향 = 상승;
}
}
Else If 방향 == 상승 Then
{
If 고[1] + 벽돌크기 <= C Then
{
벽돌개수 = Int((C - 고[1])/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
고[1] = 고[1] + (벽돌크기 * 벽돌개수);
고Bar[1] = 0;
}
If 고[1] - 2*벽돌크기 >= C Then
{
벽돌개수 = Int((고[1] - C)/벽돌크기);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
}
저[1] = 고[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
방향 = 하락;
}
}
//If 방향[1]==하락 && 방향==상승 Then Plot2(저[1],"렌코차트",BLUE);
//If 방향[1]==상승 && 방향==하락 Then Plot2(고[1],"렌코차트",RED);
}
if CrossUp(고[1], 고[2]) then Plot1(고[1],"렌코차트",RED);
if CrossDown(저[1], 저[2]) then Plot1(저[1],"렌코차트",BLUE);
#==========================================#
If 방향 == 0 Then
{
If 저2[1] - 벽돌크기2 >= C Then
{
벽돌개수 = Int((저2[1] - C)/벽돌크기2);
저2[1] = 저2[1] - (벽돌크기 * 벽돌개수);
저Bar[1] = 0;
방향2 = 하락;
}
Else If 고[1] + 벽돌크기2 <= C Then
{
벽돌개수 = Int((C - 고2[1])/벽돌크기2);
고2[1] = 고2[1] + (벽돌크기2 * 벽돌개수);
고Bar[1] = 0;
방향2 = 상승;
}
}
Else If 방향2 == 하락 Then
{
If 저2[1] - 벽돌크기2 >= C Then
{
벽돌개수 = Int((저2[1] - C)/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
저2[1] = 저2[1] - (벽돌크기2 * 벽돌개수);
저Bar[1] = 0;
}
If 저2[1] + 2*벽돌크기2 <= C Then
{
벽돌개수 = Int((C - 저[1])/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
고2[j+1] = 고2[j];
고Bar[j+1] = 고Bar[j];
}
고2[1] = 저2[1] + (벽돌크기2 * 벽돌개수);
고Bar[1] = 0;
방향2 = 상승;
}
}
Else If 방향2 == 상승 Then
{
If 고[1] + 벽돌크기2 <= C Then
{
벽돌개수 = Int((C - 고2[1])/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
고2[1] = 고2[1] + (벽돌크기2 * 벽돌개수);
고Bar[1] = 0;
}
If 고2[1] - 2*벽돌크기 >= C Then
{
벽돌개수 = Int((고2[1] - C)/벽돌크기2);
For j = 1 To 19
{
고Bar[j] = 고Bar[j] + 벽돌개수;
저Bar[j] = 저Bar[j] + 벽돌개수;
}
For j = 18 DownTo 1
{
저2[j+1] = 저2[j];
저Bar[j+1] = 저Bar[j];
}
저2[1] = 고2[1] - (벽돌크기2 * 벽돌개수);
저Bar[1] = 0;
방향2 = 하락;
}
if CrossUp(고2 [1], 고2[2]) then Plot2(고2[1],"렌코차트",BLACK);
if CrossDown(저2 [1], 저2[2]) then Plot2(저2[1],"렌코차트",BLACK);
}
2020-06-22
1158
글번호 140035
답변완료
수식문의드립니다
a=stochasticsfast(period);
crossup(a,period1)
period 10
period1 5
=================================
예스에서 종목검색 할수있게 부탁드립니다~~
수고하세여^^
2020-06-22
1254
글번호 140019
답변완료
문의 드립니다.
안녕하세요.
playsound 함수를 써서 매수.매도 신호 발생시 각 1회만 소리 알람이 나올 수 있게 가능할까요?
오늘도 좋은 하루 되세요.
var1 = ema(ema(ema(c,30),30),30);
if var1 > var1[5] Then
var2 = 1;
if var1 < var1[5] Then
var2 = -1;
if var2 == 1 Then
{
buy("매수");
PlaySound("C:₩EugeneYesTrader₩Bin10₩data₩Sound₩mesu.wav");
alert("매수신호");
}
Else
{
sell("매도");
PlaySound("C:₩EugeneYesTrader₩Bin10₩data₩Sound₩medo.wav");
alert("매도신호");
}
2020-06-22
1212
글번호 140016