커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6040
글번호 230811
쥐라긴 님에 의해서 삭제되었습니다.
2019-01-26
0
글번호 125611
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다.
매번 감사합니다.
1. 기타
이게 지표는 차트에 표시되는데 시스템으로 하려고 하면 신호가 안나옵니다.
잘 살펴보니 ER부터 plot으로도 안 그려지더라구요. 그런데 전체를 그리면 그려집니다.
Input : Price(close), Momentum_Value(40);
Var : ER(0), Direction(0), Volatil(0), Fastest(0.6667), Slowest(0.0645), Constant(0), Smooth(0);
var : AdapMA(0);
Direction = Price-Price[Momentum_Value];
#방향성, 즉 추세는 현재 데이터 값과 일정기간 전의 데이터 값을 비교하는 모멘텀에 의해 계산됩니다.#
Volatil = AccumN(Absvalue(Price[1]), Momentum_Value);
#변동성은 데이터 값과 직전 데이터 값의절대치를 일정기간 합한 것으로 계산됩니다.#
If Volatil <> 0 Then
ER = Absvalue(Direction/Volatil);
# ER(Efficiency Ratio: 효율성 비율)은 가격 방향성/변동성의 절대치로 계산됩니다.#
else
ER = 0;
Smooth = ER * (Fastest - Slowest) + Slowest;
# Fastest = 2/(n+1) = 2/(2 + 1) = 0.6667 #
# Slowest = 2/(n+1) = 2/(30 + 1) = 0.0645 #
# Smooth는 ER을 이용한 평활계수로 계산에 사용되는 Fastest / Slowest 값은 Kaufman의 저서에 나온 것을 기본 값으로 사용하였습니다. #
Constant = Power(smooth,2);
# 이렇게 계산된 Constant로 정의된 Factor 값은 Smooth * Smooth로 계산됩니다. #
AdapMA = iff(Currentbar <= Momentum_Value, Price, AdapMA +Constant * (Price - AdapMA));
# 최종 계산된 AMA는 첫 봉이 아닐 경우 #
# AdapMA[1] + Constant * (Price - AdapMA[1]의 값을 갖습니다. #
if crossup(c, AdapMA) then
Buy();
if crossdown(c, AdapMA) then
sell();
2. 기타
멀티차트 수식 변환 부탁드립니다.
Inputs: Len(Numeric);
Vars: Mean(0), j(0), k(1.253314), SumSqr(0), Scale(0), MaxY(0),
MinY(0), Rng(0);
Arrays: X[100](0), Y[100](0);
Mean = Average(C, Len);
SumSqr = 0;
for j = 0 to Len - 1 begin
X[j] = C[j] - Mean;
SumSqr = SumSqr + X[j] * X[j];
end;
Scale = SquareRoot(SumSqr / Len);
Y[0] = X[0];
MaxY = X[0];
MinY = X[0];
for j = 1 to Len - 1 begin
Y[j] = Y[j - 1] + X[j];
if Y[j] > MaxY then MaxY = Y[j];
if Y[j] < MinY then MinY = Y[j];
end;
Rng = MaxY - MinY;
Hurst = Log(Rng/(k * Scale)) / Log(Len);
3. 기타
진입후 20틱 이익을 얻을 승률
30틱 이익을 얻을 승률
이런 걸 지표로 나타낼 수 있나요?
4. 기타
해선용 30분봉
외부변수
-진입시간
-진입포인트
-청산포인트
var1 = 30분봉에서 일봉의 종가이평
진입시간일 때
진입시간 봉의 시가가
var +- 진입 포인트 이하이면 매수 진입.
진입 뒤 var1 + 청산포인트에 도달하면 매수 청산.
5. 지표
선물만기일날 시가 봉에 수직선
옵션만기일날 시가 봉에 수직선
2019-01-27
241
글번호 125610
답변완료
수식 수정부탁드립니다
안녕하세요 새해복많이 받으세요
아래수식을 첨부 그림의 노란색과 같이 파동의 고점과 저점을 연결한선이 나타나도록 수정부탁드립니다
감사합니다
Input:length(2),Period1(2),Period2(1);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),처리구분(""),
TL_Val1(0),TL_Val2(0),ADXv1(0),Text2(0),TLen1(0),TRIma1(0);
var : T(0),LTL1(0),ltl2(0),ltl3(0);
var : HTL1(0),htl2(0),htl3(0),tx(0);
Array:고점[10,2](0),저점[10,2](0);
ADXv1 = ADX(Period1);
var1 = MedianPrice;
TLen1 = Ceiling((Period1 + 1) * .5);
TRIma1 =Ema(Ema(C, TLen1), TLen1);
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then
{ If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(tx);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
tx = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(tx,2,0);
if T[1] != 1 Then{
LTL1 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]);
LTL2 = LTL1[1];
LTL3 = LTL2[1];
TL_SetExtRight(LTL1,true);
TL_SetExtRight(LTL3,False);
}
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] Then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(tx);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
tx = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(tx,2,0);
if T[1] != -1 then{
HTL1 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]);
HTL2 = HTL1[1];
HTL3 = HTL2[1];
TL_SetExtRight(HTL1,true);
TL_SetExtRight(HTL3,false);
}
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetColor(LTL1,BLUE);
TL_SetColor(HTL1,RED);
TL_SetColor(LTL2,RGB(129,129,129));
TL_SetColor(HTL2,RGB(129,129,129));
TL_SetColor(TL1,BLACK);
TL_SetSize(LTL1,4);
TL_SetSize(HTL1,4);
TL_SetSize(LTL2,0);
TL_SetSize(HTL2,0);
TL_SetSize(TL1,1);
2019-01-25
250
글번호 125609
답변완료
종목검색 오류관련 문의드립니다.
일봉으로만 검색을 하여 일봉차트에서 검토시에
아래와 같이 ADX강세 종목검색식을 작성하였습니다.
INPUT:기간(14),mx(20);
vars:var1(0);
if int(ADX(기간))>mx Then var1=100;
else var1=0;
find(var1);
과 같이 수식을 만들어 파워종목검색을 이용하여
검색을 돌리면 하면 adx(14)값이 20 이하는데도 종목이 검색됩니다.
조건설정 상황:
검색에 필요한 최소기간 : 50
기준봉 :1
검출되는 종목 CJ(우),AK홀딩스
2019-01-25
186
글번호 125607
답변완료
수식을 수정하고 싶습니다
안녕하세요
수식에 손절 부분을 추가 하고 싶습니다
현재 수식에 손절 설정 후 손절이 되더라도 진입 구간이면 바로 재진입이 됩니다
이것을 진입 후 손절이 되면 1회만 허용하고, 다음 신호가 나올때까지 대기 하는것으로
하고 싶습니다
수정내용
매수, 매도 진입 후 손절을 1회만 허용하는 부분을 추가 하고 싶습니다
var1=ma(c,12);
var2=ma(c,100);
if crossup(var1,var2)Then{
T=1;
}
if CrossDown(var1,var2)Then{
T=-1;
}
if T== 1 Then{
buy("B",AtLimit,var1-priceScale*25);
}
if T== -1 Then{
value2=value2+1;
if value2>=2 Then
sell("S",AtLimit,var1+priceScale*25);
}
2019-01-25
175
글번호 125587
답변완료
수식 부탁드립니다.
원하는 기준가를 설정하고 그 기준가에 닿으면 매수 매도 가능할까요?
예를 들면 상승방향으로 보는 경우 오일에서 53.00를 기준가로 설정하고
기준가에 닿으면 즉시 매수 5틱 이탈 시 즉시 매도청산
대부분 완성봉 후에 매매가 체결되는 것 같은데요.
저는 즉시 매매체결이 가능한지 궁금합니다.
가능하다면 수식 부탁드립니다. 감사합니다.
2019-01-25
173
글번호 125581
답변완료
수식좀 부탁드립니다.
PriceHighLowIndex 지표 수식좀 부탁드립니다.
2019-01-25
199
글번호 125580
답변완료
문의드립니다.
안녕하세요.
미세먼지에 마스크 꼭 착용하시고 감기조심 하세요.
다름이 아니오라 아래와 같은 수식 부탁드립니다.
1.조건
직전 20개봉 중에 20일선 우상향이 없었으며 현재 20일선 우상향이 발생하면
종가가 20일선 이하로 왔을때 또는 스토캐스틱K가 중심선 이하에 왔을때 매수진입
(매도는 반대)
즐거운 주말 보내세요 ^^
2019-01-25
178
글번호 125579
답변완료
분봉에서 특정일 일간 시(종)가 구하기
항상 신속하고 상세하게 답변 주셔서
많은 도움을 받고 있습니다.
감사합니다.
하나의 차트에 아래와 같이
3개 종목이 포함되어 있을 경우
상위옵션 = data1(C);
기준옵션 = data2(C);
하위옵션 = data3(C);
기준옵션의직전만기일종가 = ???
현재 만기일을 구하는 수식은
이전에 도와주셔서
잘 활용하고 있습니다.
최근 만기일(또는 Input으로 지정한 날의)의
data2의
시가나 종가를 구해서 분봉에 출력하려고 합니다.
부탁드리고 미리 감사드립니다.
2019-01-25
199
글번호 125578