커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1638
글번호 230811
답변완료
검색식 부탁합니다
당일 양봉이면서 거래량이 20일평균거래량의 250% 발생한 캔들의 검색식 부탁합니다
2022-10-18
1143
글번호 163090
답변완료
문의드립니다
특정일이후 n일의 데이타를 구하는 지표식에서
n일은 주식시장이 열리는 날만 카운트하는건가요? 토일, 공휴일은 제외한?
2022-10-18
1229
글번호 163089
답변완료
수식 부탁드립니다.
안녕하세요.
수식 하나 부탁 드리겠습니다.
1분봉에서
1.09시 10분 지수가 12:00분 지수보다 높으면은 12:01분에 매수후에 15:00분 청산
2.09시 10분 지수가 12:00분 지수보다 낮으면은 12:01분에 매도후에 15:00분에 청산
하는 식입니다.
감사합니다.
2022-10-18
1335
글번호 163088
답변완료
주석부탁드립니다
수고하십니다
아래수식을 자세하게 주석부탁드립니다 CS[7](0), ==5같다 ,==0같다 , +0.5을 왜 더하는지? cnt ,[cnt],(SymbolCode,1),StrToNum...등등
var : V1(0,Data1),V2(0,Data1),ATM(0,Data1);
var : cnt(0,Data1);
var : Ci(0,Data1),Pi(0,Data1),count(0,Data1);
Array : CS[7](0),CC[7](0),PS[7](0),PP[7](0),CT[7](0),PT[7](0);
CC[2] = Data2(H);
CC[3] = Data4(H);
PP[2] = Data3(L);
PP[3] = Data8(L);
CS[2]= data2(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[3]= data4(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[2]= data3(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[3]= data8(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
var1 = 0;
Var2 = 0;
Var3 = 0;
For cnt = 2 to 6
{
if CS[cnt] == ATM Then
var1 = cnt;
if CS[cnt] == ATM+2.5 Then
Var2 = cnt;
if CS[cnt] == ATM-2.5 Then
Var3 = cnt;
if PS[cnt] == ATM Then
value1 = cnt;
if PS[cnt] == ATM+2.5 Then
Value2 = cnt;
if PS[cnt] == ATM-2.5 Then
2022-10-18
1606
글번호 163087
매치다는 님에 의해서 삭제되었습니다.
2022-10-18
3
글번호 163086
답변완료
파동의 저점과 고점 위치
안녕하십니까.
아래 프로그램으로 장중 파동의 고점과 저점의 봉의 데이터 값, 즉 첨부된 그름 파일에서 붉은 색 값인 경우 +1로 출력하고 푸른색의 값인 경우 -1로 리턴하는 함수를 작성하고자 합니다. 도움 좀 부탁드립니다.
사용 목적은 파동의 고점과 저점 봉의 데이터 출력하고자 합니다.
(죄송스럽게도 제가 로직 이해가 부족해서 인지 정확히 숫자 찍히는 고점과 저점 지점을 잡을 수가 없네요)
Input:P(0),length(10);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),
Text1(0),처리구분(""),T(0),TL3(0),TL4(0),TL5(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;
TL_Delete(TL2);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL2 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL3 = TL_New(sDate[sBar],sTime[sBar],저점[1,1]+(고점[1,1]-저점[1,1])*0.382,sDate[eBar],sTime[eBar],저점[1,1]+(고점[1,1]-저점[1,1])*0.382);
TL4 = TL_New(sDate[sBar],sTime[sBar],저점[1,1]+(고점[1,1]-저점[1,1])*0.500,sDate[eBar],sTime[eBar],저점[1,1]+(고점[1,1]-저점[1,1])*0.500);
TL5 = TL_New(sDate[sBar],sTime[sBar],저점[1,1]+(고점[1,1]-저점[1,1])*0.618,sDate[eBar],sTime[eBar],저점[1,1]+(고점[1,1]-저점[1,1])*0.618);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],P));
Var1 = 고점[1,1];
Text_SetStyle(Text1, 2, 1);
Text_SetColor(Text1,Blue);
} # End of If 고점[1,2] < 저점[1,2] or 고점[1,1] < H
} # End of If 처리구분 == "고점처리"...
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;
TL_Delete(TL2);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
} # End of If TL_GetBeginDate(TL1) ==
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL2 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL3 = TL_New(sDate[sBar],sTime[sBar],고점[1,1]-(고점[1,1]-저점[1,1])*0.382,sDate[eBar],sTime[eBar],고점[1,1]-(고점[1,1]-저점[1,1])*0.382);
TL4 = TL_New(sDate[sBar],sTime[sBar],고점[1,1]-(고점[1,1]-저점[1,1])*0.500,sDate[eBar],sTime[eBar],고점[1,1]-(고점[1,1]-저점[1,1])*0.500);
TL5 = TL_New(sDate[sBar],sTime[sBar],고점[1,1]-(고점[1,1]-저점[1,1])*0.618,sDate[eBar],sTime[eBar],고점[1,1]-(고점[1,1]-저점[1,1])*0.618);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],P));
Var2 = 저점[1,1];
Text_SetStyle(Text1, 2, 8);
Text_SetColor(Text1,Red);
} # End of If 저점[1,2] < 고점[1,2] or 저점[1,1] > L
} # End of If 처리구분 == "저점처리"
TL_SetSize(TL1,0);
TL_SetColor(TL1,GRAY);
2022-10-18
1432
글번호 163085
답변완료
수식 문의 드립니다.
IF marketposition == 1 and OpenPositionProfit>loss*5 and data2(C)<entry2 Then
SetStopTrailing(loss,loss*5,PointStop);
SetStopLoss(loss,PointStop);
loss는 ATR(10)이고
data2는 코스피 5분봉이며
entry는 data2의 당일매도역치 설정 기준입니다.
의도는 수익이 loss*5 이상인 상황에서 loss 만큼 빠지면 이익청산한다 입니다.
이때 혹시 트레일링스탑 과최적화가 발생할 수 있습니까?
https://blog.naver.com/chartist/30035941729
이 글을 읽고 혹시나 싶어서 질문 드립니다.
항상 감사합니다.
2022-10-18
1421
글번호 163080
답변완료
당일 데이타만 사용하는식 부탁드립니다
아래 swing함수로 신호를 발생시키면 막 당일 첫봉에도 신호가 발생됩니다.
전날 봉을 인식해서 인것 같은데요 당일 데이타만 사용하는 식 부탁드립니다.
sdate? 사용법을 몰라서, 미리 감사.
//바닥발생 간단식
input : Left(3),right(3),DN(4),TS(20),loss(20);
var : b1(0),LL(0),entry(0),h2(0);
if SwingLow(1,L,left,right,Left+right+1) != -1 Then
{
b1 = L[right]; //swin1glow가 발생하면 그 Low값(왼쪽3봉전값?)을 b1에 저장히고
}
if MarketPosition == 0 Then {
Buy("b1",AtStop,B1);// b1가격에 걸리면 주문발생 AtLimit?
}
SetStopTrailing(DN,TS,PercentStop,1);
2022-10-18
1147
글번호 163079
포보스 님에 의해서 삭제되었습니다.
2022-10-18
0
글번호 163078