커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

N.darvas box 지표를 만들수 있는 수식문의합니다. 참고할 수있는거라도 부탁드립니다.. 새해 복많이 받으세요^^
프로필 이미지
소강
2016-02-05
243
글번호 95229
지표
답변완료

지표부탁드립니다.

혹시 빨간 원 안에 있는 하늘색 선 처럼 차트에서 옆으로 나오는 지표가 있는지 있다면 그 지표가 무슨 지표인지 궁금합니다. 혹시나 여러 지표가 있다면 그 종류를 전부 알려주시면 감사하겠습니다.
프로필 이미지
구리구리뱅뱅
2016-02-05
256
글번호 95223
지표
답변완료

소수이하 절삭

소수이하 몇자리 이하 절삭하는 방법을 알고 싶습니다. 반올림함수 Round()는 있는데 반대로 절삭하는 함수는 없는것 같아 문의 드립니다.
프로필 이미지
고가행진
2016-02-05
163
글번호 95216
사용자 함수
답변완료

지표문의

수고많으십니다 지표트릭스기울기20이평위는빨강색 아래는청색부탁드립니다
프로필 이미지
장군
2016-02-05
186
글번호 95215
지표
답변완료

복리4번후다음3번후..

Input : shortPeriod(5), longPeriod(20) ; Var : value(0),vol(0); if MarketPosition != 0 Then{ if PositionProfit < 0 Then Vol = min(80,MaxContracts*2); Else vol = 1; } if MarketPosition == 0 Then{ if PositionProfit(1) < 0 Then Vol = min(80,MaxContracts(1)*2); Else vol = 1; } value = OSCP(shortPeriod, longPeriod); If CrossUP(value, 0) Then Buy("b",OnClose,def,vol); If CrossDown(value,-0) Then Sell("s",OnClose,def,vol); # 추적청산 input : AtrMult(6), AtrPeriod(6); var : AtrVal(0), posHigh(0), posLow(0); # ATR 추적청산 ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+2); PosLow = Lowest(L,BarsSinceEntry+2); If MarketPosition == 1 and C < ma(c,20) Then sell("ATR1", AtStop, PosHigh - ATRVal,Vol); If MarketPosition == -1 and C > ma(c,20) Then buy("ATR2", AtStop, PosLow + ATRVal,Vol); If MarketPosition == 0 and C > ma(C,20) Then sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol); If MarketPosition == 0 and C < ma(C,20) Then buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol); 위수식에서 처음손실은4번후복리 다음은3번후복리 다음은2번후복리 다음부터는계속복리됨니다 목표가후복귀 항상 감사합니다.
프로필 이미지
큰바위얼굴
2016-02-05
158
글번호 95205
시스템
답변완료

복리한번후두번후세번...

Input : shortPeriod(5), longPeriod(20) ; Var : value(0),vol(0); if MarketPosition != 0 Then{ if PositionProfit < 0 Then Vol = min(80,MaxContracts*2); Else vol = 1; } if MarketPosition == 0 Then{ if PositionProfit(1) < 0 Then Vol = min(80,MaxContracts(1)*2); Else vol = 1; } value = OSCP(shortPeriod, longPeriod); If CrossUP(value, 0) Then Buy("b",OnClose,def,vol); If CrossDown(value,-0) Then Sell("s",OnClose,def,vol); # 추적청산 input : AtrMult(6), AtrPeriod(6); var : AtrVal(0), posHigh(0), posLow(0); # ATR 추적청산 ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+2); PosLow = Lowest(L,BarsSinceEntry+2); If MarketPosition == 1 and C < ma(c,20) Then sell("ATR1", AtStop, PosHigh - ATRVal,Vol); If MarketPosition == -1 and C > ma(c,20) Then buy("ATR2", AtStop, PosLow + ATRVal,Vol); If MarketPosition == 0 and C > ma(C,20) Then sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol); If MarketPosition == 0 and C < ma(C,20) Then buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol); 위수식에서 처음손실은1번후복리 다음은2번손실후복리 다음은3번손실후복리 다음은손실4번후복리 다음은5번손실후복리6.7.8.9.10.11.12....반복됨니다. 목표가후복귀 감사합니다.
프로필 이미지
큰바위얼굴
2016-02-05
146
글번호 95204
시스템
답변완료

복리투자 처음4번은 안함

Input : shortPeriod(5), longPeriod(20) ; Var : value(0),vol(0); if MarketPosition != 0 Then{ if PositionProfit < 0 Then Vol = min(80,MaxContracts*2); Else vol = 1; } if MarketPosition == 0 Then{ if PositionProfit(1) < 0 Then Vol = min(80,MaxContracts(1)*2); Else vol = 1; } value = OSCP(shortPeriod, longPeriod); If CrossUP(value, 0) Then Buy("b",OnClose,def,vol); If CrossDown(value,-0) Then Sell("s",OnClose,def,vol); # 추적청산 input : AtrMult(6), AtrPeriod(6); var : AtrVal(0), posHigh(0), posLow(0); # ATR 추적청산 ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+2); PosLow = Lowest(L,BarsSinceEntry+2); If MarketPosition == 1 and C < ma(c,20) Then sell("ATR1", AtStop, PosHigh - ATRVal,Vol); If MarketPosition == -1 and C > ma(c,20) Then buy("ATR2", AtStop, PosLow + ATRVal,Vol); If MarketPosition == 0 and C > ma(C,20) Then sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol); If MarketPosition == 0 and C < ma(C,20) Then buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol); 위수식에서 처음4번 손실이 지난후부터 계속복리입니다. 즉처음4번후부터 복리가시작됨니다.쭉계속복리 목표가후복귀 감사합니다.
프로필 이미지
큰바위얼굴
2016-02-05
147
글번호 95203
시스템
답변완료

손실두번시 복리

Input : shortPeriod(5), longPeriod(20) ; Var : value(0),vol(0); if MarketPosition != 0 Then{ if PositionProfit < 0 Then Vol = min(80,MaxContracts*2); Else vol = 1; } if MarketPosition == 0 Then{ if PositionProfit(1) < 0 Then Vol = min(80,MaxContracts(1)*2); Else vol = 1; } value = OSCP(shortPeriod, longPeriod); If CrossUP(value, 0) Then Buy("b",OnClose,def,vol); If CrossDown(value,-0) Then Sell("s",OnClose,def,vol); # 추적청산 input : AtrMult(6), AtrPeriod(6); var : AtrVal(0), posHigh(0), posLow(0); # ATR 추적청산 ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+2); PosLow = Lowest(L,BarsSinceEntry+2); If MarketPosition == 1 and C < ma(c,20) Then sell("ATR1", AtStop, PosHigh - ATRVal,Vol); If MarketPosition == -1 and C > ma(c,20) Then buy("ATR2", AtStop, PosLow + ATRVal,Vol); If MarketPosition == 0 and C > ma(C,20) Then sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol); If MarketPosition == 0 and C < ma(C,20) Then buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol); 위수식에서 손실이 두번발생때마다 복리를합니다 두번손실.또두번손실.또두번손실... 즉 손실한번을 두번으로바꿔주세요 목표가후복귀 감사합니다.
프로필 이미지
큰바위얼굴
2016-02-05
147
글번호 95202
시스템
답변완료

부탁드립니다.

안녕하세요? 해외에서는 엘리어트 파동을 이용한 매매가 활발하게 이루어지고 있고 HTS에 ADD on Program도 많이 있습니다. 그래서 국내서도 구할 수 있나 찾아보았으나 찾을 수가 없었고 그나마 유사한 것으로 아래의 것을 찾았으나 바로 사용할 수가 없어서코딩을 좀 부탁드립니다. 장기변동율과 단기변동율을 바꾸어 볼 수 있게 코딩 부탁드리구요, 시간이 걸리는 일을 부탁드려서 미안합니다. 명절 잘 보내시기 바랍니다. 감사합니다. =================================================================================== 1) 고점과 저점 정의 고점조건 = 고가가 저점에서 장기변동률 이상 상승했고 저점이후고가보다 클 때; 저점조건 = 저가가 고점에서 장기변동률 이상 하락했고 고점이후저가보다 작을 때; If 고점조건 만족 Then { 저점이후고가 = 고가; 고점이후저가 = 0; } If 저점조건 만족 Then { 고점이후저가 = 저가; 저점이후고가 = 0; } 2) 고점인지 저점인지 판단 전환점구분을 null값으로 초기화; If 고점조건과 저점조건 동시 만족 Then { If 1번 고점 < 고가 and 1번 저점 > 저가 Then 전환점구분 = “고저점”; Else If 1번 고점 < 고가 Then 전환점구분 = “고점”; Else If 1번 저점 > 저가 Then 전환점구분 = “저점”; } Else If 고점조건만 만족 Then 전환점구분 = “고점”; Else If 저점조건만 만족 Then 전환점구분 = “저점”; 3) 고점 또는 저점일 때 처리 If 전환점구분 <> null Then { 3-1) 고점이면서 저점일 때 If 전환점구분 == “고저점” Then { If 직전 전환점구분 == “고점” Then { 1번 고점 = 고가; 전환점구분 = “저점”; 보조지표 1번 고점 = 보조지표 1번 저점 이후의 최고가를 for문으로 search; } Else If 직전 전환점구분 == “저점” Then { 1번 저점 = 저가; 전환점구분 = “고점”; 보조지표 1번 저점 = 보조지표 1번 고점 이후의 최저가를 for문으로 search; } } If 전환점구분 <> 직전 전환점구분 Then { 3-2) 고점일 때 처리 If 전환점구분 == “고점” Then { 3번 고점 = 2번 고점; 2번 고점 = 1번 고점; 1번 고점 = 고가; 보조지표 3번 고점 = 보조지표 2번 고점; 보조지표 2번 고점 = 보조지표 1번 고점; 보조지표 1번 고점 = 보조지표 1번 저점 이후의 최고가를 for문으로 search; } 3-3) 저점일 때 처리 If 전환점구분 == “저점” Then { 3번 저점 = 2번 저점; 2번 저점 = 1번 저점; 1번 저점 = 저가; 보조지표 3번 저점 = 보조지표 2번 저점; 보조지표 2번 저점 = 보조지표 1번 저점; 보조지표 1번 저점 = 보조지표 1번 고점 이후의 최저가를 for문으로 search; } } If 전환점구분 == 직전 전환점구분 and ((전환점구분 == “고점” and 1번 고점 < 고가) or (전환점구분 == “저점” and 1번 저점 > 저가)) Then { 3-4) 연속 고점일 때 처리 If 전환점구분 == “고점” Then { 1번 고점 = 고가; 보조지표 1번 고점 = 보조지표 1번 저점 이후의 최고가를 for문으로 search; } 3-5) 연속 저점일 때 처리 If 전환점구분 == “저점” Then { 1번 저점 = 저가; 보조지표 1번 저점 = 보조지표 1번 고점 이후의 최저가를 for문으로 search; } } } 4) 종목 보합일 때 보조지표 처리 Else //전환점구분이 null 즉 주가가 고점과 저점사이에 보합 상태 { If 직전 전환점구분 == “고점” and 보조지표 1번 고점 < 보조지표 값 Then 보조지표 1번 고점 = 보조지표 값; If 직전 전환점구분 == “저점” and 보조지표 1번 저점 > 보조지표 값 Then 보조지표 1번 저점 = 보조지표 값; } 5) 단기고점과 단기저점 정의 단기고점조건 = 고가가 저점보다 단기변동률 이상 상승했고 저점이후단기고가보다 클 때; 단기저점조건 = 저가가 고점보다 단기변동률 이상 하락했고 고점이후단기저가보다 작을 때; If 단기고점조건 만족 Then { 저점이후단기고가 = 고가; 고점이후단기저가 = 0; } If 단기저점조건 만족 Then { 고점이후단기저가 = 저가; 저점이후단기고가 = 0; } 6) 단기고점인지 단기저점인지 판단 단기전환점구분을 null 값으로 초기화; If 단기고점조건과 단기저점조건 동시 만족 Then { If 1번 고점 < 고가 Then 단기전환점구분 = “고점”; Else If 1번 저점 > 저가 Then 단기전환점구분 = “저점”; } Else If 단기고점조건만 만족 Then 단기전환점구분 = “고점”; Else If 단기저점조건만 만족 Then 단기전환점구분 = “저점”; If 단기전환점구분 == “고점” 또는 “저점” and 단기전환점구분 <> 직전 전환점구분 Then { 매수선 = 고가; 매도선 = 저가; } 7) 단기고점이면 매수 다이버전스 판단 If 단기전환점구분 == “고점” Then { If 2번 저점 > 1번 저점 and 보조지표 2번 저점 < 보조지표 1번 저점 Then 매수선에서 stop 주문(“일반 매수 다이버전스”); If 2번 저점 < 1번 저점 and 보조지표 2번 저점 > 보조지표 1번 저점 Then 매수선에서 stop 주문(“역 매수 다이버전스”); If 2번 저점과 1번 저점의 차이가 1번 저점의 0.005 보다 작고 and 보조지표 2번 저점 < 보조지표 1번 저점 Then 매수선에서 stop 주문(“과장 매수 다이버전스”); If 3번 저점 > 1번 저점 and 2번 저점 > 1번 저점 and 보조지표 3번 저점 < 보조지표 1번 저점 and 보조지표 1번 저점 < 보조지표 2번 저점 Then 매수선에서 stop 주문(“3중 매수 다이버전스”); } 8) 단기저점이면 매도 다이버전스 판단 If 단기전환점구분 == “저점” Then { If 2번 고점 < 1번 고점 and 보조지표 2번 고점 > 보조지표 1번 고점 Then 매도선에서 stop 청산주문(“일반 매도 다이버전스”); If 2번 고점 > 1번 고점 and 보조지표 2번 고점 < 보조지표 1번 고점 Then 매도선에서 stop 청산주문(“역 매도 다이버전스”); If 2번 고점과 1번 고점의 차이가 1번 고점의 0.005 보다 작고 and 보조지표 2번 고점 > 보조지표 1번 고점 Then 매도선에서 stop 청산주문(“과장 매도 다이버전스”); If 3번 고점 < 1번 고점 and 2번 고점 < 1번 고점 and 보조지표 3번 고점 > 보조지표 1번 고점 and 보조지표 1번 고점 > 보조지표 2번 고점 Then 매도선에서 stop 청산주문(“3중 매도 다이버전스”); } [출처] 최소변동률 지그재그(zigzag) 파동을 이용한 전략식(1~2)|작성자 수식지왕
프로필 이미지
매버릭
2016-02-05
309
글번호 95201
지표