커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1668
글번호 230811
답변완료
지표 부탁드립니다.
안녕하세요?
다음내용은 분봉에서 타주기(일봉) 이평을 캔들마다 그려서 피보나치 비율과 함께 추세선을 그려가는 내용입니다.
그리고 두번째 지표는 ATR 지표입니다.
그 수고로움에 진심으로 감사와 경의를 표합니다.
다시한번 더 요청할 내용은
이 두지표를 합쳐서 하나의 수식으로 만들 수 있는지요?
즉 타주기 이평값을 가지고(상단과 하단값을 만들고 평균값을 만드는... 맞는지 모르겠습니다만 의도는 아시겠지요?^^)
오늘도 감사드립니다.
오후 시간도 즐거운 시간 되세요. 꾸벅
input : ntime1(2),P1(60),P2(120),dayp(2);
input : ntime2(30);
var : S1(0),D1(0),TM(0),TF1(0),cnt(0),TF2(0);
var : sum1(0),mav1(0),sum2(0),mav2(0);
var : sum(0),dmav(0),HH(0),LL(0);
Array : CC[200](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;
TF1 = TM%ntime1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or
(Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then
{
for cnt = 1 to 199
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P1-1] > 0 then
{
sum1 = 0;
for cnt = 0 to P1-1
{
sum1 = sum1+CC[cnt];
}
mav1 = sum1/P1;
#plot1(mav1,"이평1");
}
if CC[P2-1] > 0 then
{
sum2 = 0;
for cnt = 0 to P2-1
{
sum2 = sum2+CC[cnt];
}
mav2 = sum2/P2;
#plot2(mav2,"이평2");
}
TF2 = TM%ntime2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or
(Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then
{
if mav1 > 0 Then
var1 = mav1;
if mav2 > 0 Then
var2 = mav2;
}
if var1 > 0 Then
Plot3(var1);
if var2 > 0 Then
Plot4(var2);
}
#일간이평계산
sum = 0;
For cnt = 0 to dayP-1
{
sum = sum + DayClose(cnt);
}
dmav = sum/dayP;
#일간이평 당일최고가와 최저가 계산
if Bdate != Bdate[1] Then
{
HH = dmav;
LL = dmav;
}
if HH > 0 and dmav > HH Then
HH = dmav;
if HH > 0 and dmav < LL Then
LL = dmav;
plot5(dmav,"일간이평");
plot6(HH,"당일최고");
plot7(LL+(HH-LL)*0.236,"23.6%");
plot8(LL+(HH-LL)*0.382,"38.2%");
plot9(LL+(HH-LL)*0.500,"50.0%");
plot10(LL+(HH-LL)*0.618,"61.8%");
plot11(LL+(HH-LL)*0.764,"76.4");
plot12(LL,"당일최저");
==================================
var : sumCC(0),sumHH(0),sumLL(0),sumMM(0),sumi(0),mavCC(0),mavHH(0),mavLL(0),mavMM(0);
if bdate != Bdate[1] Then
{
sumCC = 0;
sumHH = 0;
sumLL = 0;
sumMM = 0;
sumi = 0;
}
sumCC = sumCC+c;
sumHH = sumHH+h;
sumLL = sumLL+l;
sumMM = sumMM+(h+l)/2;
sumi = sumi+1;
mavCC = sumCC/sumi;
mavHH = sumHH/sumi;
mavLL = sumLL/sumi;
mavMM = sumMM/sumi;
Plot1(mavCC+0.025);
Plot2(mavCC-0.025);
Plot3(mavHH);
Plot4(mavLL);
Plot5(mavCC+1.00);
Plot6(mavCC-1.00);
Plot7(mavCC+2.00);
Plot8(mavCC-2.00);
Plot9(mavCC+2.5);
Plot10(mavCC-2.5);
Plot11(mavCC+3.00);
Plot12(mavCC-3.00);
Plot13(mavCC+4.00);
Plot14(mavCC-4.00);
Plot15(mavCC+5.00);
Plot16(mavCC-5.00);
2022-03-03
978
글번호 156897
거봉79 님에 의해서 삭제되었습니다.
2022-03-03
0
글번호 156896
답변완료
옵션미결증감차트
안녕하세요
data3 : call옵션 360
5분봉에서
전일대비 미결증감을 선그래프로 그리고
직전봉대비 증가면 적색(red)
직전봉대비 축소면 청색(blue)으로 선색깔이 변경되게 하고 싶습니다
수식작성을 어찌하면 되는지요 ?
data3(dayoi)-data3(dayoi(1))로 수식을 작성했는데
수치가 이상합니다
dayoi경우 다른 data1에만 사용가능한가요 ?
수고하세요
2022-03-03
1100
글번호 156895
답변완료
문의드립니다
안녕하세요?
아래수식에서
TL_SetSize(TL1,1.5);
Condition1 = sDate[1] == TL_GetEndDate(TL1) and sTime[1] == TL_GetEndTime(TL1);
sDate[1] 와 sTime[1] 괄호안 숫자1이 무엇을 의미하는지알고싶습니다 1일대입할경우와 0 또는2를 대입할경우 무슨차이가있는지?
만약직전봉을 의미한다면 현재봉으로할려면 ? 0을 대입해야하나요?
감사합니다
2022-03-03
1006
글번호 156894
답변완료
문의드립니다!
안녕하세요!
1, 아래수식에서 선의 두께와 색상, 그리고 선의 형태도 사용자 지정이 가능토록 수정 부탁드립니다
2, 캔들과 선의 만남시 그때마다 세로선이 발생되었으면 합니다
* 세로선의 두께와 색상도 사용자지정이 가능토록 부탁드립니다
매번 도와주심에 짐심으로 감사드립니다!!!
------------------------------------------------------------------------------------
input : N(30);
var : cnt(0),HH(0),LL(0),HTL1(0),LTL1(0),H1(0),L1(0);
Array : HTL[100](0),LTL[100](0);
if Sdate != sDate[1] Then
{
value1 = sDate;
Value2 = value1[1];
Value3 = sTime;
Value4 = Value3[1];
For cnt = 1 to N
{
TL_Delete(HTL[cnt]);
TL_Delete(LTL[cnt]);
var1 = max(DayOpen(cnt),DayClose(cnt));
var2 = min(DayOpen(cnt),DayClose(cnt));
if cnt == 1 Then
{
HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1);
TL_SetColor(HTL[cnt],RED);
TL_SetExtRight(HTL[cnt],true);
TL_SetDrawMode(HTL[cnt],0);
HH = var1;
LTL[cnt] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2);
TL_SetColor(LTL[cnt],BLUE);
TL_SetExtRight(LTL[cnt],true);
TL_SetDrawMode(LTL[cnt],0);
LL = var2;
}
Else
{
if abs(var1-DayOpen(0)) < 10 and (var1 > HH or var1 < LL) Then
{
HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1);
TL_SetColor(HTL[cnt],RED);
TL_SetExtRight(HTL[cnt],true);
TL_SetDrawMode(HTL[cnt],0);
}
if abs(Var2-DayOpen(0)) < 10 and (Var2 > HH or Var2 < LL) Then
{
LTL[cnt] = TL_New(sDate,sTime,Var2,NextBarSdate,NextBarStime,Var2);
TL_SetColor(LTL[cnt],BLUE);
TL_SetExtRight(LTL[cnt],true);
TL_SetDrawMode(LTL[cnt],0);
}
if var1 > HH and abs(var1-DayOpen(0)) < 10 Then
HH = DayHigh(cnt);
if Var2 < LL and abs(Var2-DayOpen(0)) < 10 Then
LL = DayLow(cnt);
}
var3 = max(DayOpen(cnt+1),DayClose(cnt+1));
var4 = min(DayOpen(cnt+1),DayClose(cnt+1));
if cnt == 1 Then
{
HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3);
TL_SetColor(HTL1,RED);
TL_SetDrawMode(HTL1,0);
H1 = var3;
LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4);
TL_SetColor(LTL1,BLUE);
TL_SetDrawMode(LTL1,0);
L1 = var4;
}
Else
{
if abs(var3-DayOpen(1)) < 10 and (var3 > H1 or var3 < L1) Then
{
HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3);
TL_SetColor(HTL1,RED);
TL_SetDrawMode(HTL1,0);
}
if abs(Var4-DayOpen(1)) < 10 and (Var4 > H1 or Var4 < L1) Then
{
LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4);
TL_SetColor(LTL1,BLUE);
TL_SetDrawMode(LTL1,0);
}
if var3 > H1 and abs(var3-DayOpen(1)) < 10 Then
H1 = Var3;
if Var2 < L1 and abs(Var2-DayOpen(0)) < 10 Then
L1 = Var4;
}
}
}
2022-03-03
1258
글번호 156893
답변완료
수식작성부탁드립니다. (가격범위)
매주목요일 위클리(위클리 없는 주는 k200) 만기 가격 기준으로 +-5%(변수) 가격범위선이 자동으로 그려지게 지표를 만들고 싶습니다.
감사합니다.
2022-03-03
1286
글번호 156892
답변완료
수식작성 부탁드립니다
답변 감사합니다 그런데 알려주신 함수식을 예스렝귀지 새로만들기 지표로
선택하여 그대로 작성하였는데
예스트레이더 전략실행차트로 불러오기를 하면
아무지표도 보이지 않는데 뭐가 잘못된건지 모르겠습니다
확인 가능할지요>?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식작성 부탁드립니다
>
안녕하세요
예스스탁입니다.
현재봉 기준값을 과거봉으로 그리기 위해서는 추세선함수가 사용되어야 합니다.
일반 plot함수는 현재봉 기준으로 과거로 그리게 할수가 없습니다.
아래식 참고하시기 바랍니다.
var : cnt(0),TL(0);
Array : DD[10](0),TT[10](0);
if Bdate != Bdate[1] Then
{
DD[0] = Bdate;
TT[0] = sTime;
For cnt = 1 to 9
{
DD[cnt] = DD[cnt-1][1];
TT[cnt] = TT[cnt-1][1];
}
}
if DD[4] > 0 Then
{
TL_Delete(TL);
TL = TL_New(DD[4],TT[4],DayHigh,NextBarSdate,NextBarStime,DayHigh);
}
즐거운 하루되세요
> 므니엘 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다
> 안녕하세요
ma(c,5)을 기준으로
highest(c,5)를 그래프로 만들면 오른쪽으로 5일간 최대값으로 그려지는데요
제가 만들고픈 그래프는
오늘을 기준으로 오늘 최대값이 왼쪽으로, 즉 4일 거래일 전부터 오늘의 최대값이
그려지도록
수식을 작성하고 싶습니다. 꼭 알려주세요
2022-03-03
1483
글번호 156887
답변완료
안녕하세요?
안녕하세요?
아래수식에서 질문 드립니다.
1. 손절매와 동시에 스위칭을 구현할려고 합니다.
아래수식의 S-SL,B-SL일때 동시에 스위칭을 하고 계약수는 두배수인 2계약으로 진입하는 수식을 요청 드립니다.
2. 스위칭에 대한 청산.
변수에 손절매의 가격을 저장할수 있습니까?
예를 들면 손절매 크기가 20P일때 (매수시 1000 에진입 980 에 손절매 되었다고 가정 하겠습니다.)
변수에 손절매 크기가 저장.(20P)
변수에 저장된 가격의 두배인 40P가 스위칭 된 포지션의 청산목표가로 수식 요청.
(위에 예시로 설명하면은 980에 매도진입을해서 940에 매도청산이 되는식입니다.)
위 두가지 수식을 요청드립니다.
감사합니다.
If MarketPosition >= 0 and wave==2 and h>= value5 Then
Sell("S1",AtStop,value5);
if MarketPosition == -1 and l<= value6 Then
ExitShort("S-TP",AtStop,value6);
ExitShort("S-SL",AtStop,value1);
If MarketPosition >= 0 and wave==3 and l<= value6 Then
Buy("B1",AtStop,value6);
if MarketPosition == 1 and h>= value5 Then
ExitLong("B-TP",AtStop,value5);
ExitLong("B-SL",AtStop,value4);
2022-03-03
1099
글번호 156886
답변완료
수식 수정 부탁드립니다.
크루드오일에 적용하고자 아래 내용과 같이 수식을 작성해 주셨는데 아래 기준이 되는 설명과 같이 진입이 되질 않아 다시 한번 수식 수정 부탁드립니다.
오일 2/28일자 일봉이 양봉으로 마감되었으면 3/1일 진입은 매수로 지정 틱수만큼 낮게 진입되어야 하는데 매도로 진입되고 3/2일도 전일자가 일봉이 양봉으로 마감되었는데도 매도로 진입이 되고 있습니다. 확인 부탁드립니다.
참고로 전일자 양봉, 음봉은 일봉 기준이고 당일 진입 및 청산은 일분봉으로 하고 있습니다.
[ 기준시간은 시장시간으로 ]
1. 일봉상 전일자 봉이 양봉으로 마감시 금일 진입은 시작가 보다 지정틱수(input) 만큼 낮게
매수 진입.
2. 일봉상 전일자 봉이 음봉으로 마감시 금일 진입은 시작가 보다 지정틱수(input) 만큼 높게
매도 진입.
3. 청산은 지정틱수(input) 만큼 수익 도달시 청산
4. 진입후 미청산시 당일 마감 1분전(155900) 청산
5. 일일 진입횟수는 지정횟수(input) 만큼 진입
input : n(1),익절틱수(20),진입횟수(2);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if NextBarSdate != sDate Then
{
if C > DayOpen Then
Buy("b1",AtLimit,NextBarOpen-n);
if C < DayOpen Then
Sell("S1",AtLimit,NextBarOpen+n);
}
Else
{
if MarketPosition <= 0 and L > DayOpen-n and entry < 진입횟수 Then
Buy("b",AtLimit,DayOpen-n);
if MarketPosition >= 0 and L < DayOpen+n and entry < 진입횟수 Then
Sell("s",AtLimit,DayOpen+n);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopEndofday(153000);
2022-03-02
1094
글번호 156884