커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4474
글번호 230811
답변완료
이평선 증가율
이평선에서 일정한 수치를 더한값 을 표시하고 싶습니다
Var=ma(c,5);
에서 상으로 1프로 아래로 1프로 볼밴처럼 선을 표시할수 있나요?
또한 일정한 딕수 위아래로 표현 가능한가요?
즉 이동평균선이 1220.6딕 이면 거기에 5딕을더하여
1221.1딕 과
1220.1딕에 선으로 표시가능 한가요?
2018-12-26
242
글번호 124779
답변완료
문의드립니다
아래 2가지 수식에서 매매시간을 10시15분~17시 까지만 되게 수정 부탁드립니다
1.
Inputs: ConsecutiveOBV(3), Length(15), Pval(0.05);
Variables: OBVcalc(0);
OBVcalc = OBV() * 0.0001;
If CountIF(OBVcalc > Highest(OBVcalc, Length)[1], ConsecutiveOBV) == ConsecutiveOBV Then
Buy ("매수", AtStop, Close + Pval);
If CountIF(OBVcalc < Lowest(OBVcalc, Length)[1], ConsecutiveOBV) == ConsecutiveOBV Then
Sell ("매도", AtStop, Close - Pval);
var : RR(0),tx(0);
if MarketPosition == 1 Then{
rr = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*10));
if rr > rr[1] Then{
tx = Text_New(sdate,stime,H+PriceScale*1,NumToStr(RR*10,0)+"틱");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,YELLOW);
}
}
if MarketPosition == -1 Then{
rr = Floor((EntryPrice-lowest(L,BarsSinceEntry))/(PriceScale*10));
if rr > rr[1] Then{
tx = Text_New(sdate,stime,L-PriceScale*1,NumToStr(RR*10,0)+"틱");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,YELLOW);
}
}
2.
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
If crossup(c,value) Then
{
Buy("매수");
}
If CrossDown(c,value) Then
{
sell("매도");
}
var : RR(0),tx(0);
if MarketPosition == 1 Then{
rr = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*10));
if rr > rr[1] Then{
tx = Text_New(sdate,stime,H+PriceScale*1,NumToStr(RR*10,0)+"틱");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,YELLOW);
}
}
if MarketPosition == -1 Then{
rr = Floor((EntryPrice-lowest(L,BarsSinceEntry))/(PriceScale*10));
if rr > rr[1] Then{
tx = Text_New(sdate,stime,L-PriceScale*1,NumToStr(RR*10,0)+"틱");
Text_SetStyle(tx,2,2);
Text_SetColor(tx,YELLOW);
}
}
2018-12-26
241
글번호 124778
답변완료
이평선 문의드립니다
수고하십니다.
이평선 20,120 정배열에서는 매수포지션만 유지하고, 이상태에서 이평선5,20 이 골든크로스에서 시장가 매수, 데드크로스에서 시장가 매수청산.
이평선 20,120 역배열에서는 매도포지션만 유지하고, 이상태에서 이평선5,20 이 데드크로스에서 시장가 매도, 골든크로스에서 시장가 매도청산 하고, 매매시간은 오전 10시부터 3시 30분까지로 정해서 식을 만들어주세요.
수고하세요.
2018-12-26
234
글번호 124772
답변완료
문의 드립니다
안녕하세요 ^^
아래수식은 얼마전에 어느 회원분의 질문에 관리자님께서 답해주신 수식인데요
이수식에서보면 고점과 고점, 저점과 저점을 잇는 선이 발생되는데...
이선의 두께와 색상을 조정할수있게 할수있을까요?
특히 선의 두께는 필히 조정이 가능하게되었으면 좋겠습니다
현재는 제일 가는선으로 되어있어서 챠트상 여러개의 지표중에서 신속히 발견하기가 좀 어렵네요
부탁드립니다
input : af(0.02), maxAF(0.2);
input : 텍스트출력(1);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
}
if LL[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLACK);
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,GRAY);
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
}
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
}
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,BLACK);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
}
}
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,RED);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
}
}
}
}
}
2018-12-26
245
글번호 124768
답변완료
질문드립니다.
data2의 당일첫캔들 고가가 저가보다 10% 상승한 캔들을 기준으로 피보나치선이 만들어졌으면 좋겠습니다.
var : 고가(0), 저가(0);
plot1(고가입력,"전일최고가");
plot2(저가입력,"전일최저가");
Plot3(고가입력-RR*(Per1/100), "23.6%");
Plot4(고가입력-RR*(Per2/100), "38.2%");
Plot5(고가입력-RR*(Per3/100), "50.0%");
Plot6(고가입력-RR*(Per4/100), "61.8%");
Plot7(고가입력-RR*(P/100), "76.4%");
현재 검색하여 얻은수식인데 부탁드리겠습니다.
2. 1분봉차트에서 9시~ 10시사이에 만들어진캔들의 최고가와, 최저가를 기준으로 위 수식을 만들고싶습니다.(이렇게하면 data2를 사용하지 않아도될것같아서요.)
3. 당일10시까지 저가대비10% 상승한 종목 검색식 부탁드립니다.
2018-12-26
251
글번호 124766
답변완료
재문의 드립니다.
지난번 답글에 대한 질문을 다시 드렸습니다.
답변 좀 부탁드립니다.
60607번입니다.
2018-12-26
252
글번호 124759
답변완료
휴장일 건너뛰기 문의
안녕하세요
다음과 같은 기준선을 사용하고 있는데요
휴장일이 낀 경우 그전 거래일 기준으로 수식이 출력되야한는데
그렇지 못해서 휴장일 걸러내는 수식 추가 가능한지 여쭙니다.
input : 소수(2),표기(0),N(0),굵기(1);
var : tx3(0),tx4(0);
Plot3(dayopen(1), "전시가",def,def,굵기);
Plot4(dayclose(1), "전종가",def,def,굵기);
if 표기==1 then
{
Text_Delete(tx3);
tx3 = Text_New(sdate,stime,DayOpen(1)," 전일시가");
Text_SetStyle(tx3,0,2);
Text_SetSize(Tx3,11);
Text_Delete(tx4);
tx4 = Text_New(sdate,stime,DayClose(1)," 전일종가");
Text_SetStyle(tx4,0,2);
Text_SetSize(Tx4,11);
}
if 표기==2 then
{
Text_Delete(tx3);
tx3 = Text_New(sdate,stime,DayOpen(1),NumToStr(DayOpen(1),소수));
Text_SetStyle(tx3,0,2);
Text_SetSize(Tx3,11);
Text_Delete(tx4);
tx4 = Text_New(sdate,stime,DayClose(1),NumToStr(DayClose(1),소수));
Text_SetStyle(tx4,0,2);
Text_SetSize(Tx4,11);
}
2018-12-26
255
글번호 124753
답변완료
문의드립니다
###################################################################################
var : GHLC(0);
GHLC == (3 * Ema(C,10)) - (3 * Ema(Ema(C,10),10)) + (Ema(Ema(Ema(C,10),10),10));
/////////////////////////////////////////////////////////////////////////////////////
1. 일봉에서 주봉의 GHLC값을 참조데이타(Data2)를 쓰지않고 나타내고 싶습니다
2. 15분봉차트에서 일봉&주봉의 GHLC값을 참조데이타(Data2)를 쓰지않고 나타내고 싶습니다
###################################################################################
array : mav[12](0);
mav[1] = ema(GHLC,14+3*1);
mav[2] = ema(GHLC,14+3*2);
mav[3] = ema(GHLC,14+3*3);
mav[4] = ema(GHLC,14+3*4);
mav[5] = ema(GHLC,14+3*5);
mav[6] = ema(GHLC,14+3*6);
mav[7] = ema(GHLC,14+3*7);
mav[8] = ema(GHLC,14+3*8);
mav[9] = ema(GHLC,14+3*9);
mav[10] = ema(GHLC,14+3*10);
mav[11] = ema(GHLC,14+3*11);
mav[12] = ema(GHLC,14+3*12);
////////////////////////////////////////////////////////////////////////////////////
3. 일봉에서 주봉의 각 mav 배열값을 참조데이타(Data2)를 쓰지않고 나타내고 싶습니다
4. 15분봉차트에서 일봉&주봉의 각 mav 배열값을 참조데이타(Data2)를 쓰지않고 나타내고 싶습니다
###################################################################################
Var:j(0),k(0),계산주기(0),X(0),sumXY(0),sumX(0),sumY(0),sumX²(0),
MinLRS(0),MinB(0),MinLRL(0),주(2),n(19);
Array:MinClose[100](0);
if 주 >= BarInterval then {
계산주기 = 주/BarInterval;
}
k = k + 1;
if DayIndex()%계산주기 == 0 then {
for j = 98 downto 0 {
MinClose[j+1] = MinClose[j];
}
X = X + 1;
k = 0;
}
MinClose[0] = C;
sumXY = 0; sumX = 0; sumY = 0; sumX² = 0;
For j = 0 To n-1 {
sumXY = sumXY + (X-j)*MinClose[j];
sumX = sumX + (X-j);
sumY = sumY + MinClose[j];
sumX²= sumX²+ (X-j)^2;
}
MinLRS = (n*sumXY - sumX*sumY)/(n*sumX²- sumX^2);
MinB = (sumY*sumX²-sumX*sumXY)/(n*sumX²- sumX^2);
MinLRL = MinLRS * X + MinB;
Value1 = MinLRL;
///////////////////////////////////////////////////////////////////////////////////
5. 일봉에서 주봉의 Value1를 참조데이타(Data2)를 쓰지않고 나타내고 싶습니다
6. 15분봉차트에서 일봉의 Value1를 참조데이타(Data2)를 쓰지않고 나타내고 싶습니다
###################################################################################
할상 감사합니다
2018-12-26
251
글번호 124752
답변완료
문의드립니다.
안녕하세요.
input : 거래기간(15) ;
if H > C[1]*1.2 && H == highest(H,20) Then {
Condition1 = true;
value1 = H;
value5 = index;
value11 = H;
value12 = L;
}
if Condition1 == true Then{
if H > value11 Then
value11 = H;
if L < value12 Then
value12 = L;
}
if Condition1 == true and
index >= value5+2 and index <= value5+거래기간 and
value1 >= value11 and
lowest(l,2) == value12
Then
find(1);
위 조건식에
최고점봉 이후 하락 시 -7% 음봉이면서 거래대금이 10억 이상인 봉이
한번 이상 있다 라는 수식
countif( c/c[1]-1<-0.07 && m>1000000000, 거래기간 ) >= 1 를 넣고 싶습니다.
수고하세요.
2018-12-25
271
글번호 124751