커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1705
글번호 230811
답변완료
문의 드립니다.~~~~
주석을 보니 제 질문이 잘못되어 수정해 올립니다~~
참고로 설명그림을 첨부합니다~~
수고스럽지만 다시 부탁드립니다~` 항상 감사합니다~~
- 10시 시가부터 형성되는 틱봉 저가에서 상승시
n틱(변수처리) 하락조정받지 않고
m틱(변수처리)이상 상승시에는
저가(10시 시가부터 형성된)+m틱(변수처리)에
역추세 매도진입
- 10시 시가부터 형성되는 틱봉 고가에서 하락시
a틱(변수처리) 상승조정받지않고
b틱(변수처리)이상 하락시에는
고가(10시 시가부터 형성된)-b틱에(변수처리)
역추세 매수진입하는
진입식을 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의 드립니다.~~~~
>
안녕하세요
예스스탁입니다.
input : ntime(100000),nn(10),mm(5),aa(10),bb(10);
var : OO(0),HH(0),LL(0);
#ntime이후 첫봉
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
#변수값 해당봉 시/고/저로 초기화
OO = O;
HH = H;
LL = L;
}
#ntime이후 최고가 계산
if HH > 0 and H > HH Then
HH = H;
#ntime이후 최저가 계산
if LL > 0 and L < LL Then
LL = L;
#시가에 값이 저장되어 있고(ntime이후)
#최저가가 최고가대비 nn틱 이하로 내려가적이 없으면
if OO > 0 and LL >= HH-PriceScale*nn Then
#최저가+mm틱이상 상승시 매도
sell("s",AtLimit,LL+mm*PriceScale);
#시가에 값이 저장되어 있고(ntime이후)
#최고가가 최저가대비 aa틱 이상로 상승한적이 없으면
if OO > 0 and HH <= LL+PriceScale*aa Then
#최고가-bb틱이상 하락시 매수
Buy("b",AtLimit,HH-bb*PriceScale);
즐거운 하루되세요
> 예스요 님이 쓴 글입니다.
> 제목 : 문의 드립니다.~~~~
> 항상 감사합니다~`
의도와는 수식의 결과가 다르게 나와
if HH > 0 and H > HH Then
HH = H;
if LL > 0 and L < LL Then
LL = L;
if OO > 0 and LL >= HH-PriceScale*nn Then
sell("s",AtLimit,LL+mm*PriceScale);
if OO > 0 and HH <= LL+PriceScale*aa Then
Buy("b",AtLimit,HH-bb*PriceScale);
위의 식의 주석을 달아 상세히
설명해 주시면 감사하겠습니다~~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의 드립니다.~~~~
> 안녕하세요
예스스탁입니다.
input : ntime(100000),nn(10),mm(5),aa(10),bb(10);
var : OO(0),HH(0),LL(0);
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
OO = O;
HH = H;
LL = L;
}
if HH > 0 and H > HH Then
HH = H;
if LL > 0 and L < LL Then
LL = L;
if OO > 0 and LL >= HH-PriceScale*nn Then
sell("s",AtLimit,LL+mm*PriceScale);
if OO > 0 and HH <= LL+PriceScale*aa Then
Buy("b",AtLimit,HH-bb*PriceScale);
즐거운 하루되세요
> 예스요 님이 쓴 글입니다.
> 제목 : 문의 드립니다.~~~~
> 수고하십니다.
- 10시 시가부터 형성되는 틱봉 고가에서
n틱(변수처리)이상 하락하지 않고
m틱(변수처리)이상 상승시에는
저가(10시 시가부터 형성된)+m틱(변수처리)에
역추세 매도진입
- 10시 시가부터 형성되는 틱봉 저가에서
a틱(변수처리)이상 상승하지않고
b틱(변수처리)이상 하락시에는
고가(10시 시가부터 형성된)-b틱에(변수처리)
역추세 매수진입하는
진입식을 부탁드립니다.
2021-11-23
703
글번호 153844
답변완료
부탁드립니다
$,안녕하세요
1,최근n일동안 고저진폭이 가장'작은폭의 포인트값를 당일'저가부터 계산해서
그 값만큼 '위로 추세선을 우측 그리기 합니다.
*최근n일동안 고저진폭이 가장'작은폭의 포인트값를 당일'고가부터 계산해서
그 값만큼 '아래로 추세선을 우측 그리기 합니다.
2.최근n일동안 고저진폭이 가장'큰폭의 포인트값를 당일'저가부터 계산해서
그 값만큼 '위로 추세선을 우측 그리기 합니다.
*최근n일동안 고저진폭이 가장'큰폭의 포인트값를 당일'고가부터 계산해서
그 값만큼 '아래로 추세선을 우측 그리기 합니다.
3,최근n일동안 고저진폭이 (가장'작은폭+가장'큰폭)/2의 포인트값를 당일'저가부터
계산해서그 값만큼 '위로 추세선을 우측 그리기 합니다.
*,최근n일동안 고저진폭이 (가장'작은폭+가장'큰폭)/2의 포인트값를 당일'고가부터
계산해서그 값만큼 '아래로 추세선을 우측 그리기 합니다.
위 조건식(1포인트20틱)으로 Plot 출력되게 도움 부탁드립니다.
$,고맙습니다.
2021-11-24
742
글번호 153838
답변완료
지표
지표
1]당일)시고저중종
고가~저가 사이의 10%30%60%80%110%130%(-110%,-130%)라인
1-1전일)시고저중종
고가~저가 사이의 10%30%60%80%110%130%(-110%,-130%)라인
2]이번주지난주~
3]이번월지난월~
2021-11-23
718
글번호 153836
시스템식 문의 드립니다.
as
2021-11-23
593
글번호 153835
답변완료
문의드립니다.
항상 감사드립니다.
현재 캔들 기준 이전 n번째 캔들의 고가 돌파시 즉시 매수, 저가 돌파시 즉시 매도.
손절은 매수는 n번째 캔들의 저가를 돌파시,매도는 n번째 캔들의 고가를 돌파시.
그리고 현재캔들 기준인데, 거래시간 전의 캔들은 포함하지 않는 건지요?
제가 원하는 것은 거래시간 시작이후 첫 캔들이 n번째 이전 캔들의 고가 저가를 반영해서
로직대로 진행하는 것입니다.
수식을 작성했는데요.
안 맞는 부분이 있어서 수정 부탁드립니다.
감사합니다.
input : n1(n);
input : StartTime(235000),EndTime(060000);
input : 익절틱수(800),손절틱수(0),거래횟수(10);
var : Tcond(false), entry(0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (NextBarSdate != sdate and NextBarStime >= EndTime) or
(NextBarSdate == sdate and NextBarStime >= EndTime and stime < EndTime) Then
Tcond = False;
if (NextBarSdate != sdate and NextBarStime >= StartTime) or
(NextBarSdate == sdate and NextBarStime >= StartTime and stime < StartTime) Then
{
Tcond = true;
entry = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if Tcond == true Then
{
if MarketPosition <= 0 and NextBarOpen <= H[n1] and entry < 거래횟수 Then
Buy("b1",AtStop,H[n1]+PriceScale*1);
if MarketPosition >= 0 and NextBarOpen >= L[N1] and entry < 거래횟수 Then
Sell("s1",AtStop,L[N1]-PriceScale*1);
if MarketPosition == 1 Then
ExitLong("bx",AtStop,L[N1]-PriceScale*1);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,H[n1]+PriceScale*1);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2021-11-23
870
글번호 153834
답변완료
수고하십니다.예비신호에 대하여
빠른 답변에 감사드립니다.
예비신호 발생시에 변수로 예비신호가 나왔다는것을 저장하는 방법이 있나요?
2021-11-23
633
글번호 153830
답변완료
RSI
=====================================================================
Inputs: Length(NumericSimple);
Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0);
If CurrentBar == 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = C[Counter] - C[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else
If CurrentBar > 1 AND Length > 0 Then Begin
UpAmt = C[0] - C[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSI = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSI = 0;
==========================================================================
RSI 지표 구성이 위와 같습니다.(예스랭귀지 내용 복사했습니다.)
스팟에서 RSI 지료를 쓰려고 하는데, 확장차트에서 할 수 없는 상황이 되었습니다.
위의 식을 스팟에서 구현하도록 도움 부탁드리겠습니다.
CurrentBar를 어떻게 처리할 지 몰라서 여쭤봅니다.
확장 차트에서 C[Counter] ==> CT[i].GetClose(Counter) 이런 식으로 구성할 예정입니다.
2021-11-23
493
글번호 153829
답변완료
지표 수식 부탁드립니다.
분봉에서
상한가 마감한 다음날
고가 대비 -10, -15, -20, -25, -30가 선으로 나타나게끔
지표 수식 부탁드립니다.
감사합니다.
2021-11-23
617
글번호 153827
선물대장 님에 의해서 삭제되었습니다.
2021-11-23
0
글번호 153824