커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

안녕하세요. 수고가 많으십니다. 몇번의 질의로 어느듯 완성이 되어 가는듯 보입니다. 다시한번 감사의 말씀 드립니다. 염치불구 하나만 더 문의 드립니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 청산시 1.수익이 나면 분할청산하라 2.0/3.0/4.0/5.0pt 위치에서 한개씩 2.최종컷은 최고가격대비 2.2pt 하락시 매수청산 단, 정배열(20/60/120)시는 2.2pt하락 and 60이평 하향이탈시 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 수고하세요^^
프로필 이미지
천리포
2017-02-17
101
글번호 106975
시스템
답변완료

문의드립니다

특정값 이상/이하 로 지정하여 익절이 포함되고 진입 위치가 익절이 포함되지 않는 시스템과 같게 만들고 싶습니다 _____________________________ 이전 문의글 입니다 _____________________________ 진입을 단순히 특정값 이상/이하로 지정하시면 청산후에 조건이 계속 만족하면 또 진입하게 됩니다, 특정값을 상향돌파나 하향이탈로 지정하셔야 합니다. 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 crossup(A,70) Then buy(); if MarketPosition == 1 and CrossDown(A,50) Then exitlong(); if CrossDown(A,30) Then sell(); if MarketPosition == -1 and Crossup(A,50) Then ExitShort(); SetStopProfittarget(0.5,PointStop); _____________________________________________ 감사합니다
프로필 이미지
파인애플
2017-02-17
93
글번호 106974
시스템
답변완료

수식 부탁드립니다

1.&nbsp;entryprice&nbsp;는&nbsp;최초&nbsp;진입가이고 &nbsp;&nbsp;&nbsp;latestentryprice&nbsp;는&nbsp;최종&nbsp;진입가인데 &nbsp;&nbsp;&nbsp;최초&nbsp;진입후&nbsp;최초&nbsp;진입가가&nbsp;수익&nbsp;목표가에서&nbsp;청산된&nbsp;경우&nbsp;피라미딩&nbsp;후&nbsp;청산되지&nbsp;않고&nbsp;계&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;속보유중인&nbsp;가격&nbsp;중&nbsp;최저가를&nbsp;나타내는&nbsp;명령어가&nbsp;있나요? 이 질문에 답변을 해주셔서 당초 시스템식 if MarketPosition == 1 Then { if MaxContracts < 4 Then buy("bb",atstop,LatestEntryPrice(0)+1.5,1); } if MarketPosition == -1 Then { if MaxContracts < 4 Then sell("ss",atstop,LatestEntryPrice(0)-1.5,1); } #진입별 5포인트 수익시 청산 SetStopProfittarget(5.0,PointStop); #진입별 1.5포인트 손실시 청산 SetStoploss(1.5,PointStop); if MarketPosition == 1 Then ExitLong("bp",atlimit,EntryPrice+20.0); if MarketPosition == -1 Then ExitShort("sp",atlimit,EntryPrice-20.0); if MarketPosition == 1 and c > entryprice + 15.0 and Relative1 >= 65 Then exitlong("bx1",AtStop,c); if MarketPosition == -1 and c < entryprice - 15.0 and Relative1 <= 35 Then exitShort("sx1",AtStop,c); if MarketPosition == 1 and highest(h,BarsSinceEntry) >= EntryPrice + 0.6 Then Exitlong("bx2",AtStop,highest(H,BarsSinceEntry) - abs(highest(H,BarsSinceEntry)-EntryPrice)*1.0); if MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice - 0.6 Then Exitshort("Sx2",AtStop,lowest(L,BarsSinceEntry) + abs(lowest(L,BarsSinceEntry)-EntryPrice)*1.0); if MarketPosition == 1 and highest(h,BarsSinceEntry) >= EntryPrice + 1.0 Then Exitlong("bx3",AtStop,highest(H,BarsSinceEntry) - abs(highest(H,BarsSinceEntry)-EntryPrice)*0.9); if MarketPosition == -1 and lowest(L,BarsSinceEntry) <= EntryPrice - 1.0 Then Exitshort("Sx3",AtStop,lowest(L,BarsSinceEntry) + abs(lowest(L,BarsSinceEntry)-EntryPrice)*0.9); 을 다음과 같이 바꾸었습니다 if MarketPosition == 1 Then { if MaxContracts < 4 Then buy("bb",atstop,LatestEntryPrice(0)+1.5,1); } if MarketPosition == -1 Then { if MaxContracts < 4 Then sell("ss",atstop,LatestEntryPrice(0)-1.5,1); } If MarketPosition == -1 Then { if MaxEntries == 1 Then LL = EntryPrice; if CurrentContracts > CurrentContracts[1] and LatestEntryPrice(0) > LL Then LL = LatestEntryPrice(0); } #진입별 5포인트 수익시 청산 SetStopProfittarget(5.0,PointStop); #진입별 1.5포인트 손실시 청산 SetStoploss(1.5,PointStop); if MarketPosition == 1 Then ExitLong("bp",atlimit,EntryPrice+20); if MarketPosition == -1 Then ExitShort("sp",atlimit,EntryPrice-20); if MarketPosition == 1 and c > entryprice + 15.0 and Relative1 >= 65 Then exitlong("bx1",AtStop,c); if MarketPosition == -1 and c < EntryPrice - 15.0 and Relative1 <= 35 Then exitShort("sx1",AtStop,c); if MarketPosition == 1 and CurrentContracts == 1 and highest(h,BarsSinceEntry) >= LL + 0.6 Then Exitlong("bx2",AtStop,highest(H,BarsSinceEntry) - abs(highest(H,BarsSinceEntry)- LL)*1.0); if MarketPosition == -1 and CurrentContracts == 1 and lowest(L,BarsSinceEntry) <= LL - 0.6 Then Exitshort("Sx2",AtStop,lowest(L,BarsSinceEntry) + abs(lowest(L,BarsSinceEntry)- LL)*1.0); if MarketPosition == 1 and CurrentContracts <= 2 and highest(h,BarsSinceEntry) >= LL-1.0 Then Exitlong("bx3",AtStop,highest(H,BarsSinceEntry) - abs(highest(H,BarsSinceEntry)- LL)*0.9); if MarketPosition == -1 and CurrentContracts <= 2 and lowest(L,BarsSinceEntry) <= LL- 1.0 Then Exitshort("Sx3",AtStop,lowest(L,BarsSinceEntry) + abs(lowest(L,BarsSinceEntry)- LL)*0.9); 바꾼 결과는 당초와 다른것이 하나도 없었습니다. 더 바꿔야 하는 수식이 있는지 검토 부탁드립니다 2. entryprice&nbsp;는&nbsp;최초&nbsp;진입가이고 &nbsp;&nbsp;&nbsp;latestentryprice&nbsp;는&nbsp;최종&nbsp;진입가인데 피라미딩 후 청산되지 않고 보유중인 계약이 다수 있을경우 각 가격을 나타내는 명령어가 있 나요? 3. 또 위의 피라미딩 시스템은 4개의 잔량까지 보유 할 수 있는데 보유중인 가격중 하위 2개, 또는 3개 가격의 평균가(avgentryprice)을 나타내는 명령어를 만들고 싶습니다 감사합니다
프로필 이미지
미송
2017-02-19
107
글번호 106973
시스템
답변완료

함수 부탁드립니다

최근 몇봉상의 고점 및 최근 몇봉상의 저점 최근 몇분안의 고점 및 최근 몇분안의 저점을 손절시 같은방향 진입 금지를, 손절시 같은방향으로 20봉이내에 진입금지로 변경하고 싶습니다. 함수로 어떻게 표현하나요 감사합니다
프로필 이미지
이대규
2017-02-17
104
글번호 106972
사용자 함수
답변완료

함수변환요청(278)

안녕하세요? 아래는 키움증권에서 사용하였던 스크립트입니다. YT로 변환요청드립니다. 감사합니다. var : vT(0); if C < O and C[1] < O[1] and C[2] > O[2] and C[3] < O[3] Then Begin vT = 1; var1 = O; End; if C > O and C[1] > O[1] and C[2] < O[2] and C[3] > O[3] Then Begin vT = -1; var1 = O; End; if vT = 1 and crossup(c,var1) and C > O Then buy(); if vT = -1 and CrossDown(c,var1) and C < O Then sell();
프로필 이미지
통큰베팅
2017-02-17
111
글번호 106966
시스템
답변완료

수식부탁드립니다

매번 감사합니다. 수식 부탁드립니다 1. 이평선 7,11,22,62,122선 매수 조건: 22일선과 62일선이 122선을 하향 돌파 한뒤에 다음봉 시가 매수. 단 62일 선 또는 22일선이 7일선 아래 있으면 매수 불가 매도 조건: 22일선과 62일선이 122선을 상향 돌파 한뒤에 다음봉 시가 매도. 단 62일선 또는 22일선이 7일선 위에 있으면 매도 불가. 청산: 매수청산은 11일선이 122일 선을 상향 돌파시 매수 청산 매도청산은 11일선이 122일 선을 하향 돌파시 매도 청산 손절시 같은 방향 진입 금지
프로필 이미지
이대규
2017-02-17
105
글번호 106960
시스템
답변완료

재문의드립니다

51983에2번재문의드립니다 색채우기를하고십습니다 다시한번수정부탁드립니다색채우기방법은알고있습니다 현재는색채우기를할수가없네요 번거롭게해서 죄송합니다 ~~~
프로필 이미지
장군
2017-02-17
104
글번호 106959
지표
답변완료

문의드립니다.

수고많으십니다. 51975번 게시글에 질문올린것에 대해, 이번에는 과거봉을 잇는 추세선이 아닌 저장한 두 가격비교로 진입하는 시스템을 구현하고싶은데요, 5일선을 기준으로 ma(c,5)[2]-ma(c,5)[1]>0 ma(c,5)[1]-ma(c,5)<0 으로 기준을 잡으면 5일선이 상승반전되는 지점을 알 수 있잖습니까? 이 때, 상승반전이 되는 꼭지점인 ma(c,5)[1] 의 가격을 저장하고, 장이 진행되다 한번 더 위와같은 상승반전되는 지점의 ma(c,5)[1]의 가격을 저장해서, 두 저장한 가격을 비교해 나중에 저장한 가격이 더 높으면 매수하는 시스템식을 부탁드릴게요 조언부탁드립니다. 감사합니다.
프로필 이미지
sosk
2017-02-17
99
글번호 106958
시스템
답변완료

수식 문의 드립니다.

안녕하세요. 아래수식에서 목표청산 1일 3회 적용시, 목표청산 1회이상 발생 후 당일손실제한 손절시에는 당일손실제한 1.5PT 에서 목표정산 1회 수익분 1.1PT 제외한 당일손실제한 0.4PT로 연동적용 되도록 수정, 차트적용 목표청산 1일 3회 수식 점검 요청 드립니다. (당일손실제한 1.5PT - 목표청산 1회 1.1PT 만 적용(2회 3회 제외) = 당일손실제한 0.4PT) 감사합니다. input : N(1),PN(2),PPN(3),당일손실(1.5),i증감(0.2),진입수량(1),누적진입횟수(3); var : cnt(0),BCount(0),SCount(0); var : NP(0),PreNP(0),DayPL(0),loss(0),v1(0); var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0); var : Bxcond(false),SxCond(false); var : Xcond(false); var : TT(0),KK(0),DD(0); var : Pcnt(0); NP = NetProfit; if date != date[1] Then{ preNP = NP[1]; Condition1 = false; v1 = 0; Xcond = false; } 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 Condition1 == false and TotalTrades > TotalTrades[1] Then{ Condition1 = true; if PositionProfit(1) > 0 Then v1 = PositionProfit(1); } //------------------------------------------------------------------------------------------------------ #당일손실제한 if MarketPosition == 1 Then{ ExitLong("당일손실제한bx3",AtStop,avgEntryPrice-(당일손실+(dayPL-v1))/CurrentContracts); } if MarketPosition == -1 Then{ ExitShort("당일손실제한sx3",AtStop,avgEntryPrice+(당일손실+(dayPL-v1))/CurrentContracts); } //------------------------------------------------------------------------------------------------------ #피라미딩진입 if MarketPosition == 1 and MaxEntries < 누적진입횟수 and Bxcond == false and Xcond == false Then Buy("PBB",atlimit,LatestEntryPrice(0)+i증감,진입수량); if MarketPosition == -1 and MaxEntries < 누적진입횟수 and Sxcond == false and XCond == false Then sell("PSS",atlimit,LatestEntryPrice(0)-i증감,진입수량); //----------------------------------------------------------------------------------------------------- #목표수익청산 Input : SSPT1(1.1); SetStopPosition; SetStopProfittarget(SSPT1,PointStop); //====================================================================================================== #진입수식(예제) Input : Period(20); if Bdate != Bdate[1] Then Pcnt = 0; if CurrentContracts < CurrentContracts[1] and ((MarketPosition != 0 and LatestExitName(0) == "StopProfitTarget") or (MarketPosition != MarketPosition[1] and LatestExitName(1) == "StopProfitTarget")) Then Pcnt = Pcnt+1; value1 = TRIX(Period); If CrossUP(value1, 0) and BCount+SCount < PPN and dayPL > -당일손실 and Pcnt < 3 Then{ Buy("TRIXB"); } If CrossDown(value1, 0) and BCount+SCount < PPN and dayPL > -당일손실 and Pcnt < 3 Then{ Sell("TRIXS"); } //------------------------------------------------------------------------------------------------------ SetStopEndofday(153000); //------------------------------------------------------------------------------------------------------
프로필 이미지
dandy
2017-02-17
100
글번호 106956
시스템