커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8139
글번호 230811
답변완료
수식문의
Input : Period(12), Period1(5);
Var : value(0);
value = StochasticsK(Period,Period1);
# 매수/매도청산
If CrossUP(value, 20) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 80) Then
{
Sell();
}
위전략은 스토케스특 과열침체시 청산및 진입되는 전략인데
매수(도)진입조건 충족시마다 피라미딩으로 진입하고
청산은 반대진입조건충족시 포지션전부청산후 진입되는 리버스전략수식작성하고
장마감 5분전 당일청산 되는 수식을 부탁드립니다
2020-09-04
873
글번호 142087
답변완료
문의드립니다
Input:length(5);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""),
TL_Val1(0),TL_Val2(0);
Var:TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0),TL20(0),tx(0);
Var:TL21(0),TL22(0),TL23(0),TL24(0),TL25(0),TL26(0),TL27(0),TL28(0),TL29(0),TL30(0),mav(0),T(0);
Array:고점[10,2](0),저점[10,2](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
{
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(TL11);
Text_Delete(Text1);
If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then
TL_Delete(TL2);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
// TL11 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],c[index-고점[2,2]],sDate[1],sTime[1],c[index-고점[2,2]]);
//Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
TL_SetColor(TL1,BLACK);
//TL_SetColor(TL11,BLACK);
TL_SetSize(TL1,1);
//TL_SetSize(TL11,1);
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
{
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(TL11);
Text_Delete(Text1);
If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then
TL_Delete(TL3);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
//TL11 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],c[index-저점[2,2]],sDate[1],sTime[1],c[index-저점[2,2]]);
//Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
TL_SetColor(TL1,BLACK);
//TL_SetColor(TL11,BLACK);
TL_SetSize(TL1,1);
//TL_SetSize(TL11,1);
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
mav = ma(C,20);
TL_Delete(TL13);
TL_Delete(TL14);
TL_Delete(TL15);
if 고점[1,2] > 저점[1,2] then
{
TL14 = TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],h[index-고점[1,2]]-PriceScale*3,sDate,sTime,h[index-고점[1,2]]-PriceScale*3);
TL_SetColor(TL13,GRAY);
TL_SetSize(TL13,0);
TL_SetExtRight(TL13,true);
TL_SetColor(TL14,BLUE);
TL_SetSize(TL14,2);
TL_SetExtRight(TL14,true);
TL_SetColor(TL15,GRAY);
TL_SetSize(TL15,0);
TL_SetExtRight(TL15,true);
}
if 고점[1,2] < 저점[1,2] then
{
TL15 = TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],L[index-저점[1,2]]+PriceScale*3,sDate,sTime,L[index-저점[1,2]]+PriceScale*3);
TL_SetColor(TL13,GRAY);
TL_SetSize(TL13,0);
TL_SetExtRight(TL13,true);
TL_SetColor(TL14,GRAY);
TL_SetSize(TL14,0);
TL_SetExtRight(TL14,true);
TL_SetColor(TL15,MAGENTA);
TL_SetSize(TL15,2);
TL_SetExtRight(TL15,true);
}
plot1(index-고점[1,2]);
plot2(index-저점[1,2]);
위수식으로 수정을하고십습니다 전봉이종가 30분양봉으로끈나면 파동시작 수평선을블루색으로시작
반대로 전봉이종가음봉으로 끈나면 파동수평선을 레드색으로 시작 ~`미리감사드립니다
2020-09-04
791
글번호 142083
답변완료
문의
피라미딩으로 총 3개의 포지션이 있을 때 청산하는 수식 부탁드립니다.
당일 고점에서 1.20 포인트 하락했을 때 총3개 중 1/3 청산
당일 고점에서 2.40 포인트 하락했을 때 총2개 중 1/2 청산
당일 고점에서 3.60 포인트 하락했을 때 총1개 청산
당일 저점에서 1.20 포인트 상승했을 때 총3개 중 1/3 청산
당일 저점에서 2.40 포인트 상승했을 때 총2개 중 1/2 청산
당일 저점에서 3.60 포인트 상승했을 때 총1개 청산
항상 고맙습니다.
2020-09-04
745
글번호 142078
답변완료
부탁좀 드리겠습니다.
5일선 기준 종가선 연결수식좀 부탁드립니다
2020-09-04
931
글번호 142074
답변완료
더운 날씨에 수고 하시고 감사 합니다.
*** 15분봉상 MACD 5, 20, 5 로 설정 해서 "0선 돌파를 하는데,
분봉상 피보나치 값 38.2 위에서 반등 나오는 종목을 찾고 싶습니다.
조금 올랐다가, 눌림에서 반등시 위 조건에 맞는 종목을 찾고 싶습니다.
2020-09-04
848
글번호 142070
답변완료
수고 하십니다.~~~^^
1) 15분봉상 MACD 5, 20, 5 로 설정 해서 "0선 돌파시에~
2) Heikin Ashi 음봉캔들이 하락으로 나왔다가, 양봉 Heikin Ashi 캔들로 변환 될 때 ~
위 두개에 조합이 이루어 질때 종목을 찾고 싶습니다.
부탁 드릴께요.
* 죄송
하나 더 부탁 드립니다.
위에 1번 조건만 만족 하는 조건 수식도 부탁 드릴께요.
2020-09-04
759
글번호 142069
답변완료
고생 많으십니다 감사합니다
거래시간은 오후 4시부터 다음날 새벽 3시까지만 할 것
어떠한 경우라도 새벽 3시에는 무조건 청산할 것
9시의 시가를 그날의 시가로 잡고....
1) 매매1
시가의 1%위에서 파라볼릭 첫 매수신호완성시 매수
(파라볼릭 매수신호 지속되고 있는 중간에 시가위의 1%를 상향돌파한다고 매수진입 아님)
그 후 파라볼릭 첫매도신호 완성시 청산
시가의 1%아래에서 파라볼릭 첫 매도신호완성시 매도
(파라볼릭 매도신호 지속되고 있는 중간에 시가아래의 1%를 하향돌파한다고 매도진입 아님)
파라볼릭 첫매수신호 완성시 청산
진입후 어떠한 경우라도 20틱 손해나면 손절매
2) 매매2
시가위로 2% 이상 올라갔다가 다시 1%자리를 터치시
매도 진입
시가+10틱에서 청산
시가위로 2% 이상 내려갔다가 다시 -1%자리를 터치시
매수 진입
시가+10틱에서 청산
진입후 어떠한 경우라도 20틱 손해나면 손절매
2020-09-04
777
글번호 142067
답변완료
90틱 시스템 신호 키움으로 변경
틱차트에서 쓰던 시스템 신호를 혹시 키움 영웅문 수식으로 변경가능할까요?
var : mav1(0),mav2(0),mav3(0),T1(0),T2(0),T3(0);
mav1 = ma(c,5);
mav2 = ma(c,20);
mav3 = ma(c,60);
if mav1 > mav1[1] Then
T1 = 1;
if mav1 < mav1[1] Then
T1 = -1;
if T1 == 1 and T1[1] != 1 Then
var1 = 0;
// if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav3 > mav3[1] Then{ 60이평포함
if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav1 > mav2 Then{
var1 = var1+1;
if var1 == 1 Then
buy("5매수");
}
if T1 == -1 and T1[1] != -1 Then
var2 = 0;
// if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav3 < mav3[1] Then{ 60이평포함
if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav1 < mav2 Then{
var2 = var2+1;
if var2 == 1 Then
sell("5매도");
}
mav2 = ma(c,20);
if mav2 > mav2[1] Then
T2 = 1;
if mav2 < mav2[1] Then
T2 = -1;
if T2 == 1 and T2[1] != 1 Then
var3 = 0;
if T2 == 1 and C > O and (C+O)/2 >= mav2 Then{
var3 = var3+1;
if var3 == 1 Then
buy("20턴");
}
if T2 == -1 and T2[1] != -1 Then
var4 = 0;
if T2 == -1 and C < O and (C+O)/2 <= mav2 Then{
var4 = var4+1;
if var4 == 1 Then
sell("20매도");
}
mav3 = ma(c,60);
if mav3 > mav3[1] Then
T3 = 1;
if mav3 < mav3[1] Then
T3 = -1;
if T3 == 1 and T3[1] != 1 Then
var5 = 0;
if T3 == 1 and C > O and (C+O)/2 >= mav3 Then{
var5 = var5+1;
if var5 == 1 Then
buy("60턴");
}
if T3 == -1 and T3[1] != -1 Then
var6 = 0;
if T3 == -1 and C < O and (C+O)/2 <= mav3 Then{
var6 = var6+1;
if var6 == 1 Then
sell("60매도");
}
2020-09-04
929
글번호 142066
답변완료
부탁 드립니다.
도움에 깊이 감사 드립니다.
1)예를 들어 10분 차트에서 60분 지표 수식
2)60분 차트에서 일봉 지표 수식
부탁 드립니다.
미리 경배로 감사 인사 올립니다.
input :N(10),sig(5);
var1=iff(c>o,v,0);
var2=iff(c<o,v,0);
var3=var1-var2;
var4=AccumN(var3,N);
var5=ma(var4,sig);
참고수식)
input : Atime1(60),Length(10),sig(5);
var : TL(0),TH(0),cnt(0),Dcnt(0),preTRange(0),prePlusDM14(0),MinusDM14(0),TRange1(0),preMinusDM14(0);
Var : TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),preADX(0);
Var : CummDMI(0), Cummi(0);
var : S1(0),D1(0),TM(0),TF1(0),CB(0);
Array : HH[61](0),LL[61](0),CC[61](0),TR[61](0),DMIv[61](0),ADXv[61](0);
Array : DPlus[61](0),DMinus[61](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%Atime1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and Atime1 > 1 and TM >= TM[1]+Atime1) or
(Bdate == Bdate[1] and Atime1 == 1 and TM > TM[1]) Then
{
2020-09-04
926
글번호 142061