커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

화면에 고점, 저점 등 표시해주는 텍스트 출력하기

안녕하세요. 오랜만에 다시 시작하려니 모르는것 투성이입니다.^^ 매수시에 저점(시작하는 지점), 고점, 저점, 고점 이렇게 N자형 파동이 만들어진다고 할때 파동을 연결하는 선을 그리고 싶은데 swinghigh, swinglow 함수가 고점, 저점 구할때 사용하는것은 알겠지만 직접 보면서 저점, 고점을 찾은 다음에 가격을 변수로 넣어서 고점, 저점을 연결하는 선을 그려주고 파동의 모양을 차트상에 그려주고 싶습니다. 다음과 같이 일단 시작하는 저점과 고점에 대한 표시를 텍스트로 다음과 같이 해봤습니다. # 해당 지점에 텍스트를 출력하는 기능으로 텍스트 함수 사용시 날짜 시간 등 필요한 부분이라서 다음과 같이 작성했습니다. input : L0(0), H0(0), L1(0), H1(0); # 순서대로 저점(시작하는 지점), 고점, 저점, 고점의 가격을 정의해주고 변수로 입력해줌 input : date_L0(0), date_H0(0), date_L1(0), date_H1(0); # 날짜 input ; time_L0(0), time_H0(0), time_L1(0), time_H1(0); # 시간 Text_New(date_L0(0),time_L0(0), L0(0), "A지점"); Text_New(date_H0(0),time_H0(0), H0(0), "B지점"); Text_New(date_L1(0),time_L1(0), L1(0), "C지점"); Text_New(date_H1(0),time_H1(0), H1(0), "D지점"); 위에 한것이 잘 되었는지는 모르겠지만 수식 작성하고 시스템으로 만들었는데 전략실행차트 띄우고 시스템 적용 아이콘 눌러보면 분명히 저장했는데 안 나오네요. 추가로 L0~H0, H0~L1, L1~H1 이렇게 선을 연결하는 수식도 부탁드립니다. 선을 연결해서 그려주는것은 어려운것은 아니겠지만 예전에 했던것 같은데 오랜만에 시작하려니 쉽지가 않네요. 추가로 L0~H0, H0~L1, L1~H1 이렇게 선을 연결하는 수식도 부탁드립니다. 참고하시라고 구리선물 차트 첨부해드립니다.
프로필 이미지
개냥이
2017-12-20
273
글번호 115159
시스템
답변완료

문의 드립니다.

안녕하세요 아래 파동 수식에서 한 파동이 완성되면 1. 완성된 파동의 진폭의 88%선(노랑색)을 파동고점에서 위로 표시 2. 완성된 파동의 진폭의 100%선(검정색)을 파동 고점에서 위로 표시 3. 완성된 파동의 진폭의 123.6%(빨강색)을 파동 고점에서 위로 표시 4. 완성된 파동의 진폭의 88%선*(노랑색)을 파동 저점에서 아래로 표시 5. 완성된 파동의 진폭의 100선(검정색)을 파동 저점에서 아래로 표시 6. 완성된 파동의 진폭의 123.6%선(파랑색)을 파동 저점에서 아래로 표시 이렇게 선을 나타내고 싶습니다. 그리고 각 선에 대한 수치를 오른쪽에 표시하고 싶습니다. 감사합니다. 참고로 차트를 첨부 합니다. ===================== Input:length(15); 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); 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); 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]); 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); 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]); 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,1); TL_SetColor(TL1,white); ============================
프로필 이미지
동해바다01
2017-12-21
177
글번호 115158
지표
답변완료

수식 재문의

그림1은 수정수식 차트인데 피라미딩이 안됩니다.(다른 변수를 입력해도 안됩니다) 진입수량, 피라미딩수 입력에 따라 될 수 있도록 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 피라미딩 수식 요청 > 안녕하세요 예스스탁입니다. input : HighLine(300.50),LowLine(300.00),n(3),시간(90000); input : 진입수량(1),피라미딩수(5),피라미딩누적총량수(5); var : HH(0),LL(0),gap(0),T(0),T1(0),Entry(0),tcond(false); gap = HighLine-LowLine; if Bdate != Bdate[1] Then Tcond = false; if (sdate != sdate[1] and stime >= 시간) or (sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then{ Tcond = true; T = 0; T1 = TotalTrades; if O > highLine Then{ var1 = Ceiling(abs(O-HighLine)/Gap); HH = HighLine+gap*var1; LL = HH-gap; } else{ var1 = Floor(abs(O-HighLine)/Gap); HH = HighLine-gap*var1; LL = HH-gap; } } if Tcond == true then{ if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if T == 0 and crossup(C,HH) Then{ T = 1; var2 = HH; HH = var2+gap; LL = var2-Gap; } if T == 0 and CrossDown(C,LL) Then{ T = -1; var2= LL; HH = var2+Gap; LL = var2-Gap; } if T != 0 and crossup(C,HH) Then{ T = 1; var2 = HH; LL = var2-Gap; HH = var2+gap; if entry < n and MaxEntries < 피라미딩수 and MaxContracts < 피라미딩누적총량수 then buy("b",OnClose,def,진입수량); } if T != 0 and CrossDown(C,LL) Then{ T = -1; var2 = LL; HH = var2+Gap; LL = var2-Gap; if entry < n and MaxEntries < 피라미딩수 and MaxContracts < 피라미딩누적총량수 then sell("s",OnClose,def,진입수량); } } 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 피라미딩 수식 요청 > 변수조절창 피라미딩 기능 사용이 아래 수식과 충돌되는 부분이 있어 수식을 부탁드립니다. 1. 피라미딩 수식 추가 - 첫진입 후 설정 간격 line 추세 돌파 때 "n" 개씩만 피라미딩 - 1회 포함하여 모든 거래에서 피라미딩 작동 2. input 추가 - 피라미딩 수 : n개 - 피라미딩 누적총량수 : n개 항상 고맙습니다. *************************************************************************** 1)수식 내용 선물 가격 a입력 300.50 선물 가격 b입력 300.00 입력한 gap 0.50 대로 간격 line이 노트 가로줄 처럼 생기게 합니다. 가격이 출발하여 처음 터치하는 라인이 첫거래의 기준라인이 됩니다. 예를 들어 시가 299.95에서 300.00을 터치 그리고 300.50을 터치하면 buy 아래 라인 터치 없이 상승하여 305.50을 터치한 후 305.00을 아래로 터치하면 buy 청산, sell 진입 2) 수식 input : HighLine(300.50),LowLine(300.00),n(3),시간(90000); var : HH(0),LL(0),gap(0),T(0),T1(0),Entry(0),tcond(false); gap = HighLine-LowLine; if Bdate != Bdate[1] Then Tcond = false; if (sdate != sdate[1] and stime >= 시간) or (sdate == sdate[1] and stime >= 시간 and stime[1] < 시간) Then{ Tcond = true; T = 0; T1 = TotalTrades; if O > highLine Then{ var1 = Ceiling(abs(O-HighLine)/Gap); HH = HighLine+gap*var1; LL = HH-gap; } else{ var1 = Floor(abs(O-HighLine)/Gap); HH = HighLine-gap*var1; LL = HH-gap; } } if Tcond == true then{ if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if T == 0 and crossup(C,HH) Then{ T = 1; var2 = HH; HH = var2+gap; LL = var2-Gap; } if T == 0 and CrossDown(C,LL) Then{ T = -1; var2= LL; HH = var2+Gap; LL = var2-Gap; } if T != 0 and crossup(C,HH) Then{ T = 1; var2 = HH; LL = var2-Gap; HH = var2+gap; if entry < n then buy(); } if T != 0 and CrossDown(C,LL) Then{ T = -1; var2 = LL; HH = var2+Gap; LL = var2-Gap; if entry < n then sell(); } }
프로필 이미지
목마와숙녀
2017-12-21
183
글번호 115148
시스템

좌오비우오비 님에 의해서 삭제되었습니다.

프로필 이미지
좌오비우오비
2017-12-20
1
글번호 115146
시스템
답변완료

아래 수식을 부탁드립니다.

일일히 답변 주심에 감사드립니다. 아래 신호들을 차트에 표시하는 수식을 부탁드립니다. CrossUp(MACD(shortPeriod,longPeriod),eavg(MACD(shortPeriod,longPeriod),sigPeriod)) -shortPeriod : 12 - longPeriod :26 - sigPeriod : 9 Crossup(CCI(Period), -100) - Period : 20
프로필 이미지
자아준
2017-12-20
162
글번호 115134
강조
답변완료

수식 부탁드립니다.

아래 조건은 키움의 수식입니다. 아래의 조건을 1번이라도 만족하는 종목을 검색하는 식으로서 각 조건을 만족하는 회수를 10일 기간 동안 누적 시켜서 표시가 되도록 부탁합니다. 가능한 변수는 외부 변수로 부탁드립니다. MACD(shortPeriod,longPeriod) < eavg(MACD(shortPeriod,longPeriod),sigPeriod) 이면서 MACD(shortPeriod,longPeriod)가 2봉이상 연속 상승하면서 eavg(MACD(shortPeriod,longPeriod),sigPeriod) 에 5%이내 근접하고 -shortPeriod : 12 - longPeriod :26 - sigPeriod : 9 CCI(Period) < -100 이면서 CCI(Period) 가 2봉 연속 상승하면서 -100에 5 %이내 근접하고 - Period : 20
프로필 이미지
자아준
2017-12-20
150
글번호 115133
검색
답변완료

수식 부탁 드립니다.

1. 해외선물종목 크루드오일 5분봉차트 2. 볼린저밴드 상단선.하단선 10틱이내로 좁아진 상태이면서요. 볼린저밴드 상단선.하단선에 이평선인 75일선.150일선.300일선이 들어와 있어야 합니다. 이때 장대음봉시(75/150/300일선.볼밴하단선을 관통하는 장대음봉발생) 장대양봉시(75/150/300일선/볼밴상단선을 관통하는 장대양봉발생) 시 화살표 또는 음성으로 신호를 부탁 드립니다.
프로필 이미지
선장01
2017-12-20
157
글번호 115132
강조
답변완료

지표식 부탁드립니다.

안녕하세요 1> 옵션 만기 후 외국인 콜 옵션 금액 누적 포지션 옵션 만기 후 외국인 풋 옵션 금액 누적 포지션 옵션 만기 후 외국인 선물 금액 누적 포지션 2> 선물 만기 후 외국인 콜 옵션 금액 누적 포지션 선물 만기 후 외국인 풋 옵션 금액 누적 포지션 선물 만기 후 외국인 선물 금액 누적 포지션 지표식 부탁드립니다. 감사합니다. 수고하세요
프로필 이미지
머신
2017-12-20
148
글번호 115130
지표
답변완료

진입신호와 청산 신호가 한꺼번에 나오는 수식조정

안녕하세요 아래식은 진입신호 발생시 청산신호도 함께 발생합니다 한꺼번에 나오지 않도록 수정 할 수 있는지 알려주시면 감사하겠습니다 input : 일간최대진입횟수(2); var : T1(0),entry(0); if bdate != bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if 매수진입조건 Then{ if entry < 일간최대진입횟수 Then buy(); Else ExitShort(); } if 매도진입조건 Then{ if entry < 일간최대진입횟수 Then sell(); Else ExitLong(); }
프로필 이미지
중국동포
2017-12-20
147
글번호 115129
시스템