커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3604
글번호 230811
답변완료
청산식 요청드립니다.
수고하십니다
매수 2개진입시
- 30틱 수익시 1개 청산 청산후 진입가 오면 나머지 1개도 청산
다음 신호까지 매수신호 안나오게 부탁합니다.
2020-11-09
472
글번호 143711
답변완료
시스템 수식 부탁드립니다.
스토캐스틱 %K 가 20%이하로 진입하면
후에 다시 20% 이상으로 가던, 안가던 상관하지 않고,
한 번 %K가 20% 이하 진입했다면
그 이후부터 60 이평선이 양의 기울기라는 전제하에서만
양봉 출현시 매수하는 식 부탁드립니다.
2020-11-09
481
글번호 143708
답변완료
문의
세개의 봉에서 가장고가일때 매수
세개의 봉에서 가장저가일때 매도.
시스템부탁합니다.
2020-11-09
604
글번호 143707
답변완료
수식 수정 부탁드립니다.
안녕하세요?
늘 고맙습니다.
아래 지표수식에 추가 부탁드립니다.
매도 : 바로전 고점1과 저점1이 확정된 후 다시 고점2가 확정됨, 이후 가격이 하락해서 고점1를 하향 돌파시 매도 진입
청산 : 저점1 하향 돌파시 매도 청산
청산2 : 고점2 상향 돌파시 매도 청산
매수 : 바로전 고점1과 저점1이 확정된 후 다시 저점2가 확정됨, 이후 가격이 상승해서 저점1을 상향 돌파시 매수 진입
청산 : 고점1 상향 돌파시 매수 청산
청산2 : 저점2 하향 돌파시 매도 청산
Input:length(3);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),
TL1(0),처리구분(""),T(0),TL2(0),TL3(0);
var : hh(0),ll(0),ii(0),diff(0),TL41(0),TL42(0),TL43(0),TL44(0),TL45(0),TL46(0);
Array:고점[10,5](0),저점[10,5](0);
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL2);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL_SetExtRight(TL2,False);
TL2 = TL_New(sDate[1],sTime[1],고점[1,1],sdate,sTime,고점[1,1]);
TL_SetColor(TL2,BLUE);
TL_SetSize(TL2,2);
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] Then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL3);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL_SetExtRight(TL3,False);
TL3 = TL_New(sDate[1],sTime[1],저점[1,1],sdate,sTime,저점[1,1]);
TL_SetColor(TL3,RED);
TL_SetSize(TL3,2);
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,0);
TL_SetColor(TL1,YELLOW);
TL_SetEnd(TL2,sdate,stime,고점[1,1]);
TL_SetEnd(TL3,sdate,stime,저점[1,1]);
TL_SetExtRight(TL2,true);
TL_SetExtRight(TL3,true);
if T != T[1] then
{
if T == 1 Then
{
HH = 고점[2,1];
LL = 저점[1,1];
ii = index-고점[2,2];
diff = abs(HH-LL);
}
Else
{
HH = 고점[1,1];
LL = 저점[2,1];
ii = index-저점[2,2];
diff = abs(HH-LL);
}
TL_Delete(TL41);
TL_Delete(TL42);
TL_Delete(TL43);
TL_Delete(TL44);
TL_Delete(TL45);
TL_Delete(TL46);
TL41 = TL_New(sdate[ii],stime[ii],LL+diff*2.00,sdate,stime,LL+diff*2.00);
TL42 = TL_New(sdate[ii],stime[ii],LL+diff*2.618,sdate,stime,LL+diff*2.618);
TL43 = TL_New(sdate[ii],stime[ii],LL+diff*3.618,sdate,stime,LL+diff*3.618);
TL44 = TL_New(sdate[ii],stime[ii],HH-diff*2.00,sdate,stime,HH-diff*2.00);
TL45 = TL_New(sdate[ii],stime[ii],HH-diff*2.618,sdate,stime,HH-diff*2.618);
TL46 = TL_New(sdate[ii],stime[ii],HH-diff*3.618,sdate,stime,HH-diff*3.618);
TL_SetExtRight(TL41,true);
TL_SetExtRight(TL42,true);
TL_SetExtRight(TL43,true);
TL_SetExtRight(TL44,true);
TL_SetExtRight(TL45,true);
TL_SetExtRight(TL46,true);
TL_SetSize(TL41,2);
TL_SetSize(TL42,2);
TL_SetSize(TL43,2);
TL_SetSize(TL44,2);
TL_SetSize(TL45,2);
TL_SetSize(TL46,2);
}
2020-11-09
542
글번호 143706
답변완료
수식문의 드립니다
안녕하세요.
이전에 주신 답변 먼저 감사드립니다.
그런데 제가 잘 이해가 안되는 부분이 있어 다시 문의드립니다.
1) 아래의 수식은 어떤 의미일까요?
if sDate != sDate[1] Then
Condition1 = true;
지금 현재 날짜가 오늘과 같지 않다면, (해석이 맞는지요?)
조건을 만족한다는 것일지요?
저는 오늘 캔들들에 대해서만
조건 만족하는 수식을 찾고 있었는데
위의 해석으로는 뭔가 이상해서요..
2) 아래 수식에서,
if C < var1 Then
Condition1 = False;
var1 은 이평선 함수가 들어갈 부분일지요?
예를 들어 이평선 5를 넣는다면,
var1 = ma(C, 5)가 되는 것일지요?
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 문의 드립니다.
>
안녕하세요
예스스탁입니다.
분봉주기에서 검색하시면 됩니다.
종목검색의 속성에서 검색에 필요한 최소기간에
해당 분봉의 하루치 봉수 이상을 지정해 주셔야 합니다.
종목검색은 최대 500봉 제공되므로 500봉 지정하고 검색하시면 됩니다.
if sDate != sDate[1] Then
Condition1 = true;
if C < var1 Then
Condition1 = False;
if Condition1 == true Then
Find(1);
즐거운 하루되세요
> ywesry 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 안녕하세요.
종목검색 수식이 필요한데
아래와 같은 수식 구현이 가능할지요?
만약 현재시간이 오전 10시라고 가정하면
장시작한 시간부터 현재까지의 분봉 캔들들이
이평선 위에 있으면 검색
즉 그 이전의 봉들 (가령 어제 봉들)은
하나도 포함시키지 않고
오늘 날짜의 장시작 이후 캔들들만을 조건으로
검색을 하고 싶습니다.
도움 부탁드립니다.
2020-11-09
582
글번호 143705
답변완료
행복; 시스템식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
시스템식 관련입니다
<<< 조건 >>>
< 매수 >
* 주기; 일봉
* 누적 매수 회수; 최대 10회 (MaxEntries = 10)
* 회수별 매수 수량; 1차 10주, 2차 11주, 3차 12주, 4차 13주, 5차 14주
, 6차 15주, 7차 16주, 8차 17주, 9차 18주, 10차 19주
* 1일차; 종가(onclose) 매수
- 당일 종가에 1차 매수
* 2일차; 즉시(atlimit) 매수
- 전일 종가 대비 하락하면 매수하지 말고
- 2% 상승시 2차 매수, 4% 상승시 3차 매수....
- 즉, 2% 상승할 때마다 누적 매수 회수 10차 될 때까지 즉시 매수
* 3일차; 즉시(atlimit) 매수
- 전일까지 누적 매수 10차까지 매수되지 않은 경우 10차를 채울 때까지 나머지 회차를 매수
- 전일 종가 대비 하락하면 매수하지 말고
- 3% 상승시 추가 매수, 6% 상승시 추가 매수......
- 즉, 3% 상승할 때마다 누적 매수 회수 10차 될 때까지 즉시 매수
~~~~~~~~
~~~~~~~~
~~~~~~~~
* N일차; 즉시(atlimit) 매수
- 전일까지 누적 매수 10차까지 매수되지 않은 경우 10차를 채울 때까지 나머지 회차를 매수
- 전일 종가 대비 하락하면 매수하지 말고
- N% 상승시 추가 매수, ( N * 2 )% 상승시 추가 매수......
- 즉, N% 상승할 때마다 누적 매수 회수 10차 될 때까지 즉시 매수
< 매도 >
* 즉시(atstop) 매도
* 당일 고점 대비 30% 하락시
* 보유 주식 전량 매도 후 추가 매수 금지
수고하십시요^^
2020-11-08
635
글번호 143704
답변완료
지표문의
차트에 지표는 아래입니다.
var : TextID(0),HH(0),LL(0);
If H == dayhigh Then
LL = L;
If L < LL Then
LL = L;
If L == daylow Then
HH = H;
If H > HH Then
HH = H;
Var1 = HIGHEST(HIGH, 1);
Var2 = LOWEST(LOW, 1);
Var3 = LL+((HH-LL)*0.236);
Var4 = LL+((HH-LL)*0.764);
Var5 = LL+((HH-LL)*0.382);
Var6 = LL+((HH-LL)*0.618);
Var7 = LL+((HH-LL)*0.146);
Var8 = LL+((HH-LL)*0.854);
If DayHigh-DayLow>(PriceScale*10) and Var4-Var3>=(PriceScale*5) Then{
plot1(LL,"현저");
plot2(HH,"현고");
If Var2<>LL AND Var2<>LL[1] and Low<>DayLow and Low>=LL[1] Then{
Plot3(LL+((HH-LL)*0.236),"현2");
plot4(LL+((HH-LL)*0.146),"현1");
}
Plot5(LL+((HH-LL)*0.382),"현3");
If Low<> DayLow and High<>DayHigh Then {
Plot6((LL+HH)/2,"현중");
}
Plot7(LL+((HH-LL)*0.618),"현6");
If Var1<>HH AND Var1<>HH[1] and High<>DayHigh and High<=HH[1] Then{
Plot8(LL+((HH-LL)*0.764),"현7");
plot9(LL+((HH-LL)*0.854),"현8");
}
}
HH가 높아졌을때 중간저가(오늘저가나 LL이 아님 / 61.8%아래 최저가)를 체크하는 지표를 표시하도록 해주세요.
LL이 낮아졌을때 중간고가(오늘고가나 HH는 아님 / 38.2%위에 최고가)를 체크하는 지표를 표시하도록 해주세요.
차트그림설명 참조
감사합니다.
2020-11-09
742
글번호 143703
답변완료
그물망
지수이동평균선(그물망)
가격:종가 기간:5일선 간격:1 종류:지수
상승,하락시 각각색깔나올수있게부탁드립니다
5일선종가"크로스" 표시좀 부탁드립니다
2020-11-08
772
글번호 143702
답변완료
진입,청산
매수 : 당일 고점돌파하고난후 당일중심가격까지 떨어지면 중심가격에서 매수
손절: 당일 저점
익절: 매수후 당일고점돌파 일봉의 0.232% 돌파가격에서 청산.
매도 : 당일 저점돌파하고난후 당일중심까지 올라가면 중심가격에서 매도
손절 : 당일고점
익절 : 매도후 당일저점돌파 일봉의 0.232% 내려가면 내려간가격에서 청산.
부탁드립니다.
2020-11-08
626
글번호 143701