커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
7320
글번호 230811
지표
답변완료

연속 양봉,음봉 표시

일봉 차트에서 연속 양봉,음봉 중 4회 이상 나오면 차트에 표시하는 수식을 작성하고 싶습니다. 부탁드립니다.
프로필 이미지
와시1000
2017-05-01
204
글번호 109300
시스템
답변완료

시스템식을 부탁드림니다.

지난번52250번에 문의드렷던 내용을 시스템식으로 만들엇으면 함니다. (1) 고점의 새로운 고가밴드(고점의 고가선과 종가선)가 확정된후 고가선이 하방이탈시에(또는 새로운 고가밴드 확정시 10봉 이내의 양봉에서 매도) 매도,저점의 새로운 저가밴드(저점의 저가선과 저점의종가선)확정후 저점밴드를 상방이탈시(또는 새로운 저점밴드 확정시 10봉이내에서의 음봉에 매수) 매수식을 부탁드림니다. Input:length(10); Var:최종고가(0),최종저가(0),최종변곡점(""),처리구분(""), sBar(0),TL1(0),TL2(0),TL3(0), 고추세기울기(0),고추세봉개수(0),고추세시작(0),고추세시작IDX(0),고추세최종(0), 저추세기울기(0),저추세봉개수(0),저추세시작(0),저추세시작IDX(0),저추세최종(0); Var:고1(0),고2(0),고3(0),고4(0),고5(0),고6(0),고7(0),고8(0),고9(0),고10(0), 저1(0),저2(0),저3(0),저4(0),저5(0),저6(0),저7(0),저8(0),저9(0),저10(0), 고1IDX(0),고2IDX(0),고3IDX(0),고4IDX(0),고5IDX(0), 고6IDX(0),고7IDX(0),고8IDX(0),고9IDX(0),고10IDX(0), 저1IDX(0),저2IDX(0),저3IDX(0),저4IDX(0),저5IDX(0), 저6IDX(0),저7IDX(0),저8IDX(0),저9IDX(0),저10IDX(0); var : tl21(0),tl22(0),TL31(0),tl32(0),Tl33(0),tl34(0),t(0); #==========================================# Condition1 = Highest(C,length) == C and 최종고가 <> C; Condition2 = Lowest (C,length) == C and 최종저가 <> C; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종변곡점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리 Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리 } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = C; // 신규고점을 체크하기 위해 저장 If 최종변곡점 == "저점" Then { 고9 = 고8; 고9IDX = 고8IDX; 고8 = 고7; 고8IDX = 고7IDX; 고7 = 고6; 고7IDX = 고6IDX; 고6 = 고5; 고6IDX = 고5IDX; 고5 = 고4; 고5IDX = 고4IDX; 고4 = 고3; 고4IDX = 고3IDX; 고3 = 고2; 고3IDX = 고2IDX; 고2 = 고1; 고2IDX = 고1IDX; 고1 = C; 고1IDX = Index; sBar = Index - 저1IDX; // 추세선 시작점의 위치, n봉전으로 표시 TL1 = TL_New(sDate[sBar],sTime[sBar],저1,sDate[0],sTime[0],고1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); TL21 = TL_New(sDate[index-저2IDX],sTime[index-저2IDX],L[index-저2IDX],sDate[index-저1IDX],sTime[index-저1IDX],L[index-저2IDX]); TL_SetColor(TL21,CYAN); if C[index-저2IDX] != L[index-저2IDX] then{ TL22 = TL_New(sDate[index-저2IDX],sTime[index-저2IDX],C[index-저2IDX],sDate[index-저1IDX],sTime[index-저1IDX],C[index-저2IDX]); TL_SetColor(TL22,CYAN); } T = -1; } Else If 고1 < C Then // 1번 고점보다 높은 고가 출현 { 고1 = C; 고1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],고1); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } /* 고점추세선 */ If 고2IDX[1] <> 고2IDX Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; 고추세기울기 = 0; 고추세시작 = 0; 고추세봉개수 = 0; If 고2 < 고3 Then { 고추세기울기 = (고2 - 고3)/(고2IDX - 고3IDX); 고추세시작 = 고3; 고추세시작IDX = 고3IDX; } Else If 고2 < 고4 Then { 고추세기울기 = (고2 - 고4)/(고2IDX - 고4IDX); 고추세시작 = 고4; 고추세시작IDX = 고4IDX; } Else If 고2 < 고5 Then { 고추세기울기 = (고2 - 고5)/(고2IDX - 고5IDX); 고추세시작 = 고5; 고추세시작IDX = 고5IDX; } Else If 고2 < 고6 Then { 고추세기울기 = (고2 - 고6)/(고2IDX - 고6IDX); 고추세시작 = 고6; 고추세시작IDX = 고6IDX; } Else If 고2 < 고7 Then { 고추세기울기 = (고2 - 고7)/(고2IDX - 고7IDX); 고추세시작 = 고7; 고추세시작IDX = 고7IDX; } Else If 고2 < 고8 Then { 고추세기울기 = (고2 - 고8)/(고2IDX - 고8IDX); 고추세시작 = 고8; 고추세시작IDX = 고8IDX; } Else If 고2 < 고9 Then { 고추세기울기 = (고2 - 고9)/(고2IDX - 고9IDX); 고추세시작 = 고9; 고추세시작IDX = 고9IDX; } 고추세봉개수 = Index - 고추세시작IDX; 고추세최종 = 고추세기울기 * 고추세봉개수 + 고추세시작; If 고추세최종 > 0 Then { TL2 = TL_New(sDate[고추세봉개수],sTime[고추세봉개수],고추세시작,sDate[0],sTime[0],고추세최종); TL_SetSize(TL2,1); TL_SetColor(TL2,RED); } } Else If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } 최종변곡점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종변곡점 == "고점" then { 저9 = 저8; 저9IDX = 저8IDX; 저8 = 저7; 저8IDX = 저7IDX; 저7 = 저6; 저7IDX = 저6IDX; 저6 = 저5; 저6IDX = 저5IDX; 저5 = 저4; 저5IDX = 저4IDX; 저4 = 저3; 저4IDX = 저3IDX; 저3 = 저2; 저3IDX = 저2IDX; 저2 = 저1; 저2IDX = 저1IDX; 저1 = C; 저1IDX = Index; sBar = Index - 고1IDX; TL1 = TL_New(sDate[sBar],sTime[sBar],고1,sDate[0],sTime[0],저1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); T = 1; TL21 = TL_New(sDate[index-고2IDX],sTime[index-고2IDX],H[index-고2IDX],sDate[index-고1IDX],sTime[index-고1IDX],H[index-고2IDX]); TL_SetColor(TL21,MAGENTA); if C[index-고2IDX]!= H[index-고2IDX] then{ TL22 = TL_New(sDate[index-고2IDX],sTime[index-고2IDX],C[index-고2IDX],sDate[index-고1IDX],sTime[index-고1IDX],C[index-고2IDX]); TL_SetColor(TL22,MAGENTA); } } Else If 저1 > C then { 저1 = C; 저1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],저1); } /* 저점추세선 */ If 저2IDX[1] <> 저2IDX Then { 저추세최종 = 0; 저추세기울기 = 0; 저추세시작 = 0; 저추세봉개수 = 0; If 저2 > 저3 and 저3 > 0 Then { 저추세기울기 = (저2 - 저3)/(저2IDX - 저3IDX); 저추세시작 = 저3; 저추세시작IDX = 저3IDX; } Else If 저2 > 저4 and 저4 > 0 Then { 저추세기울기 = (저2 - 저4)/(저2IDX - 저4IDX); 저추세시작 = 저4; 저추세시작IDX = 저4IDX; } Else If 저2 > 저5 and 저5 > 0 Then { 저추세기울기 = (저2 - 저5)/(저2IDX - 저5IDX); 저추세시작 = 저5; 저추세시작IDX = 저5IDX; } Else If 저2 > 저6 and 저6 > 0 Then { 저추세기울기 = (저2 - 저6)/(저2IDX - 저6IDX); 저추세시작 = 저6; 저추세시작IDX = 저6IDX; } Else If 저2 > 저7 and 저7 > 0 Then { 저추세기울기 = (저2 - 저7)/(저2IDX - 저7IDX); 저추세시작 = 저7; 저추세시작IDX = 저7IDX; } Else If 저2 > 저8 and 저8 > 0 Then { 저추세기울기 = (저2 - 저8)/(저2IDX - 저8IDX); 저추세시작 = 저8; 저추세시작IDX = 저8IDX; } Else If 저2 > 저9 and 저9 > 0 Then { 저추세기울기 = (저2 - 저9)/(저2IDX - 저9IDX); 저추세시작 = 저9; 저추세시작IDX = 저9IDX; } 저추세봉개수 = Index - 저추세시작IDX; 저추세최종 = 저추세기울기 * 저추세봉개수 + 저추세시작; If 저추세최종 > 0 Then { TL3 = TL_New(sDate[저추세봉개수],sTime[저추세봉개수],저추세시작,sDate[0],sTime[0],저추세최종); TL_SetSize(TL3,1); TL_SetColor(TL3,BLUE); } } Else If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } 최종변곡점 = "저점"; } TL_Delete(TL31); TL_Delete(TL32); TL_Delete(TL33); TL_Delete(TL34); If T == 1 Then{ TL31 = TL_New(sDate[index-고1IDX],sTime[index-고1IDX],H[index-고1IDX],sDate,sTime,H[index-고1IDX]); TL_SetColor(TL31,MAGENTA); if C[index-고1IDX]!= H[index-고1IDX] then{ TL32 = TL_New(sDate[index-고1IDX],sTime[index-고1IDX],C[index-고1IDX],sDate,sTime,C[index-고1IDX]); TL_SetColor(TL32,MAGENTA); } TL33 = TL_New(sDate[index-저2IDX],sTime[index-저2IDX],L[index-저2IDX],sDate,sTime,L[index-저2IDX]); TL_SetColor(TL33,cyan); if C[index-저2IDX]!= L[index-저2IDX] then{ TL34 = TL_New(sDate[index-저2IDX],sTime[index-저2IDX],C[index-저2IDX],sDate,sTime,C[index-저2IDX]); TL_SetColor(TL34,cyan); } } If T == -1 Then{ TL31 = TL_New(sDate[index-고2IDX],sTime[index-고2IDX],H[index-고2IDX],sDate,sTime,H[index-고2IDX]); TL_SetColor(TL31,MAGENTA); if C[index-고2IDX]!= H[index-고2IDX] then{ TL32 = TL_New(sDate[index-고2IDX],sTime[index-고2IDX],C[index-고2IDX],sDate,sTime,C[index-고2IDX]); TL_SetColor(TL32,MAGENTA); } TL33 = TL_New(sDate[index-저1IDX],sTime[index-저1IDX],L[index-저1IDX],sDate,sTime,L[index-저1IDX]); TL_SetColor(TL33,cyan); if C[index-저1IDX]!= L[index-저1IDX] then{ TL34 = TL_New(sDate[index-저1IDX],sTime[index-저1IDX],C[index-저1IDX],sDate,sTime,C[index-저1IDX]); TL_SetColor(TL34,cyan); } }
프로필 이미지
수루지
2017-05-08
197
글번호 109299
시스템
답변완료

수식 부탁드립니다.

1번 수식 INPUT : LENGTH(20); VAR : TCHAN(0), BCHAN(0); TCHAN = HIGHEST(H, LENGTH)[0]; BCHAN = LOWEST(L, LENGTH)[0]; PLOT1(TCHAN, "TOP1",MAGENTA); PLOT2(BCHAN, "BOT1",MAGENTA); 2번수식 var1 = ma(c,20); if var1 > var1[1] Then value1 = var1; if var1 > value1 Then value1 = var1; if var1 < var1[1] Then value2 = var1; if var1 < value2 Then value2 = var2; plot1(value1); plot2(value2); 안녕하세요. 1번 수식과 2번 수식을 합쳐서 그림과 같이 변곡지점에서 상승과 하락을 하는 노란색선 하나 만 표시되고 변수는 임의조정 하도록 수식 작성 부탁드립니다. 감사합니다.
프로필 이미지
dhfmfl
2017-04-30
290
글번호 109298
지표
답변완료

수식문의

아래지표를 각각, 장시작 후 질문1) var1 이탈 후 첫번째 var2 돌파(돌파1) 매수 이후 돌파2, 3, ...는 신호발생하지 않는 수식 var2 돌파 후 첫번째 var1 이탈(이탈1) 매도 이후 이탈2, 3, ...는 신호발생하지 않는 수식 질문2) var1 이탈 후 첫번째 var2 돌파(돌파1) 매수신호는 발생하지 않고, 돌파 2부터 신호발생수식 var2 돌파 후 첫번째 var1 이탈(이탈1) 매도신호는 발생하지 않고, 이탈 2부터 신호발생수식 부탁드립니다. 감사합니다. ****** 안녕하세요 예스스탁입니다. Input : short(12),long(26),sig(9); Var : MACDv(0),MACDs(0),T(0),Hv(0),Lv(0); MACDv = MACD(short, long); MACDs = ema(MACDv,sig); if crossup(MACDV,MACDS) Then{ T = 1; Hv = H; var1 = Lv; } if CrossDown(MACDV,MACDS) Then{ T = -1; Lv = L; var2 = Hv; } if T == 1 Then{ if H > Hv Then Hv = H; } if T == -1 then{ if L < Lv Then Lv = L; } plot1(var1); plot2(var2); 즐거운 하루되세요
프로필 이미지
정각도원
2017-05-01
185
글번호 109297
시스템
답변완료

문의

이트레이드 증권에서 제공하는 당일 미결제 증감으로 가격대를 표시하는것이 있더군요 예스에서 당일 미결제 증감을 가격대로 표시할 수 있나요,예를들면 예를들면 257~257.5사이 미결제양 1000개 증감 또는 미결제 양이1000개 줄엇을때 258~259이런식으로 표현가능한지 알고 싶습니다
프로필 이미지
레전드
2017-05-04
168
글번호 109296
지표

아트정 님에 의해서 삭제되었습니다.

프로필 이미지
아트정
2017-04-30
75
글번호 109294
시스템
답변완료

시스템 자동건

안녕하세요 다름이 아니옵고 시스템창에서 여러가지 4개의 시스템 적용시 각자 매매할수있는 방법은 업나요~ 수식의뢰 부탁드려요 해외오일기준 매수식=sw2선이 음선인 상태에서 캔들이 10개이상진행대고 가격등락은 30틱이상 하락후 sw2선이 양선으로 전환된상태에서 +10틱단위로 추가진입 예)1차=50.0에 매수 1개 2차=50.10에 추가1개매수 3차=50.20에 추가1개매수 4차=50.30에 1개추가매수 5차=50.40에 1개추가 손절=매수후-10틱 하락시마다 1개씩매도손절 재매수조건=-10틱이상하락후 재상승시+10틱 단위에서 1개씩 추가매수 익절청산 +50틱이상 상승시 일괄청산 매도는 매수와반대조건입니다 부탁드려요 첨부=sw2 4월9일작성 참조=첨부(52778)
프로필 이미지
아트정
2017-05-03
191
글번호 109293
시스템

동동이아빠 님에 의해서 삭제되었습니다.

프로필 이미지
동동이아빠
2017-04-30
4
글번호 109292
종목검색
답변완료

문의드립니다.

선물차트 기준으로 문의드립니다. 1. 단순이평 100선을 A라 하고, 단순이평 100선과 단순이평 333선의 중간선을 B라 할때, A>B 이면 그 구간을 편의상 C구간, 반대로 A<B 이면 그 구간을 D구간 이라 합니다. C구간은 분홍색으로 세로로 채우기를 하고, D구간은 하늘색으로 새로로 채우기를 하고자 합니다. 2. 위 1번의 A선이 B선보다 위에 있는 C 구간에서 봉의 몸통안에(시가와 종가사이에), ㄱ. 삼각가중평균선 20선과 삼각가중평균선 56선이 같이 들어있는 양봉 검색 ㄴ. 삼각가중평균선 20선과 삼각가중평균선 75선이 같이 들어있는 양봉 검색 ㄷ. 삼각가중평균선 20선과 단순이평 1000선이 같이 들어있는 양봉 검색 ㄹ. 삼각가중평균선 56선과 위 1번의 B선이 같이 들어있는 양봉 검색 ㅁ. 현재봉 포함 최근 3개의 캔들에서, 봉의 몸통안에 삼각20선이 들어있는 양봉 2개 이상이 있을 경우 해당되는 봉을 검색 ㅂ. 삼가가중평균선 20선과 지수이평 20선이 같이 들어있는 양봉검색 하고자 합니다. 검색신호는 해당봉의 '아래'에 나타나게 하고 싶습니다. (2번에서는 양봉만 검색하고 음봉은 검색하지 않습니다.) 3. 위 1번의 A선이 B선보다 아래에 있는 D 구간에서 봉의 몸통안에(시가와 종가사이에), 위 2번 질문의 ㄱ~ㅂ 조건에 해당하는 '음봉'을 검색하고 싶습니다. 검색신호는 해당봉의 '위'에 나타나게 하고 싶습니다. -========================= 요컨대 2번 검색항목은 A선>B선 의 구간에서만 검색하는 양봉 이고, 3번 검색항목은 A선<B선 의 구간에서만 검색하는 음봉 입니다. 4. a.위 1번 항목처럼 이번에는 단순이평 75선과 삼각가중평균 112선을 비교해서 단순75선이 삼각가중112선 위에 있으면 빨강색으로 해당구간을 채우기를 하고, 위 2번의 조건에 해당하는 검색조건과 같이 6 항목을 검색합니다. (검색신호는 해당봉의 아래에 나타나게 하고 싶습니다.) b. 단순이평 75선이 삼각가중 112선보다 아래 있으면 파란색으로 채우기를 하고, 위 3번에 해당하는 조건검색 6개 음봉을 검색하고자 합니다. (검색신호는 해당봉의 위에 나타나게 하고 싶습니다.) 5. 위 4번의 a, b 검색항목은 같게 하되, 비교할 선을 지수이평 50선과 삼각가중평균 200선을 비교하여 4번처럼 검색하고 싶습니다. ======= 검색되는 모든 양봉은 해당봉의 아래에 검색되게 하고, 검색되는 모든 음봉은 해당봉의 위에 검색되게 하고 싶습니다. 부탁드립니다. 매번 문의에 답을 해주셔서 대단히 감사드립니다. 수고하세요!!!
프로필 이미지
해암
2017-05-01
142
글번호 109291
검색