커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3515
글번호 230811
답변완료
부탁드립니다 항상 감사합니다
3-1 사용자함수
함수명 : cross
반환값형 : 논리형
input : A(Numeric),B(Numeric);
Cross = (A > B and A[1] <= B[1]) or (A < B and A[1] >= B[1]);
3-2
// ============ 변수 선언 ============
VAR: VALUE1(0), VALUE2(0), VALUE3(0),
VALUE4(0), VALUE5(0), VALUE6(0), VALUE7(0),
VAR13(0), VAR14(0), VAR15(0), VAR16(0);
// ============ 체결강도 계산 ============
VALUE1 = 0;
VALUE2 = 0;
If C > C[1] Then
VALUE1 = V;
Else If C < C[1] Then
VALUE2 = V;
VALUE3 = ACCUM(VALUE1 - VALUE2); // 체결강도 누적
// 이동평균선 기준선
VAR13 = EMA(VALUE3, 10);
VAR14 = EMA(VALUE3, 20);
VAR15 = EMA(VALUE3, 64);
VAR16 = EMA(VALUE3, 128);
// 교차 발생 시 시가 저장
If Cross(VALUE3, VAR13) Then VALUE4 = C;
If Cross(VALUE3, VAR14) Then VALUE5 = C;
If Cross(VALUE3, VAR15) Then VALUE6 = C;
If Cross(VALUE3, VAR16) Then VALUE7 = C;
// ============ 시각화 ============
Plot12(VALUE4, "OI_10", Yellow);
Plot13(VALUE5, "OI_20", Cyan);
Plot14(VALUE6, "OI_64", Green);
Plot15(VALUE7, "OI_128", Red);
4
VALUE1 = 0;
VALUE2 = 0;
If C > C[1] Then
VALUE1 = V; // 매수 체결로 간주
Else If C < C[1] Then
VALUE2 = V; // 매도 체결로 간주
VALUE3 = ACCUM(VALUE1 - VALUE2); // 체결강도 누적 (순매수량)
// 기준선(평균선)
VAR13 = EMA(VALUE3, 10);
VAR14 = EMA(VALUE3, 20);
VAR15 = EMA(VALUE3, 64);
VAR16 = EMA(VALUE3, 128);
// 교차 시가 출력
If Cross(VALUE3, VAR13) Then VALUE4 = C;
If Cross(VALUE3, VAR14) Then VALUE5 = C;
If Cross(VALUE3, VAR15) Then VALUE6 = C;
If Cross(VALUE3, VAR16) Then VALUE7 = C;
작성해주신 수식이 오류가나서 다시한번 부탁드립니다 감사드립니다 ㅠ~!
2025-05-20
345
글번호 191016
답변완료
수식 좀 부탁드립니다 너무 감사합니다!
안녕하세요, 늘 너무 감사합니다.
프라이스 채널을 이용해서 롱숏을 좀 만들어보려고 하는데요.
//셋업
과거 120개 봉 중 최고가 봉의 저가 (L)로 만든 프라이스채널 상단선
과거 120개 봉 중 최저가 봉의 고가 (H)로 만든 프라이스채널 하단선
//롱진입
120일 이평선이 과거 30봉 동안 상승일 경우,
전봉의 저가 L[1]가 전전 프라이스채널 하단선[2]을 뚫고 내려갔다가
다음봉의 종가 C가 120일 프라이스채널 하단선[1]을 상방 돌파 할 경우 OnClose에서 롱 진입
//롱청산
BarsSinceEntry >2 에서
직전 종가 C[1]가 그전봉 프라이스채널 상단선[2]을 뚤고 올라갔다가
종가 C가 직전 프라이스채널 상단선[1]보다 낮을 경우 청산
//숏진입
120일 이평선이 과거 30봉 동안 하락일 경우,
전봉의 고가 L[1]가 전전 프라이스채널 상단선[2]을 뚫고 올라갔다가
다음봉의 종가 C가 120일 프라이스채널 상단선[1]을 하방 돌파 할 경우 OnClose에서 숏 진입
//숏청산
BarsSinceEntry >2 에서
직전 종가 C[1]가 그전봉 프라이스채널 하단선[2]을 뚤고 내려갔다가
종가 C가 직전 프라이스채널 하단선[1]보다 높을 경우 청산
//손절
롱의 경우, 120일 이평선을 하방 돌파 하는 경우 atMarket 롱청산
숏의 경우, 120일 이평선을 상방 돌파 하는 경우 atMarket 숏청산
//트레일링 스탑
롱의 경우, 30 포인트 상승 후, 10 포인트 하락 시 청산
숏의 경우, 30 포인트 하락 후, 10 포인트 상승 시 청산
//손절 2
롱의 경우, 120일 이평선 상단에서 윗꼬리의 길이 (H-O)가 몸통 (O-C) 길이의 3배 이상인 음봉이거나, 윗꼬리의 길이 (H-C)가 몸통 (C-O) 길이의 3배 이상인 양봉일 경우, 다음봉 시초가 atMarket에서 손절
숏의 경우, 120일 이평선 하단에서 아랫꼬리의 길이 (C-L)가 몸통 (O-C) 길이의 3배 이상인 음봉이거나, 아랫꼬리의 길이 (O-L)가 몸통 (C-O) 길이의 3배 이상인 양봉일 경우, 다음봉 시초가 atMarket에서 손절
----
감사합니다 x 100배 입니다!!!
2025-05-20
366
글번호 191015
답변완료
수식 변환 부탁합니다
다음 TradingView 수식 변환 부탁합니다. PivotHigh, PivotLow를 해결 못하겠네요
study("Support and Resistance", overlay=true)
left = input(10)
right = input(10)
hih = pivothigh(high, left, right)
lol = pivotlow (low , left, right)
top = valuewhen(hih, high[right], 0)
bot = valuewhen(lol, low [right], 0)
res = plot(top, color=top != top[1] ? na : color.red, offset=-left)
sup = plot(bot, color=bot != bot[1] ? na : color.green, offset=-left)
2025-05-20
351
글번호 191014
파크에버뉴 님에 의해서 삭제되었습니다.
2025-05-20
0
글번호 191013
답변완료
시간설정 수식 수정
늘 감사하고 잘 쓰고 있습니다.
아래 수식을 data2용으로 바꾸어 주세요.
시작시간은 09시00 시작이며 변경 가능한 수식으로
마이너스에도 표현되도록 0선 시작이 아니라 -99999999에서 +99999999 까지
input : ntime(23);
var : S1(0),D1(0),TM(0),TF(0),TL(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%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
TL = TL_New(sDate,sTime,0,sDate,sTime,999999999);
TL_SetColor(TL,Black);
TL_SetSize(TL,0);
}
}
감사합니다.
2025-05-20
312
글번호 191012
답변완료
종목 검색 부탁드립니다.
1. 모든 역망치형 캔들 (양봉) 종목검색식 부탁드립니다.
(단,아랫꼬리가 캔들 전체길이의 10분의1 꼬리가 있는것도 포함)
2. 역망치형 캔들(양봉)중,
캔들의(양봉 ) 몸통이, 캔들 전체 길이의(꼬리 포함) 절반 이하 이며,
윗꼬리가 캔들 전체길이의(꼬리포함) 절반 이상인 양봉 종목검색식 부탁드려요.
(단, 아랫꼬리가 캔들 전체길이의 10분의1 꼬리가 있는것도 포함)
3. 역망치형 캔들(양봉)중,
캔들의(양봉 ) 몸통이, 캔들 전체 길이의(꼬리 포함) 3분의2 이하 이며,
윗꼬리가 캔들 전체길이의(꼬리포함) 3분의2 이상인 양봉 종목검색식 부탁드려요.
(단, 아랫꼬리가 캔들 전체길이의 10분의1 꼬리가 있는것도 포함)
4. 거래대금 (일 기준) 500억 이상 종목 검색 부탁드려요.
2025-05-20
324
글번호 191011
답변완료
문의드립니다
수고많으십니다
input : P(5),ADXP(14);
var : mav(0),A(0),clr(0);
mav = ma(C,P);
A = ADX(ADXP);
if mav > mav[1] and A > A[1] Then
{
if A >= 10 and A < 20 Then
clr = Yellow;
if A >= 20 and A < 30 Then
clr = Gold;
if A >= 30 and A < 40 Then
clr = LightMagenta;
if A >= 40 Then
clr = Orange;
}
else if mav < mav[1] and A > A[1] Then
{
if A >= 10 and A < 20 Then
clr = Cyan;
if A >= 20 and A < 30 Then
clr = LightBlue;
if A >= 30 and A < 40 Then
clr = Teal;
if A >= 40 Then
clr = Blue;
}
Else
clr = Black;
Plot1(A,"ADX",clr);
지난번 만들어 주식인데
매수식 시스템 부탁드립니다
지표식중
if A >= 10 and A < 20 Then
clr = Yellow;
이 부분이 완성 돼면 매수
익절10% 손절10%
이런 시스템을 부탁드립니다
감사합니다
2025-05-20
324
글번호 191010
답변완료
양봉캔들 표현하는 조건식이 무엇인가요?
종목검색에서 양봉캔들만을 나오게하고싶은데 키움에서는 주가등락율. 주가비교. 캔들연속발생 등이있는데 예스트레이더에서는 어느카테고리 하위메뉴에 조건식이름이 뭔가요?
2025-05-20
400
글번호 191009
답변완료
피보나치 돌파
안녕하세요. 항상 감사 드립니다.
작성한 수식에 오류가 있습니다. 수정 부탁 드립니다.
var : AA(0), BB(0), LL(0);
var : fib_382(0), fib_500(0), fib_618(0);
var : entry_signal(False);
var : 거래대금(0);
var : 거래량증가(False), 시가상승(False);
// 전일 종가, 오늘 고가/저가
AA = dayclose(1);
BB = dayhigh();
LL = daylow();
// 피보나치 되돌림 레벨
fib_382 = BB - (BB - LL) * 0.382;
fib_500 = BB - (BB - LL) * 0.500;
fib_618 = BB - (BB - LL) * 0.618;
// 거래대금 계산
거래대금 = V * C;
// 진입 조건
entry_signal =
(CrossUp(C, fib_382) or CrossUp(C, fib_500) or CrossUp(C, fib_618));
// 검색 조건
if entry_signal then
Find(1);
피보나치 382.500.618 돌파를 찾을려고 하는데 엉뚱한것들이 검색이 됩니다..
매번 감사 드립니다.수고 하십시오.
2025-05-20
362
글번호 191008