커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

var : SonarV(0),SonarSig(0); var : SMIv(0),T(0); var : TRIXv(0),TRIXsig(0),entry(0); var1 = SAR(af,maxAF); SonarV = SONAR(SonarP); SonarSig = ema(SonarV,SonarS); SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 / (0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ; TRIXv = TRIX(TrixP); TRIXsig = ema(TRIXv,TrixS); if SMIv > SMIv[1] Then T = 1; if SMIv < SMIv[1] Then T = -1; if bdate != bdate[1] Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true; Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true; If C > var1 and SonarSig > SonarSig[1] and TRIXsig > TRIXsig[1] and T == 1 Then { if entry == 0 or (entry >= 1 and MarketPosition == -1) or (entry >= 1 and MarketPosition == 0 and Condition1 == false) or (entry >= 1 and MarketPosition == 0 and Condition1 == true and countif(C < var1 or SonarSig < SonarSig[1] or TRIXsig < TRIXsig[1] or T == -1,BarsSinceExit(1)) >= 1) Then Buy(); } # 매도/매수청산 If C < var1 and SonarSig < SonarSig[1] and TRIXsig < TRIXsig[1] and T == -1 Then { MessageLog("%s %s %.f",Condition1,Condition2,entry); if entry == 0 or (entry >= 1 and MarketPosition == 1) or (entry >= 1 and MarketPosition == 0 and Condition2 == false) or (entry >= 1 and MarketPosition == 0 and Condition2 == true and countif(C > var1 or SonarSig > SonarSig[1] or TRIXsig > TRIXsig[1] or T == 1,BarsSinceExit(1)) >= 1) Then { Sell(); } } if MarketPosition == 1 and C < var1 and TRIXsig < TRIXsig[1] and T == -1 Then{ ExitLong(); } if MarketPosition == -1 and C > var1 and TRIXsig > TRIXsig[1] and T == 1 Then{ ExitShort(); } SetStopProfittarget(PriceScale*익절틱수, PointStop); 1. 상기식에서 진입은 09시에서 새벽 02시까지만 진입이되도록 부탁드립니다. ( 초보라 괄호가 제대로 안맞은지 잘안되네요.ㅠ ) 2. 상기식의 매도에 있는 중괄호가 매수에는 없는데... 어떤 의미가 있는건가요? 아님 작성이 안된건가요? ( 신호발생에는 문제는 없는것 같은데 초보라 궁금해서 문의드립니다.) BarsSinceExit(1)) >= 1) Then { Sell(); }
프로필 이미지
vmfha
2015-07-01
183
글번호 87876
시스템
답변완료

주문수량 계산

안녕하십니까. 수고많으십니다. 아래내용 문의드립니다. 1. 주식100만원 어치 매수 및 청산 (아래처럼 하려니 잘안되내요..간단히 주석도 좀 부탁드립니다.) input : 투자금액(100000); if crossup(c,ma(c,5)) Then{ if CodeCategoryEx == 11 and BasePrice < 50000 Then{ <-- 이 부분 주석부탁. vol1 = int(int((투자금액)/C)/10)*10; } Else{ vol1 = int((투자금액)/C); } buy("b",OnClose,def,vol1); } 2. 주식선물 100만원 / 5이평 골든데드로 처리 조건 만족시 일봉으로 당일 종가매수 조건 만족시 일봉으로 익일 시가매도 3. 선물 최초계좌 1억원기준 이후 70%만 증거금 사용한 계약수 / 5이평 골든데드로 처리 조건 만족시 일봉으로 당일 종가매도 (2번과 반대) 조건 만족시 일봉으로 익일 시가매수 (2번과 반대) 감사합니다.
프로필 이미지
미수예스
2015-07-01
193
글번호 87875
시스템
답변완료

수식문위 드립니다

아래 수식에서 색을 추가하고 싶습니다 macd osc 값이 0.01~+0.03까지는 분홍색....+0.031부터는 빨강색 macd osc 값이 -0.01~-0.03까지는 하늘색,,,,-0.031부터는 파란색 감사합니다
프로필 이미지
이공주7
2015-07-01
244
글번호 87874
강조
답변완료

수식 수정 및 추가

안녕하세요. 받은 수식입니다. 수식 수정 및 추가 그리고 오류 수정 부탁드립니다. Input : Period1(10),Period2(20); var : NP(0),PreNP(0),dayPL(0); NP = NetProfit; if bdate != bdate[1] Then PreNP = NP[1]; dayPL = NP-preNP; value1 =LRS(C,Period1); value2 =LRS(C,Period2); Condition1 = value1 > 0 and value2 > 0; Condition2 = value1 < 0 and value2 < 0; if dayPL < 1 then{ if Condition1[1] == true and Condition1[2] == false Then buy("b",AtMarket); if Condition2[1] == true and Condition2[2] == false Then sell("s",AtMarket); } if MarketPosition == 1 Then{ if CrossDown(value1,value2) Then ExitLong(); if CrossDown(value1,0) or CrossDown(value2,0) Then ExitLong(); } if MarketPosition == -1 Then{ if CrossUp(value1,value2) Then ExitShort(); if CrossUp(value1,0) or CrossUp(value2,0) Then ExitShort(); } **(다르게 매매되어 있습니다.) 매수 : 기준점 0을 기준으로 상향돌파 (0 상향돌파 분봉 아님) 후 다음 분봉 완성 즉시 또는 0 아래서 골든 크로스 발생 후 다음 분봉 완성 즉시 0이나 0 아래서 골든크로스 한가지만 만족하여도 매수입니다. 청산 : 변수 20과 변수 10의 데드크로스시, 또는 기준점 0에서 포지션 정리(포지션없음으로) (미적용 되었습니다) ** 포지션 정리 후 선물 1포인트 이상의 수익 발생시 당일 추가 매매 없게 하고 싶습니다. **(다르게 매매되어 있습니다.) 매도 : 기준점 0을 기준으로 하향돌파 (0 하향돌파 분봉 아님) 후 다음 분봉 완성 즉시 또는 0 위에서 데드 크로스 발생 후 다음 분봉 완성 즉시 0이나 0 위에서 데드크로스 한가지만 만족하여도 매도입니다. 청산 : 변수 20과 변수 10의 골든 크로스시, 또는 기준점 0에서 포지션 정리(포지션없음으로) (미적용 되었습니다) ** 포지션 정리 후 선물 1포인트 이상의 수익 발생시 당일 추가 매매 없게 하고 싶습니다. 그리고 아래의 내용을 추가 합성 부탁드립니다. (호가 잔량 이평이 매수세가 강할 때 매수만, 매도세가 강할 때 매도만 수식입니다,) Input : Period(5); var : AsksMA(0),BidsMA(0); BidsMa = ma(bids,Period); AsksMA = ma(asks,Period); if BidsMa > AsksMA Then{ buy(); } if BidsMa < AsksMA Then{ sell(); } if MarketPosition == 1 and CrossDown(BidsMa,AsksMA) Then ExitLong(); if MarketPosition == -1 and CrossUp(BidsMa,AsksMA) Then ExitShort(); 매번 감사합니다 ^^
프로필 이미지
째깍째깍
2015-07-01
165
글번호 87873
시스템
답변완료

수식 변경요청 드립니다.

아래수식에서 처음신호 발생봉 종가 기준으로 -> 두번째 신호가 수익일 경우 -> 처음 수익을 제외한 당일손실제한 강제청산 -> 두번째 신호가 손실일 경우 -> 처음 손실을 포함한 당일손실제한 강제청산 수식 으로 변경요청 드립니다. input :N(2),당일손실(-1.5); var : cnt(0),BCount(0),SCount(0); var : NP(0),PreNP(0),DayPL(0); NP = NetProfit; if date != date[1] Then preNP = NP[1]; dayPL = NP-PreNP; BCount = 0 ; SCount = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 then BCount = BCount + 1; if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 then SCount = SCount + 1; } //------------------------------------------------------------------------ if MarketPosition == 1 Then{ ExitLong("당일손실제한bx3",AtStop,EntryPrice+당일손실-dayPL); } if MarketPosition == -1 Then{ ExitShort("당일손실제한sx3",AtStop,EntryPrice-당일손실+daypl ); } //-------------------------------------------------------------------------------------- if MarketPosition == -1 and crossup(H,EntryPrice+0.5) and BCount+SCount < N and dayPL > 당일손실 Then buy("1BX"); if MarketPosition == 1 and CrossDown(L,EntryPrice-0.5) and BCount+SCount < N and dayPL > 당일손실 Then sell("1SX"); //-------------------------------------------------------------------------------------- Value1 = Highest(H, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then Buy("매수추적청산",AtStop, Value1-ATR(15)*5); Value2 = Lowest(L, BarsSinceEntry-100); if BCount+SCount < N and daypl > 당일손실 Then sell("매도추적청산",AtStop, Value2-ATR(15)*5); 감사합니다.
프로필 이미지
dandy
2015-07-01
179
글번호 87866
시스템

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

프로필 이미지
회원
2015-07-01
28
글번호 87861
시스템
답변완료

조건식

NH 트레이더를 사용하고 있읍니다. 아래의 조건을 동시 만족하는 종목을 검색하려고 합니다. 도움주시면 감사하겠읍니다. 1. 20봉전 대량거래(20일 평균거래량의 2배이상) 발생하면서 7%이상의 양봉 발생 2. 0봉전 기준 20일동안 주가등락폭은 20% 이내 3. 0봉전 기준으로 21일동안의 최고종가는 20봉전 발생한 양봉의 종가보다 작거나 같을것
프로필 이미지
오소
2015-07-01
183
글번호 87860
종목검색
답변완료

부탁드립니다.

답변 감사합니다. 1. data4(60분차트)에서 macd와 시그날의 골든크로스 발생시 3차추가매수 - 단, 3차매수신호발생 가격이 data2(20분차트)상의 1차신호발생가의 이하이면 매수하고, 아니면 매수하지 않는다. ) 2. 그리고 목표수익 10%에 도달했을때 보유물량의 50% 를 매도- 나머지 물량은 아래 청산조건 그대로 하고요 위의 조건들을 아래식에 추가할 경우에 어떻게 표현하는지- 부탁 드립니다.감사합니다. input : short(12),long(26),sig(9); var : MACDV2(0,data2), MACDS2(0,data2); var : MACDV3(0,data3), MACDS3(0,data3); var : MACDV4(0,data4), MACDS4(0,data4); MACDV2 =data2(MACD(short,long)); MACDS2 = data2(ema(MACDV2,sig)); MACDV3 =data3(MACD(short,long)); MACDS3 = data3(ema(MACDV3,sig)); MACDV4 =data4(MACD(short,long)); MACDS4 = data4(ema(MACDV4,sig)); if MarketPosition == 0 and crossup(MACDV2,MACDS3) Then buy("b1"); if MarketPosition == 1 and MaxEntries == 1 and C < EntryPrice and Crossup(MACDV3,MACDS3) Then buy("b2"); if MarketPosition == 1 Then{ if CurrentContracts == MaxContracts and CrossDown(MACDV2,MACDS2) Then{ if MACDV4 > MACDS4 Then exitlong("bx1",OnClose,def,"",int(MaxContracts*0.5),1); if MACDV4 < MACDS4 Then exitlong("bx2"); } if CrossDown(MACDV4,MACDS4) Then exitlong("bx"); }
프로필 이미지
보석비빔밥
2015-07-01
157
글번호 87859
시스템
답변완료

문의합니다.

어제 문의에 대한 답변 매우 감사합니다 ^^ 오늘도 하나 문의드립니다~ 지표를 만든건데요. 아래의 식으로으로 변수10, 변수20 2가지를 기준으로 합니다. 기준점 0을 기준으로 상향돌파시 다음 분봉 완성 된 후 그 다음 분봉 시작시 매수, 변수 20과 변수 10의 데드크로스시, 또는 기준점 0에서 포지션 정리(포지션없음으로) 포지션 정리 후 선물 1포인트 이상의 수익 발생시 당일 추가 매매 없게 하고 싶습니다. 기준점 0을 기준으로 하향돌파시 다음분봉 완성 된 후 그 다음 분봉 시작시 매도, 변수 20과 변수 10의 골든 크로스시, 또는 기준점 0에서 포지션 정리(포지션없음으로) 포지션 정리 후 선물 1포인트 이상의 수익 발생시 당일 추가 매매 없게 하고 싶습니다. 시스템 매매식으로 수정 부탁드립니다. 감사합니다. Input : Period1(20); value1 =LRS(C,Period1); if value1>0 Then plot1(value1,"기울기",red); Else if value1 < 0 Then plot1(value1,"기울기",BLUE); PlotBaseLine1(0);
프로필 이미지
째깍째깍
2015-07-01
162
글번호 87858
시스템