커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8125
글번호 230811
답변완료
수식 부탁합니다
아래수식에서
#,현재에서 1개월전(ex:5월16)을 종기로 그이전 1개월(ex:4월16~5월16)동안의 최고점과 최저점
의 피보나치선을 오른쪽 그리기로 표시하면 좋겠습니다,기간수정 부탁드립니다.
#,240분봉 차트기준 전일의 6개캔들중에 변동폭이 가장 큰 캔들의 고점과 저점의 피보나치선을
오른쪽 그리기로 표시하면 좋겠습니다.
$,언제나 늘 감사합니다.
input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.00),Per5(61.80),Per6(76.40),Per7(100.00);
var : HH(0),LL(0),RR(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0);
var : Tx1(0),Tx2(0),Tx3(0),Tx4(0),Tx5(0),Tx6(0),Tx7(0);
HH = dayhigh(1);
LL = daylow(1);
RR = HH-LL;
if Bdate != Bdate[1] Then{
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL_Delete(TL7);
TL1 = TL_New(sdate[1],stime[1],HH-RR*(Per1/100),Sdate,stime,HH-RR*(Per1/100));
TL2 = TL_New(sdate[1],stime[1],HH-RR*(Per2/100),Sdate,stime,HH-RR*(Per2/100));
TL3 = TL_New(sdate[1],stime[1],HH-RR*(Per3/100),Sdate,stime,HH-RR*(Per3/100));
TL4 = TL_New(sdate[1],stime[1],HH-RR*(Per4/100),Sdate,stime,HH-RR*(Per4/100));
TL5 = TL_New(sdate[1],stime[1],HH-RR*(Per5/100),Sdate,stime,HH-RR*(Per5/100));
TL6 = TL_New(sdate[1],stime[1],HH-RR*(Per6/100),Sdate,stime,HH-RR*(Per6/100));
TL7 = TL_New(sdate[1],stime[1],HH-RR*(Per7/100),Sdate,stime,HH-RR*(Per7/100));
TL_SetExtRight(TL1,true);
TL_SetExtRight(TL2,true);
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
TL_SetExtRight(TL7,true);
}
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
Text_Delete(tx5);
Text_Delete(tx6);
Text_Delete(tx7);
tx1 = Text_New(sdate,stime,HH-RR*(Per1/100),NumToStr(Per1,2)+"% :" +NumToStr(HH-RR*(Per1/100),2));
tx2 = Text_New(sdate,stime,HH-RR*(Per2/100),NumToStr(Per2,2)+"% :" +NumToStr(HH-RR*(Per2/100),2));
tx3 = Text_New(sdate,stime,HH-RR*(Per3/100),NumToStr(Per3,2)+"% :" +NumToStr(HH-RR*(Per3/100),2));
tx4 = Text_New(sdate,stime,HH-RR*(Per4/100),NumToStr(Per4,2)+"% :" +NumToStr(HH-RR*(Per4/100),2));
tx5 = Text_New(sdate,stime,HH-RR*(Per5/100),NumToStr(Per5,2)+"% :" +NumToStr(HH-RR*(Per5/100),2));
tx6 = Text_New(sdate,stime,HH-RR*(Per6/100),NumToStr(Per6,2)+"% :" +NumToStr(HH-RR*(Per6/100),2));
tx7 = Text_New(sdate,stime,HH-RR*(Per7/100),NumToStr(Per7,2)+"% :" +NumToStr(HH-RR*(Per7/100),2));
2017-06-16
276
글번호 110509
답변완료
문의 드립니다.
1. 매수. : macd 골든 크로스 발생시 매수(파라미딩5회)
추가매수 : -15% 손실발생시 추가 매수 1회만 실시
* 여기서 파라미딩 적용이 추가 매수분에도 적용 되는지요?
2. 매도 : 5% 수익 발생시 매수청산,
3. 매도 : 5% 상승후 3% 하락시 매수 청산 or 10상승후 3% 하락시 매수 청산
2017-06-16
206
글번호 110502
답변완료
한가지 더 질문
안녕하세요.
시스템에 1,2매수 주문조건이 있는데
같은자리에 동시에 신호가 발생하면
1,2번 둘다 동시에 주문들어가는가요?
감사합니다.
2017-06-16
198
글번호 110501
답변완료
문의드립니다
안녕하세요.
시스템에서 매수주문이 두가지가 있는데 각 청산조건이 달라서
1번은 청산되고 2번은 미청산 상태에 있는데,
신규 매도1번조건이 성립되어도 매도진입은 안되는건가요?
아님 매수2번을 청산만 하는 결과로 되나요?
답변 부탁합니다.
감사합니다.
2017-06-16
194
글번호 110500
한바다 님에 의해서 삭제되었습니다.
2017-06-16
0
글번호 110499
답변완료
옵션 가격으로 선물 주가를 알 수 있는지요?
옵션 차트만 보고 선물 주가를 알 수 있는 방법이 있습니까?
콜 옵션 행사가 307.50에서
“옵션주가 2.85 = 선물주가 306.85 이다” 라는 것을 알 수 있는 방법요.
예를 들면 수식을 만들어 옵션차트에 띄우고 마우스를 옵션 가격에 올리면 선물가격이 표시된다거나 이런 방법이 있으면 좋겠습니다.
2017-06-16
241
글번호 110498
답변완료
문의드립니다
안녕하세요
당일 최고 종가(당일 최고가가 아닙니다^^)를 내는 식이 궁금합니다.
항상 감사합니다
2017-06-16
218
글번호 110497
답변완료
문의드립니다.
1. 수식 문의 드립니다.
진입
20일선이 200일선을 Cross up 하면 매수
20일선이 200일선을 Crossdown 하면 매도
시간
23:00~05:00 (운영시간 종료: 청산)
청산
30틱 이상 상승시 파라볼릭 추세 반대 신호 발생 시 청산
손절
25틱 이상 상승시: 진입가 손절
-30틱 손절
2. 파라볼릭 신호를 차트에 표시할 수 있나요?
방법을 알려주시면 감사하겠습니다.
2017-06-16
199
글번호 110496
답변완료
지표시스템으로 표시 되게 부탁드립니다.
파동선이 발생 할때 처음 나온곳에 매수 매도 신호 부탁드립니다.
더운날 감사 드립니다.
> Input:Rsi변동폭(0.5);
Var:j(0),상승(100),하락(-100),양방향(2),추세(0),
파동선(0),Rsi파동선(0),방향(0),추세선(0);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),
Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0);
Input : RSIP(14), Period(50),dv(2.1);
var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0);
RSIV = RSI(RSIP);
Mid = ma(RSIV,Period);
BBup = Mid+STD(RSIV,Period)*dv;
BBdn = Mid-STD(RSIV,Period)*dv;
RSIBandB = (RSIv - BBdn)/(BBup - BBdn);
#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
Rsi고Bar[j] = Rsi고Bar[j] + 1;
Rsi저Bar[j] = Rsi저Bar[j] + 1;
저Bar[j] = 저Bar[j] + 1;
고Bar[j] = 고Bar[j] + 1;
}
#==========================================#
# 최근 고,저 갱신
#==========================================#
If Rsi고[0] <= RSIBandB || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then
{
Rsi고[0] = RSIBandB;
Rsi고Bar[0] = 0;
}
Else
Rsi고Bar[0] = Rsi고Bar[0] + 1;
If Rsi저[0] >= RSIBandB || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then
{
Rsi저[0] = RSIBandB;
Rsi저Bar[0] = 0;
}
Else
Rsi저Bar[0] = Rsi저Bar[0] + 1;
If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then
{
고[0] = H;
고Bar[0] = 0;
}
Else
고Bar[0] = 고Bar[0] + 1;
If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then
{
저[0] = L;
저Bar[0] = 0;
}
Else
저Bar[0] = 저Bar[0] + 1;
#==========================================#
# 추세방향 결정
#==========================================#
If Rsi저[0][1] + Rsi변동폭 > RSIBandB[1] &&
Rsi저[0][1] + Rsi변동폭 <= RSIBandB Then 방향 = 상승;
If Rsi고[0][1] - Rsi변동폭 < RSIBandB[1] &&
Rsi고[0][1] - Rsi변동폭 >= RSIBandB Then 방향 = 하락;
#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 방향[1] == 하락 && 방향 == 상승 Then
{
For j = 18 DownTo 1
{
Rsi저[j+1] = Rsi저[j];
Rsi저Bar[j+1] = Rsi저Bar[j];
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
}
Rsi저[1] = Rsi저[0];
Rsi저Bar[1] = Rsi저Bar[0];
Rsi파동선 = Rsi저[0];
Rsi저[0] = RSIBandB;
Rsi저Bar[0] = 0;
Rsi고[0] = RSIBandB;
Rsi고Bar[0] = 0;
저[1] = 저[0];
저Bar[1] = 저Bar[0];
파동선 = 저[0];
저[0] = L;
저Bar[0] = 0;
고[0] = H;
고Bar[0] = 0;
}
Else If 방향[1] == 상승 && 방향 == 하락 Then
{
For j = 18 DownTo 1
{
Rsi고[j+1] = Rsi고[j];
Rsi고Bar[j+1] = Rsi고Bar[j];
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
}
Rsi고[1] = Rsi고[0];
Rsi고Bar[1] = Rsi고Bar[0];
Rsi파동선 = Rsi고[0];
Rsi고[0] = RSIBandB;
Rsi고Bar[0] = 0;
Rsi저[0] = RSIBandB;
Rsi저Bar[0] = 0;
고[1] = 고[0];
고Bar[1] = 고Bar[0];
파동선 = 고[0];
고[0] = H;
고Bar[0] = 0;
저[0] = L;
저Bar[0] = 0;
}
Else If 방향[1] == 하락 && 방향 == 하락 Then
{
If Rsi고[1] < Rsi고[0] &&
Rsi고[0][1] - Rsi변동폭 <= RSIBandB[1] &&
Rsi고[0][1] - Rsi변동폭 > RSIBandB Then
{
Rsi고[1] = Rsi고[0];
Rsi고Bar[1] = Rsi고Bar[0];
Rsi파동선 = Rsi고[0];
Rsi고[0] = RSIBandB;
Rsi고Bar[0] = 0;
}
If 고[1] < 고[0] &&
고[0] > H Then
{
고[1] = 고[0];
고Bar[1] = 고Bar[0];
파동선 = 고[0];
고[0] = H;
고Bar[0] = 0;
}
}
Else If 방향[1] == 상승 && 방향 == 상승 Then
{
If Rsi저[1] > Rsi저[0] &&
Rsi저[0][1] + Rsi변동폭 >= RSIBandB[1] &&
Rsi저[0][1] + Rsi변동폭 < RSIBandB Then
{
Rsi저[1] = Rsi저[0];
Rsi저Bar[1] = Rsi저Bar[0];
Rsi파동선 = Rsi저[0];
Rsi저[0] = RSIBandB;
Rsi저Bar[0] = 0;
}
If 저[1] > 저[0] &&
저[0] < L Then
{
저[1] = 저[0];
저Bar[1] = 저Bar[0];
파동선 = 저[0];
저[0] = L;
저Bar[0] = 0;
}
}
#==========================================#
# 지표식 출력
#==========================================#
If Rsi파동선[1] != Rsi파동선 Then {
Plot1(파동선,"파동선",iff(Rsi파동선>Rsi파동선[1],MAGENTA,GREEN)); //적당껏 수평이동
# PlaySound("C:₩예스트레이더₩data₩Sound₩sound6.wav");
}
Else If LastBarOnChart == 1 Then {
plot1(Iff(방향 == 상승,고[0],저[0]),"파동선",iff(방향 == 상승, MAGENTA,GREEN));
#PlaySound("C:₩예스트레이더₩data₩Sound₩sound6.wav");
}
#상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승
If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then
{
추세선 = (저[1]-저[2])/(저Bar[2]-저Bar[1])*저Bar[2] + 저[2];
Plot2(추세선,"상승다이버전스");
}
#하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락
if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then
{
추세선 = (고[1]-고[2])/(고Bar[2]-고Bar[1])*고Bar[2] + 고[2];
Plot3(추세선,"하락다이버전스");
}
2017-06-16
254
글번호 110495