커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3627
글번호 230811
답변완료
문의드립니다
안녕하세요.
input : 고점후기간(20), 1일당하락비율(-0.01);
if H == highest(H,60)
Then {
Condition1 = true;
value1 = H;
value5 = index;
value11 = H;
}
if Condition1 == true Then{
if H > value11 Then
value11 = H;
}
if Condition1 == true and
index >= value5+10 and index <= value5+고점후기간 and
value1 == value11 &&
(최고가 이후 고점후기간(20일) 최저가 / value1 -1) / 고점후기간(20) < 1일당하락비율
Then
find(1);
위 조건의 종목검색식 부탁드립니다.
2019-08-12
339
글번호 131070
답변완료
참조 데이타 삽입에 따른 결과 변화
분봉에 적용된 스토케스틱 이용 식에 아래와 같이 참조 데이타를 넣어 봤습니다.
이상하게 참조 데이타를 넣었을 때와 넣지 않았을 때 (주석처리 했을 때) 성능 보고서 결과가 다릅니다
참조 데이타는 시스템 매매에 전혀 반영을 하지 않고 단지 코드만 삽입했을 뿐인데도 그렇습니다.
일봉에서는 변화가 없으나 분봉에서 거래 변화가 생깁니다.
왜 그렇고, 어떻게 해야 본래 거래 패턴을 이용하며 참조 데이타를 이용할 수 있을까요?
var1 = StochasticsD(30,10,10);
If var1[2] > var1[1] And var1[1] < var1 Then Buy();
If var1[2] < var1[1] And var1[1] > var1 Then Sell();
/* # --- < 이 부분 코드를 삽입했을 때와 주석 처리 했을때 분봉에서 결과가 달라짐 >--
Variables : 외국인누적(0), 외국인누적추세(0);
If 만기일확인 == 2 Then 외국인누적 = 0;
외국인누적 = 외국인누적 + Data2(Close);
If 외국인누적[1] < 외국인누적 Then 외국인누적추세 = 1;
Else 외국인누적추세 = -1;
2019-08-11
270
글번호 131069
답변완료
지표문의
안녕하세요
하기 지표검색 및 강조 식 부타드립니다.
조건
1. 기본챠트(data1)의 봉이 5일선 아래에 완성봉으로 확정된 상태입니다.
2. data 2 챠트 와 data 3 챠트 둘 중하나라도,
MACD oscillator가 양에서 음으로 바뀝니다
또는 앞 음봉을 덮는 양봉이 발생합니다.
양봉의 조건은 꼬리나 몸통이 볼린져 밴드 상단에 닿았거나 닿은 상태로
봉이 마감 되어야 합니다.
몸통이 앞 양봉보다 더 큰 음봉이어야 합니다. 같은 크기면 무시합니다.
상기 두 가지가 충족이 되면, data 1,2,3에 각각
해당봉 색깔을 휜색으로 부탁드립니다.
그리송 봉위에 강조 표시도 휜색으로 부탁드립니다.
하기와 같이 반대로 발생되었을때도 휜색으로 부탁드립니다.
1. 기본챠트(data1)의 봉이 5일선 위에 완성봉으로 확정된 상태입니다.
2. data2 챠트와 data3 챠트 둘 중 하나라도,
MACD oscillator가 음에서 양으로 바뀝니다.
또는 앞 음봉을 덭는 양봉이 발생합니다.
음봉의 조건은 꼬리나 몸통이 볼린져밴드 하단에 닿았거나 닿은 상태로
봉이 마감되어야 합니다.
몸통이 앞 음봉보다 더 큰 양봉이어야 합니다. 같은 크기면 무시합니다.
수식문의
상기 지표식을 시스템 수식으로도 사용할 수 있게 끔 부탁드립니다.
감사합니다.
2019-08-11
306
글번호 131068
답변완료
수식변경요
키움수식 변경부탁드립니다
M=ma(c,기간);
S=sum(1);
valuewhen(1,S%k==0,M)
기간 10
k 3
2019-08-11
293
글번호 131067
회원 님에 의해서 삭제되었습니다.
2019-08-11
0
글번호 131066
답변완료
안녕하세요(price channel포함)
price channel지표식
INPUT : LENGTH(10),N(1);
VAR : TCHAN(0), BCHAN(0);
TCHAN = HIGHEST(HIGH, LENGTH)[0];
BCHAN = LOWEST(LOW, LENGTH)[0];
PLOT1(TCHAN+PriceScale*N, "TOP+");
PLOT2(TCHAN-PriceScale*N, "TOP-");
PLOT3(BCHAN+PriceScale*N, "BOT+");
PLOT4(BCHAN-PriceScale*N, "BOT-");
반갑습니다
아래식을 수정의뢰 합니다.
1.사용중 추세선그린후 보조도구 삭제하면 지표가 작제됩니다
2.평행일때 앞의값을 계속 따라감(주기변경때 상.하단지표 간격이 너무 좁아요)
............
input : 타주기분1(15),타주기분2(30),폭(5);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0);
var : tx1(0),tx2(0),tx3(0),tx4(0);
Array : O1[100](0),H1[100](0),L1[100](0);
Array : O2[100](0),H2[100](0),L2[100](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;
//15분
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then
{
O1[0] = O;
H1[0] = H;
L1[0] = L;
for cnt = 1 to 99
{
O1[cnt] = O1[cnt-1][1];
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
}
}
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = L;
plot1(O1[0],"시가1");
plot2(H1[0],"고가1");
plot21(H1[0]+PriceScale*폭,"고가1+");
plot22(H1[0]-PriceScale*폭,"고가1-");
plot3(L1[0],"저가1");
plot31(L1[0]+PriceScale*폭,"저가1+");
plot32(L1[0]-PriceScale*폭,"저가1-");
Text_Delete(tx1);
Text_Delete(tx2);
tx1 = Text_New(sdate,stime,H1[0],NumToStr(H1[0],2));
tx2 = Text_New(sdate,stime,L1[0],NumToStr(L1[0],2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,0);
//30분
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then
{
O2[0] = O;
H2[0] = H;
L2[0] = L;
for cnt = 1 to 99
{
O2[cnt] = O2[cnt-1][1];
H2[cnt] = H2[cnt-1][1];
L2[cnt] = L2[cnt-1][1];
}
}
if H > H2[0] Then
H2[0] = H;
if L < L2[0] Then
L2[0] = L;
plot4(O2[0],"시가2");
plot5(H2[0],"고가2");
plot51(H2[0]+PriceScale*폭,"고가2+");
plot52(H2[0]-PriceScale*폭,"고가2-");
plot6(L2[0],"저가2");
plot61(L2[0]+PriceScale*폭,"저가2+");
plot62(L2[0]-PriceScale*폭,"저가2-");
Text_Delete(tx3);
Text_Delete(tx4);
tx3 = Text_New(sdate,stime,H2[0],NumToStr(H2[0],2));
tx4 = Text_New(sdate,stime,L2[0],NumToStr(L2[0],2));
Text_SetStyle(tx3,0,1);
Text_SetStyle(tx4,0,0);
}
감사합니다.
2019-09-20
352
글번호 131065
답변완료
수식 부탁드림니다.
매수 수식부탁드리겠습니다
RSI (14) < 20 이하인 조건이 연속 3회(세번째) 되는 봉에 매수 진입하는 수식 부탁드리겠습니다.
2019-08-11
258
글번호 131064
답변완료
지표식 문의드립니다.
var1의 기준선이 미리 설정되어 있습니다.
C가 var1을 상승돌파하면 누적을 하면서 돌파이후 고가와 저가의 중간을 표시
C가 var1을 하락돌파하면 누적을 하면서 하락돌파이후 고가와 저가의 중간을 표시하는
지표식을 부탁드립니다.
2019-08-11
251
글번호 131063
답변완료
1차 진입 후 추가 진입하는 로직, 추가 진입한 것만을 별도로 정리하는 것 구현하고 싶어요
문의 드립니다.
10시 기준으로 당중선 위면 매수 진입, 아래이면 매도 진입을 하고
10시 이후에 추가 진입하는 로직을 작성하려 합니다.
14시 20분까지 1차로 매수 포지션을 취한 경우
1차 진입보다 20틱 아래로 내려가면 추가매수 진입하고
매도일 경우는 반대로 추가 매도진입하는 것을 만들고 싶습니다.
아래로직을 만들어 보았으나 정상 작동하니 안네요
// **a 에서 // **b 사이 로직
추가로 2차 진입한 것은 당중선에 오면
해당 진입분은 익절 정리하고
1차 진입분이 15시20분에 정리되도록 하고 싶은 데
어떻게 하면 될까요
=================================================================
Input : stoploss(2), xx(50), xxx(2);
Input : st_time(100000), et_time(142000), clear_time(152000);
Input : Day_Entris(2), nn(20);
Var : 당중선(0);
당중선 =(DayHigh(0)+DayLow(0))/2;
If C >= 당중선 && stime == st_time Then {
Buy("b1", atMarket);
}
If C < 당중선 && stime == st_time Then {
Sell("s1", atMarket);
}
// **a
If MarketPosition == 1 && entriestoday(date) < Day_Entris && stime < et_time Then
{
buy("b2", AtStop, LatestEntryPrice(0)-PriceScale*nn,1);
}
If MarketPosition == -1 && entriestoday(date) < Day_Entris && stime < et_time Then
{
sell("s2", AtStop, LatestEntryPrice(0)+PriceScale*nn,1);
}
// **b
If stime > clear_time Then {
ExitLong();
ExitShort();
}
SetStopLoss(stoploss);
SetStopTrailing(xx, xxx, PercentStop);
2019-08-11
344
글번호 131062