커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1750
글번호 230811
답변완료
지표값 누적 오류
신속하고 상세한 답변을 주셔서
항상 많은 도움을 받고 있습니다.
이번에도 미리 감사드립니다.
단순한 수식인데 귀신한테 홀린듯
아무리해도 해결이 되지 아니하여 도움을 요청 드립니다.
아래와 같은 수식이 있는데(단순화 함)
4번째 출력문의 "지표B누적치 "의 값이 #N/A 로 나옵니다.
전부 정상 출력되고 있는데
지표B누적치의 값만 누적이 안되고 있습니다.
지표A누적치는 정상적으로 누적되고 있습니다.
종일 씨름하다가 부탁드립니다.
문제점을 좀 지적해 주시길 부탁드립니다.
------------------- 아 래 ---------------
Input : 시작일(20220407), 시작시간(090300);
var : 지표A증감(0), 지표B증감(0), 지표A누적치(0), 지표B누적치(0);
IF 시작일 == Bdate and 시작시간 == sTime Then {
지표A누적치 = 0;
지표B누적치 = 0;
}
지표A증감율 = 계산식A; ☜ 수식은 생략함
지표B증감율 = 계산식B; ☜ 수식은 생략함
지표A누적치 = 지표A누적치 + 지표A증감율;
지표B누적치 = 지표B누적치 + 지표B증감율;
if Condition1 == false and bdate >= 시작일 and
sTime >= 시작시간 Then {
Condition1 = true;
}
If Condition1 == true Then {
PLOT11(지표A증감율, "지표A증감율);
PLOT12(지표B증감율, "지표B증감율);
PLOT13(지표A누적치, "지표A누적치);
PLOT14(지표B누적치, "지표B누적치);
2022-05-01
1515
글번호 158485
답변완료
문의드립니다.
아래쪽 수식은 이전에 질문드려서 받은 답변이고 아래의 수식에다가 더 추가할 수식내용이 있어서 질문을 드리고자 합니다.
질문1(지표수식) 횡보가 시작되는 첫번째캔들부터 기준캔들(5번째 캔들)까지의 최저가를 비교 가격으로 삼아
이후 캔들이 횡보상단가나 하단가를 이탈하는 캔들이 나오기 바로 직전까지의 최저가선을 긋는 수식.
5번째 캔들 이전과 이탈캔들 나온 뒤에는 선이 나타나지 않아야 합니다.
질문1-2(종목검색식) 1번질문과 관련하여 5번째캔들까지의 최저가를 기준가격으로 하여 그 이후 캔들이 횡보가를 위 또는 아래로 이탈하기 전까지 기준가격의 저가를 깨는 횟수를 카운트하여 5회가 넘을 때의 Find(카운트) 종목 검색식.
질문2(종목검색식) 장대양봉조건 캔들이 나온 뒤 바로 하단가를 이탈하거나 또는 몇 개의 횡보가 나온 뒤
하단가를 이탈하는 캔들이 나왔다가 다시 상단가보다 작고 하단가보다 큰 횡보가 범위 안으로
들어오는 순간부터 다시 1부터 카운트를 해서 5회가 넘을 때의 Find(카운트) 종목 검색식.
단, 상단가를 이탈했다가 다시 횡보가범위 내로 들어오는 경우는 종목검색에서 제외하고
하단가를 이탈했다가 다시 횡보가범위 내로 들어오는 종목만 검색할 수 있도록
부탁드립니다.
input : 비율1(20), 비율2(3), 기간(60), 횟수(10);
var : 장대양봉조건(False),시종중심가(0),상단가(0),하단가(0),count(0),
기준캔들(5) ;
장대양봉조건 = C>O and H>O*(1+비율1/100) and V>ma(V,기간)[1] ;
시종중심가= (C+O)/2;
IF 장대양봉조건 Then
{
상단가 = H*(1+비율2/100);
하단가 = (C+O)/3*2;
Condition1 = true;
count = 0;
}
Else
{
if 시종중심가 > 상단가 or L < 시종중심가 then
Condition1 = False;
if Condition1 == true Then
{
count = count+1;
if count >= 10 Then
Find(1);
}
}
2022-05-01
1634
글번호 158484
답변완료
부탁드립니다
분봉이나 틱봉에서
1.고가가 상승 갱신되면 최고가가 아니라 종가에 선을 그리고싶습니다
2.저가가 하락 갱신되면 최저가가 아니라 종가에 선을 그리고싶습니다
부탁드립니다
그리고 지표속성에서 편집기능을 사용하지 못하게 하는 방법과
지표를 한달지나면 사용하지 못하게 하는 방법 부탁드립니다
2022-05-01
1354
글번호 158483
2wnwn 님에 의해서 삭제되었습니다.
2022-05-02
15
글번호 158482
답변완료
지표수식 전환부탁
다음 키움수식을 예스수식으로 전환부탁드립니다.
수식1
a=Highest((bbandsup(period,d1)),period2)
수식2
b=Lowest((bbandsup(period,d1)),period2)
수식3
(a+b)/2
설정
period 10 period2 20 d1 2
2022-04-30
1114
글번호 158481
답변완료
부탁 드립니다.
도움에 감사 드립니다.
이동평균 수렴후 주가 하향돌파
종목 검색식 부탁 드립니다.
참고식_이동평균 수렴후 주가 상향돌파)
Input : shortPeriod(5),
midPeriod(20),
longPeriod(60),
Percent(5);
value1 = ma(C,shortPeriod);
value2 = ma(C,midPeriod);
value3 = ma(C,longPeriod);
value4 = highest(H,5);
If max(value1,value2,value3)<min(value1,value2,value3)*(1+Percent/100) &&
C > value4[1] && C[1] <= value4[2] Then
value5 =(C-C[1])/C[1]*100;
Else
value5 = 0;
Find(value5);
2022-04-30
1095
글번호 158480
답변완료
수식 부탁드립니다
시스템 식에서
buy("A");
A 라는 진입명을 붉은색으로 표현할 수 있는 수식 부탁드립니다
2022-04-30
957
글번호 158479
답변완료
수식 부탁드립니다
수고하십니다.
아래 지표식에서 ht의 색이 바뀌는 부분의 위/아래에 점을 표시하고 싶습니다.
즉,
상승추세로 바뀌면 ht-값A 위치에
하락추세로 바뀌면 ht+값A 위치에 점표시를 하고 싶습니다.
수고하세요.
////////////////
Input : ATRperiod(100),amplitude(2),channelDeviation(2);
var : trend(0),nextTrend(0),maxLowPrice(0),minHighPrice(0);
var : up(0),down(0),atrHigh(0),atrLow(0),arrowUp(0),arrowDown(0);
var : atr2(0),dev(0),highPrice(0),lowPrice(0),highma(0),lowma(0),ht(0);
atr2 = atr(ATRperiod) / 2 ;
dev = atr2 * channelDeviation ;
highPrice = Highest(H,amplitude);
lowPrice = Lowest(L,amplitude);
highma = ma(high, amplitude);
lowma = ma(low, amplitude);
if nextTrend == 1 Then
{
maxLowPrice = max(lowPrice, maxLowPrice);
if highma < maxLowPrice and close < iff(isnan(low[1])==true,low,Low[1]) Then
{
trend = 1;
nextTrend = 0;
minHighPrice = highPrice;
}
}
else
{
minHighPrice = min(highPrice, minHighPrice);
if lowma > minHighPrice and close > iff(isnan(high[1])==true,high,high[1]) Then
{
trend = 0;
nextTrend = 1;
maxLowPrice = lowPrice;
}
}
if trend == 0 Then
{
if IsNaN(trend[1]) == False and trend[1] != 0 Then
{
up = iff(IsNaN(down[1]) == true,down,down[1]);
arrowUp = up - atr2;
}
else
{
up = iff(IsNan(up[1]) == true, maxLowPrice , max(maxLowPrice, up[1]));
}
atrHigh = up + dev;
atrLow = up - dev;
}
else
{
if isnan(trend[1]) == False and trend[1] != 1 Then
{
down = iff(IsNan(up[1]) == true, up , up[1]);
arrowDown = down + atr2;
}
else
{
down = iff(IsNan(down[1]) == true, minHighPrice ,min(minHighPrice, down[1]));
}
atrHigh = down + dev;
atrLow = down - dev;
}
ht = iff(trend == 0 , up , down);
plot1(ht, "HalfTrend",iff(trend == 0 , BLUE, RED));
plot2(atrHigh,"ATR High",RED);
plot3(atrLow, "ATR Low", BLUE);
2022-04-29
1305
글번호 158477
답변완료
문의드립니다!
안녕하세요!
아래수식에서는 추세선의 색이 완전 바뀔때 세로선이 발생되는데요
캔들이 이 추세선의 지지저항을 받고 다시 원래추세방향으로 되돌아갈때도 세로선이 발생되게끔 부탁드립니다
즉, 추세선 색의 전환여부와는 상관없이 단순히 캔들이 추세선의 지지저항을 받을때에도 그때마다 세로선이 발생되었으면 합니다
* 이 세로선의 색상도 별도로 지정할수있게 해주시고, 현재의 수식에 위의 기능을 추가 부탁드립니다
매번 친절히 도움주심에 감사드립니다!
--------------------------------------------------------------------------------------
input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true);
var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1);
src = (h+l)/2;
atr2 = ma(TrueRange, Periods);
atrv = iff(changeATR, atr(Periods), atr2);
upv = src-(Multiplier*atrv);
upv = iff(close[1] > upv[1],max(upv,upv[1]), upv);
dnv = src+(Multiplier*atrv);
dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv);
trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend));
if trend == 1 Then
plot1(upv,"Trend",MAGENTA);
Else
plot1(dnv,"Trend",blue);
if C > Plot1 Then
plot2(999999999,"라인1");
Else
plot2(0,"라인1");
2022-04-29
1158
글번호 158476