커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3457
글번호 230811
sanddar2 님에 의해서 삭제되었습니다.
2023-11-19
6
글번호 174190
답변완료
부탁드립니다
안녕하세요.
아래의 TV수식을 YS수식으로 바꿀 수 있을까요?
부탁드립니다.
수식명 : Gaussian Moving Average (GA)
//@version=5
indicator("GA", overlay = true)
// Define a function to calculate the Gaussian weight for a given 'k' and 'smooth_per'
gaussian_weight(k, smooth_per) =>
// Calculate the standard deviation (sigma) based on the smoothing period
sigma = smooth_per / 2.0
// Calculate the exponent part of the Gaussian function
exponent = -0.5 * math.pow(k / sigma, 2)
// Calculate and return the Gaussian weight
math.exp(exponent)
// Define a function that takes an array of values as input
// and returns the Gaussian moving average of the data
gaussianma(values, length) =>
// Create an array to store the Gaussian weights
weights_array = array.new_float(length)
for i = 0 to length - 1
array.set(weights_array, i, gaussian_weight(i, length))
// Create an array to store the values
values_array = array.new_float(length)
for i = 0 to length - 1
array.set(values_array, i, values[length - 1 - i])
// Calculate the weighted sum of the values and weights
sum = 0.0
sumw = 0.0
for i = 0 to length - 1
sum += array.get(values_array, i) * array.get(weights_array, i)
sumw += array.get(weights_array, i)
// Return the moving average
sum / sumw
source = input.source(close, "Source")
length = input.int(20, "Length", 1)
// Plot the Gaussian moving average on the chart
plot(gaussianma(source, length), color = color.orange)
2023-11-19
1323
글번호 174189
답변완료
강조 부탁 드립니다.
* 매번 많은 도움에 고맙습니다.
* 아래 수식 에서 수식대로 분홍색/블랙선은 찍히면서
1. 분홍색선이 이전 분홍색선 3개(변수)의 고가 보다 값이 크면 점찍기 추가
2. 불랙선이 이전 불랙 선 3개(변수)의 저가 보다 값이 작으면 점찍기 추가
부탁 드립니다.
즉 이전 3개선보다 크면 점 을 별도로 찍어 주십시요.
## 아래 수식
input : P(10),n(8),틱(10);
input : 틱1(10),틱2(20),틱3(50);
var : TX(0);
var : cnt(0),LL(0),HH(0);
Array : LTL[10](0),HTL[10](0);
var : LTL1(0),LTL2(0),LTL3(0),LTL4(0),LTL5(0),LTL6(0);
var : HTL1(0),HTL2(0),HTL3(0),HTL4(0),HTL5(0),HTL6(0);
if L < Lowest(L,P)[1] and (LL == 0 or (LL > 0 and abs(L-LL) >= PriceScale*틱)) Then
{
LL = L;
For cnt = 9 DownTo 1
{
LTL[cnt] = LTL[cnt-1];
}
LTL[0] = TL_new(sDate,sTime,LL,NextBarSdate,NextBarStime,LL);
TL_SetColor(LTL[0],Black);
TL_SetSize(LTL[0],2);
TL_Delete(LTL[n]);
}
Else
{
TL_SetEnd(LTL[0],sDate,sTime,LL);
}
if H > highest(H,P)[1] and (HH == 0 or (HH > 0 and abs(H-HH) >= PriceScale*틱)) Then
{
HH = H;
For cnt = 9 DownTo 1
{
HTL[cnt] = HTL[cnt-1];
}
HTL[0] = TL_new(sDate,sTime,HH,NextBarSdate,NextBarStime,HH);
TL_SetColor(HTL[0],Magenta);
TL_SetSize(HTL[0],2);
TL_Delete(HTL[n]);
}
Else
{
TL_SetEnd(HTL[0],sDate,sTime,HH);
}
** 추운 날씨에 감기 조심하십시요^^
2023-11-19
1415
글번호 174188
답변완료
문의드립니다...
아래식은 예스에서 신저가(차트전체)수식인데, 예스종목검색으로 구현가능하면
검색식으로 부탁드립니다...
variables: LowestLo( 0 ) ;
if CurrentBar == 1 then{
LowestLo = Low;
}
else if Low < LowestLo then {
Plot1( Low, "NewLo-Ch" ) ;
LowestLo = Low ;
}
2023-11-18
1509
글번호 174187
답변완료
수식요청
안녕하세요
수식요청드림니다
해외선물
볼밴 상하폭 = 100틱이내
봉개수 10개이내
매수
볼밴 상하폭이 100틱이내의 상태에서
캔들 10봉 이내에서 횡보하다가
볼밴 상단상승 돌파시 매수
매도
매수반대
볼밴하단 하락 돌파시 매도
청산
볼밴 중심선 하락돌파 매수청산
볼밴 중심선 상승돌파시 매도청산
2023-11-18
1258
글번호 174186
답변완료
검색식 문의드립니다
1.
5분봉에서
10ma 가 20ma를 골든크로스된후에 다시 10ma가 60ma를
골든크로스를 할때 검색하는 검색식과
2.
위의1 조건에서 200봉이내에
10ma가 60ma를 골든크로스할때 검색식 문의 드립니다
2023-11-19
1141
글번호 174185
답변완료
문의드립니다.
안녕하세요.
분할 매도관련 문의 드립니다.
큰 도움 받고 있어서 항상 감사드립니다.
------------------------------------------------------------------------
기본 : 종목별 가격구간 설정(예, 1000원)
매수 시
1) 최초 매수 후 가격구간만큼 떨어질 때마다 분할로 동일 금액 매수.
매도 시
1) 최저 매수 가격에서 한 가격구간이 오르면 최저 매수 가격에서 매수한 물량을 매도.
1-1) 그 후 지속 상승하여 한 가격구간 만큼 더 오르면(최저 대비 두 가격구간 연속 상승) 잔여 보유 물량 전체 매도
2) 최저 매수 가격에서 한 가격구간이 오르면 최저 매수 가격에서 매수한 물량을 매도.
2-1) 매도 후 다시 하락하면 각 가격구간에서 매수(재매수) 후 w자가 나오면 잔여 물량 전체 매도
기타
1) 가격구간을 5개 설정(b1~b5)
2) b7가격 에서 손절
3) 전체 매도 시 매수 건별로 별도 매도(동일 가격 매도 시 bx1, bx2 등으로 분할해서 매도)
4) 부분/전체 청산 후 다시 하락하여 100봉 이내에 기존 매수가격 중 최저 매수 가격보다 한 가격구간 하락하면 다음차수로 하여 매수 시작(예, b3 매수 후 b1 전체 매도 또는 b2 전체 매도 시 b4에서 매수)
2023-11-23
1061
글번호 174184
답변완료
문의드립니다.
수고 많으십니다.
1.
"전일봉의 밑꼬리가 전일봉 몸통의 1.5배보다 더 클 때" 매도진입을 청산하는 추가 청산식을 아래 수식을 넣어 만들고자 합니다.
dntail[1] >= body[1]*1.5 로 작성했는데 밑꼬리가 몸통보다 더 긴데도 인식 못하는 거 같아 맞는지 확인 부탁 드립니다.
2. 매수진입후 장대음봉이 나오면 종가가 아닌 적당한 가격에 손절하고 싶은데 매수후 50틱이상 시가대비 하락하는 음봉이 나오면 60틱, 70틱 넘어 봉 종가에서 손절이 아닌 50틱에서 atstop 으로 손절할 수 있는지 궁금합니다.
늘 노고에 감사드립니다~
2023-11-20
2130
글번호 174183
답변완료
문의드립니다...
아래 신호검색은 키움에서 작성된 것입니다..
이것을 예스트레이더 강조로 변환요청합니다.
항상 도움을 주셔서 감사합니다..
A1=MA(C,5);
A2=MA(C,10);
A3=MA(C,20);
A4=MA(C,40);
A5=MA(C,60);
A6=MA(C,120);
A=Lowest(L, 260, 1)*1.25;
B=sar(0.02,0.2);
조건=A1(1)<A1 && A2(1)>A2 && A3(1)>A3 &&
A4(1)>A4 && A5(1)>A5 && A6(1)>A6;
조건 && !조건(1) && B<=C && A>=A1 && C>O
2023-11-18
1123
글번호 174182