커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

간단한 수식에서 특정일 특정시간에 일괄청산(계약수와 상관없이) 수식 추가요청

아까와는 다른식인데 이수식에서도 특정일 특정시간에 청산하는 수식 부탁드려요~~ 매수만 되는 수식인데 계약수에 상관없이 2021년 12월 16일 23시 10분 30초에 전량 청산되는 수식 부탁드려요~~~ 해외선물 나스닥 60분봉 input : MFI기간(20),MFI값(14),하락틱수(100),익절틱(120),손절틱(1050); input : 추가매수횟수(4),X(25),Y(300); var : MoneyFlow(0); MoneyFlow = MFI(MFI기간); if MarketPosition == 0 and MoneyFlow <= MFI값 and C <= Highest(H,X)-PriceScale*Y Then Buy("b",OnClose,DEf,1); if MarketPosition == 1 and MaxEntries < 추가매수횟수 Then Buy("bb",AtLimit,LatestEntryPrice(0)-PriceScale*하락틱수); SetStopLoss(PriceScale*손절틱,PointStop); SetStopProfittarget(PriceScale*익절틱,PointStop);
프로필 이미지
이형지
2021-09-24
1320
글번호 152448
시스템
답변완료

data2 이용 피라미딩

아래 피라미딩 수식은 data1 차트 값을 적용하는 수식입니다. data2 차트값을 이용하여 피라미딩하는 수식으로 수정바랍니다. ex) data1 국내선물 data2 선물 외국인순매수 수량 - 진입 : 외국인선물 순매수 수량 - 피라미딩 : 외국인선물 순매수 수량 차트 사용 ******************************************************************************* if MarketPosition == 1 and IsEntryName("b1") == true Then { if C >= EntryPrice+uppyra검증1 and MaxContracts < 상승N1 Then buy("bb1",AtStop,LatestEntryPrice(0)+상승Pyra1); } if MarketPosition == -1 and IsEntryName("s1") == true Then { if C <= EntryPrice-dnpyra검증1 and MaxContracts < 하락N1 Then sell("ss1",AtStop,LatestEntryPrice(0)-하락Pyra1); }
프로필 이미지
목마와숙녀
2021-12-16
1004
글번호 152445
시스템
답변완료

간략한 수식 부탁 드립니다.

안녕하세요. 아래 수식은 부탁드려서 작성해주신 수식을 간략하게 바꾼 수식입니다. DiPlus와 DiMinus 함수를 사용하고 싶습니다. 그런데 DiPlus와 DiMinus의 결과 값을 Heikin Ash 차트의 형태에 대한 결과값으로 적용하고 싶습니다. 게시판에 보면 Heikin Ash의 시, 고, 저, 종 값을 구하는 식이 나와있는데, DiPlus와 DiMinus 함수를 구성하는 식을 알아야 Heikin Ash의 시,고, 저, 종 값을 적용할 수 있을 것 같습니다. 감사합니다.
프로필 이미지
밤의마법사
2021-09-24
974
글번호 152443
사용자 함수
답변완료

수식 좀 요청 드립니다.

* 항상 많은 도움에 고맙습니다. * 요청 사항 - 100틱 차트에서 스톡캐스터 crossup(StoK , 80) 이면 매수 - 300틱 차트에서 스톡케스터 crossdown(StoK , 50) 이면 청산 매매로직좀 부탁 드립니다. ## 아래 수식 Input : Period(10), Period1(3), Period2(3); var1 = StochasticsK(Period,Period1); var2 = StochasticsD(Period,Period1,Period2); if var1 > var1[1] then plot1(var1,"K",red); else plot1(var1,"K",blue); if var2 > var2[1] then plot2(var2,"D",red); else plot2(var2,"D",blue); PlotBaseLine1(20, "기준선1",black); PlotBaseLine2(80, "기준선2",black); * 좋은 주말 되십시요.
프로필 이미지
요타
2021-09-24
889
글번호 152439
시스템
답변완료

궁금한점이 있어 요청드립니다.

안녕하세요 항상감사드립니다. 지난번에 요청드린 시스템식에서 좀더 필요한조건이 있는데.. 수식작성이 어려워 요청드립니다. 아래의 기존식에서 1차 매수후 1타점 익절, 2타점 익절 , 마지막 3타점 익절이 남았는데 3타점 익절이 오기전에 하락하게 되면 2차매수가 진행되도록 수식이 짜여져 있습니다. 여기서 2타점 익절후에 하락하더라도 2차매수가 진행 안되도록 수식을 수정하고 싶습니다. (참고로 1타점 익절 후에는 하락해도 기존식과 동일하게 2차매수가 진행) 부탁드립니다. ------------------------------------------------- 1 input : 타점1(5000),타점2(4500),타점3(4000),타점4(3500),타점5(3000); input : 투자금액1(1000000),투자금액2(2000000); var : entry(False),HH(0); if Bdate != Bdate[1] Then { entry = true; #5개의 타점중 시가보다 작은것 중에 젤 큰값 계산 HH = 0; if 타점1 < DayOpen and 타점1 > HH Then HH = 타점1; if 타점2 < DayOpen and 타점2 > HH Then HH = 타점2; if 타점3 < DayOpen and 타점3 > HH Then HH = 타점3; if 타점4 < DayOpen and 타점4 > HH Then HH = 타점4; if 타점5 < DayOpen and 타점5 > HH Then HH = 타점5; } if TotalTrades > TotalTrades[1] Then entry = False; if MarketPosition == 0 and HH > 0 and DayOpen > HH and sTime < 130000 and entry == 0 Then { Buy("1차매수",AtLimit,HH,Floor(투자금액1/min(NextBarOpen,HH))); } if MarketPosition == 1 and DayOpen > HH Then { Buy("2차매수.",AtLimit,HH*0.98,Floor(투자금액2/min(NextBarOpen,타점1*0.98))); } if MarketPosition == 1 Then { if MaxEntries == 1 Then { ExitLong("1차익절1",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.3)); ExitLong("1차익절2",AtLimit,avgEntryPrice*1.03,"",Floor(MaxContracts*0.4)); ExitLong("1차익절3",AtLimit,avgEntryPrice*1.04); } if MaxEntries == 2 Then { ExitLong("2차익절1",AtLimit,avgEntryPrice*1.01,"",Floor(MaxContracts*0.3)); ExitLong("2차익절2",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.4)); ExitLong("2차익절3",AtLimit,avgEntryPrice*1.03); } ExitLong("손절",AtStop,avgEntryPrice*0.97); } SetStopEndofday(151800); ----------------------------------------------------
프로필 이미지
맴맴잉
2021-09-24
917
글번호 152438
시스템
답변완료

기존 수식에서 특정일에 전량 보유 수량 청산하는 수식을 추가하는 방법 알려주세요

만기일 몇시간전에 보유 수량 전량 청산하는 수식을 추가하고 싶어요~~ 2021년 12월 15일 오후 11시 30분 30초에 보유 수량 전량 청산 하는 수식입니다. 궁금한점 : 만약 알려주신 수식으로 할경우 봉완성시 청산인가요? 아니면 해당 시간에 맞추어 청산인가요? 기존 수식 해외선물 나스닥 60분봉 input : 범위봉수(400); input : 매수진입이격(1.000); input : 추가진입하락폭(0.985); Input : 수익청산틱수(225); Input : 손실청산틱수(150); input : 일봉우상향일수(1); var : Bcnt(0),Scnt(0); var : mav(0,Data2); mav = Data2(ma(C,일봉우상향일수)); if bdate != Bdate[1] Then { Bcnt = 0; Scnt = 0; } if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then Bcnt = Bcnt+1; if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then Scnt = Scnt+1; if MarketPosition <= 0 and Bcnt < 1 and mav > mav[1] Then Buy("b",AtLimit,Lowest(L,범위봉수)*매수진입이격); if MarketPosition == 1 then { if MaxEntries == 1 then # 85 buy("b2",AtLimit,LatestEntryPrice(0)*추가진입하락폭,1); if MaxEntries == 2 then # 80 buy("b3",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.015),1); if MaxEntries == 3 then # 75 buy("b4",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.03),1); if MaxEntries == 4 then # 70 buy("b5",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.045),1); if MaxEntries == 5 then # 65 buy("b6",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.06),1); if MaxEntries == 6 then # 85 buy("b7",AtLimit,LatestEntryPrice(0)*추가진입하락폭-0.075,1); if MaxEntries == 7 then # 80 buy("b8",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.09),1); if MaxEntries == 8 then # 75 buy("b9",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.1),1); if MaxEntries == 9 then # 70 buy("b10",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.11),1); if MaxEntries == 10 then # 65 buy("b11",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.12),1); if MaxEntries == 11 then # 80 buy("b12",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.13),1); if MaxEntries == 12 then # 75 buy("b13",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.14),1); if MaxEntries == 13 then # 70 buy("b14",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.15),1); if MaxEntries == 14 then # 65 buy("b15",AtLimit,LatestEntryPrice(0)*(추가진입하락폭-0.16),1); } SetStopProfitTarget(PriceScale*수익청산틱수,PointStop); SetStopLoss(PriceScale*손실청산틱수,PointStop);
프로필 이미지
이형지
2021-09-24
949
글번호 152437
시스템
답변완료

문의합니다

수고 많으십니다 아래지표수식을 실선이 아니라 점선으로 나타나게 할수 있는지요? 감사합니다 var : mav1(0),mav2(0),TL(0); mav1 = ma(c,10); mav2 = ma(c,60); plot1(mav1); plot2(mav2); if crossup(mav1,mav2) Then{ TL = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL,RED); } if CrossDown(mav1,mav2) Then{ TL = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL,blue); }
프로필 이미지
gopang
2021-09-24
1350
글번호 152436
지표
답변완료

수식 작성 문의드립니다.

손절 후 3개 봉 이내에는 (기존 조건이 충족되지 않아도) 새로운 조건 만족시 재진입하게 하려고 합니다. 예)새 조건: 손절 발생 시 손절 발생한 봉 포함 3개봉 이내에 3개 봉의 저가들 중 두번째로 낮은 값이 손절한 가격보다 높으면 매수진입
프로필 이미지
미소7
2021-09-24
1102
글번호 152434
시스템
답변완료

문의드립니다

시스템식 문의드립니다 500틱 900틱 같은 긴 틱봉에서 양봉음봉 조건 만족후 매수매도 진입 이후에 봉 완성이 안되어도 30초 ,60초 경과되었다면 강제청산하는 식을 만들고싶습니다 (아래글에서 불가능답변확인) 봉완성시를 만족하기위해 차트1 10틱차트 차트2 900틱 차트 로 하고 차트2 양봉/음봉 조건 만족후 매수매도 진입 이후 30초 ,60초 경과되었다면 강제청산하는 식을 만들고싶습니다
프로필 이미지
파인애플
2021-09-24
830
글번호 152430
시스템