커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

뽄때 님에 의해서 삭제되었습니다.

프로필 이미지
뽄때
2011-07-11
27
글번호 40772
시스템
답변완료

질문요..

일봉 챠트에서 아래와 같이 작성시 if c>o Then buy("b",AtMarket); if c<o Then sell("s",AtMarket); if BarsSinceEntry==0 then { exitlong("B손절",Atstop,EntryPrice-2.5); exitshort("S손절",atstop,EntryPrice+2.5); } exitlong(); exitshort(); 1) 손절 주문이 엉뚱하게 나가더군요. 일봉챠트에선 atstop이 안먹히는 건가요? 2) atstop은 가격이 기준에 닿으면 기준 이상에서 주문이 나가고, atlimit은 뚫었다가 되돌아 올때 나가는거 맞나요? atstop 주문은 슬리피지 줄이고 그 가격에 들어가려고들 쓰시던데..기준가 이상에 주문나간다는 말이 무슨뜻이지.. atlimit도 쉬운 예좀 들어주세요. 3) 이평선을 atstop 기준으로 잡을수 없는 이유 쉽게 설명 부탁해요. 4) 시가를 기준으로 만족시 시가 진입식을 작성하려고 합니다. 예) 금일 시가가 전일 고가 이상이고 1515분 종가가 value2이하이고 금일 시가는 value2 이상일때 09:00 매수 if sTime == 151500 Then{ if NextBarOpen >= dayhigh () && c <= value2 && nextbaropen > value2 Then buy("b",AtMarket); } 전혀 작동하질 안네요. 뭐 간단한 로직도 할때마다 코딩부터 막히니 에휴 . 부탁합니당.
프로필 이미지
sjpapa
2011-07-11
824
글번호 40771
시스템
답변완료

시스템식

안녕하세요 1. if MarketPosition != 1 if MarketPosition != -1 두가지 설명부탁하며 진입식에 무포든 SetStopProfittarget든 SetStopTrailing든 매수포지션이든 매도포지션이든 상관없이 진입식 부탁함니다. 경우에따라서 직전거래청산후 매도진입포지션인데 매수가 되는경우와 매수진입포지션인데 매도가 되는경우는 어떻게 처리해야하나요 2. 아래의 두개식을 비교하여 우선순위을 줄수있는방법이있나요 obv 신호나 PivB 신호나 2개을 비교하여 적정시 2개중 하나만 나오고 각신호가 동일하지않으면 각자 따로 진입방법식 부탁드림니다 중복진입방지을위해서며 자주 나오는신호을 컨트롤 할수는 없는지요 Inputs: Strength(4); Variables: LowPivot(0); If SwingLow(1, Low, Strength, Strength, Strength*2+1) <> -1 Then Begin Condition91 = True; LowPivot = Low[Strength]; End; If MarketPosition() == -1 Then Condition91 = False; If Condition91 Then Sell ("PivB", AtStop, LowPivot); } Inputs: ConsecutiveOBV(2), LowestLength(11); Variables: OBVcalc(0); OBVcalc = OBV() * 0.0001; If CountIF(OBVcalc < Lowest(OBVcalc, LowestLength)[1], ConsecutiveOBV) == ConsecutiveOBV and Condition4 == true Then Sell ("OBV"); 3.2. 아래의 세개식을 비교하여 우선순위을 줄수있는방법이있나요 obv 신호나 PivB 신호나 Mom_SE신호나 3개을 비교하여 적정시 2개가 같은신호 하나만 나오고 각신호가 동일하지않으면 각자 따로 진입방법식 부탁드림니다 중복진입방지을위해서며 자주 나오는신호을 컨트롤 할수는 없는지요 Inputs: Strength(4); Variables: LowPivot(0); If SwingLow(1, Low, Strength, Strength, Strength*2+1) <> -1 Then Begin Condition91 = True; LowPivot = Low[Strength]; End; If MarketPosition() == -1 Then Condition91 = False; If Condition91 Then Sell ("PivB", AtStop, LowPivot); } Inputs: ConsecutiveOBV(2), LowestLength(11); Variables: OBVcalc(0); OBVcalc = OBV() * 0.0001; If CountIF(OBVcalc < Lowest(OBVcalc, LowestLength)[1], ConsecutiveOBV) == ConsecutiveOBV and Condition4 == true Then Sell ("OBV"); Inputs: Length(10), Pval(0.05); Variables: Mom(0); Mom = C- C[Length]; If Mom > 0 AND Mom >= Mom[1] AND MarketPosition() <> 1 Then Buy ("Mom_LE", AtStop, High + Pval); If Mom < 0 AND Mom <= Mom[1] AND MarketPosition() <> -1 Then Sell ("Mom_SE", AtStop, Low - Pval);
프로필 이미지
외국인
2011-07-12
717
글번호 40770
시스템
답변완료

19621번 다시 질문 드립니다

19621 번 질문 보충 해서 다시 부탁 드립니다... 고점 저점을 스윙함수가 아닌 지그재그차트 상승 하락율로 고점저점을 잡고 싶습니다. 그리고 그것을 기준으로 옵션차트와비교해서 선물이 고점 갱신하는데 옵션은 갱신 못하면 차트에 표시나 소리 나게 하고 싶습니다. 정성스럽게 답변 주셨는데...번거롭게 해드려 죄송합니다. 지그재그 파동수식 아래에 표시했습니다. Input:상승률(0.12),하락률(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { Plot1(이중파동,"Zigzag",Iff(색깔==빨강,RED,BLUE)); 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; Plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; Plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } }
프로필 이미지
파라나무
2011-07-11
744
글번호 40769
지표

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2011-07-11
2
글번호 40766
지표
답변완료

시스템부탁해요

잘좀 부탁드립니다. 수고 해주셔요...^^~ 추적신호기간-주봉과 일봉(중기)의 주가지수(선물지수가 아님)이며, 일봉(과열)은 선물지수입니다. 진입과 청산은 신호발생일 종가에 진입하는 것으로 합니다. 시스템 매매설정- 피라미딩-모든진입신호허용, 진입횟수는 1000개 추적신호-1-주봉(장기) - 주가지수 주봉에서 macd(60.130.45) 골드-매수/데드-매수 2-일봉(macd ) - 주가지수 일봉에서 macd(12.26.9) 골드-매수 /데드-매도 3- 일봉(스톡) - 선물지수 일봉에서 stochastics(12.3.3) 80이상-매도/20이하-매수 신호의 우선도=> 주봉(장기) > 일봉(macd) >일봉(스톡) => 일봉(macd)와 일봉(스톡)의 우선도는 이른시간이 우선임 주봉신호원칙-주봉신호의 방향이 나타나면, 주봉신호의 방향의 신호가 바뀔때까지(리버스) 일봉(macd)와 일봉(스톡)신호를 지배한다. 쉽게 풀면 { 주봉이 매수이면-주봉상 다음매도가 나올때까지는 일봉(macd))매도인경우엔 청산의 의미만을 가지게 되고, 일봉(스톡)에서의 매도는 무시된다. 주봉이 매도이면-주봉상 다음매수신호가 나올때까지는 일봉(macd))매수인 경우엔 청산의 의미만을 가지게 되고, 일봉(스톡)에서의 매수는 무시된다.} 일봉(중기)신호원칙- {주봉상 매수일 때- 일봉(macd))인 경우엔 위에서 말한데로 매도는 청산의 의미만을 가지게 되고 매수는 신규로 진입하게 된다. 그러나, 주봉매수 다음에 일봉(macd))매수가 나타나면(주봉매수포지션이 있기 때문에) 무시된다. 주봉상 매도일 때- 일봉(macd))인 경우엔 위에서 말한데로 매수는 청산의 의미만을 가지게 되고 매도는 신규로 진입하게 된다. 그러나 , 주봉매도 다음에 일봉(macd))매수가 나타나면 (주봉매도포지션이 있기 때문에) 무시된다.} 일봉(과열)신호원칙- {주봉상 매수일 때 -일봉(스톡)이 매도신호인경우엔 항상무시(청산이 아님)된다. 일봉(스톡)매수인 경우엔 매수를 신규로 진입하게 된다. 이때의 일봉(스톡) 매수는 일봉(macd))에서 매도가 출현되어 청산된 후에 나오는 매도 때에만 적용된다. 이때의 일봉(스톡)매수는 연속해서 나올수 있는데, 일봉(macd))에서 출현된 후에 나오는 첫 번째 일봉(스톡) 매수만을 매수하며, 이후에 나오는 매수는 무시된다. 대신 주봉 매수안에 여러번의 일봉(macd))상 매수- 청산- 매수- 청산이 반복되어 나올수 있으며, 그안에 여러번의 일봉(스톡)이 나올수 있다. 그때마다 개별적으로 원칙에 따라 신호를 추적한다. 주봉상 매도일 때 - 일봉(스톡)이 매수신호인 경우엔 항상무시(청산이 아님)된다. 일봉(스톡)매도인 경우엔 매도를 신규로 진입하게 된다. 이때의 일봉(스톡) 매도는 일봉(macd))에서 매수가 출현되어 청산된 후에 나오는 매수때에만 적용된다. 이때의 일봉(스톡)매도는 연속해서 나올수 있는데, 일봉(macd))에서 출현된 후에 나오는 첫 번째 일봉(스톡)매수만을 매수하며, 이후에 나오는 매수는 무시된다. 대신 주봉 매도안에 여러번의 일봉(macd))상 매도- 청산- 매도- 청산이 반복되어 나올수 있으며, 그안에 여러번의 일봉(스톡)이 나올수 있다. 그때마다 개별적으로 원칙에 따라 신호를 추적한다.} 중요한점이 있는데요..주봉이 매수인구간에서 일봉macd매도, 일봉스톡매수가 동시에 나왔을때에는 일봉macd매도신호가 우선하며, 일봉스톡매수는 무시되며 다음에 나오는 일봉스톡매수가 적용된다. 주봉이 매도인구간에서 일봉macd매수, 일봉스톡매도가 동시에 나왔을때에는 일봉macd매수신호가 우선하며, 일봉스톡매도는 무시되며 다음에 나오는 일봉스톡매도가 적용된다.
프로필 이미지
엉덩공주
2011-07-11
745
글번호 40760
시스템
답변완료

수식부탁

1분봉에서 갭하락시 하루종일 매수금지 갭상승시 하루종일 매도금지 수식부탁드립니다.
프로필 이미지
돌핀
2011-07-11
684
글번호 40756
시스템

뽄때 님에 의해서 삭제되었습니다.

프로필 이미지
뽄때
2011-07-11
12
글번호 40754
시스템
답변완료

data2에 관한.

참조에 일봉을 뛰운 분봉 챠트에서 현재 상태에서 참조 일봉의 종가를 기준 삼으려면 전일의 종가를 삼아야 하는거죠? 그럼 data2(c)[1]인가요?data2(c)인가요? 2) 사용자 함수에 관한건데요. 사용자 함수 작성시 숫자, 논리,문자열형이라고 나오던데요. 간단히 설명 부탁드리고요. 진입횟수 제한을 사용자 함수로 작성할대 숫자, 논지, 문자열 중 어떤걸 선택해야하나요? 함수이름 : entriestoday input : ndate(Numeric); var : count(0); count = 0 ; for value1 = 0 to 10 { if entrydate(value1) == ndate Then count = count+1 ; } entriestoday = count;
프로필 이미지
sjpapa
2011-07-11
669
글번호 40753
시스템