커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

한바다 님에 의해서 삭제되었습니다.

프로필 이미지
한바다
2017-05-01
0
글번호 109302
지표
답변완료

수식부탁드립니다

안녕하세요 수고많으십니다. 다음과 같은 수식을 만들려고 합니다. 해외선물용입니다. ------------------- C(시가대비 0.03% 상승) ------------------- B(시가대비 0.02% 상승) --------------------A(시가대비 0.01%상승) --------------------D(시가대비 0.01% 하락) --------------------E(시가대비 0.02% 하락) --------------------F(시가대비 0.03% 하락) 현재가가 A,B,D,E값을 돌파하거나 붕괴할때 매수, 매도진입하는 수식 인데요 1. 현재가가 A값을 돌파할 때 매수 진입하고 매수진입한 후 b값까지 상승하면 매수청산(익절) 매수진입한 후 D값까지 하락하면 매수청산(손절). 진입한 후에는 매수청산될 때까지 매도 신호 나오지 않게 한다. 수익발생하면 매수진입신호는 더이상 나오지 않는다. 2. 현재가가 A값을 붕괴할 때 매도 진입하고 매도진입한 후 D값까지 하락하면 매도청산(익절) 매도진입한 후 B값까지 상승하면 매도청산(손절).진입한 후에는 매도청산될 때까지 매수 신호 나오지 않게 한다. 수익발생하면 매도진입신호는 더이상 나오지 않는다 이런 식으로 B,E값에서도 신호가 나오게 수식좀 부탁드립니다. 그리고 주석(수식설명)도 함께 부탁드립니다 수고하십시요.
프로필 이미지
bigdeal
2017-05-02
165
글번호 109301
시스템
답변완료

연속 양봉,음봉 표시

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

문의

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