커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2022-07-15
33
글번호 160763
지표
답변완료

수식 부탁드립니다.

더운데 고생 많으십니다. 1.아래 수식에 당일손절(800) 추가 해 주세요. 2.전일 마지막신호가 매수였다면, 당일 시작과 동시에 매수진입이 될수 있게 해 주세요. 3.같은 수식을 이베스트하고 nh선물에 적용하면 거래선이 틀리던데, 왜 그럴까요? ================================================================================ Input:전환비율(5); input : StartTime(070000),EndTime(060000); Input :익절(500),손절(200),당일수익(900); Var : N1(0),dayPl(0),Tcond(false),Xcond(false); Var : j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""); var : TL1(0),Text1(0),ADXV1(0),tl2(0),tl3(0),tx2(0),tx3(0),t(0); Array:고[10,4](0),저[10,4](0); if V == highest(V,120) Then var5 = (C+H+L)/3; #120거래선# if V == highest(V,360) Then var12 = (C+H+L)/3; #360거래선# HH = H; LL = L; If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1] * (1 + (전환비율/100)) < HH and hiBar == 0; Condition2 = 고[1,1] * (1 - (전환비율/100)) > LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then // 고점과 저점 조건 동시 만족 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; If 최종꼭지점 == "저점" Then { TL_SetEnd(TL2,저[1,3],저[1,4],고[1,1]* (1 - (전환비율/100)) ); Text_SetLocation(TX2,저[1,3],저[1,4],고[1,1]* (1 - (전환비율/100)) ); For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); TL2 = TL_New(고[1,3],고[1,4],고[1,1]*(1-(전환비율/100)) ,NextBarSdate,NextBarStime,고[1,1]*(1-(전환비율/100)) ); TL_SetColor(TL2,Cyan); TL_SetStyle(TL2,3); Tx2 = Text_New(NextBarSdate,NextBarStime,고[1,1]*(1-(전환비율/100)),NumToStr(고[1,1]*(1-(전환비율/100)),2)); Text_SetColor(Tx2,Cyan); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); TL_SetBegin(TL2,고[1,3],고[1,4],고[1,1]* (1-(전환비율/100)) ); Text_SetString(TX2,NumToStr(고[1,1]*(1-(전환비율/100)),2)); } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { t = -1; If 최종꼭지점 == "고점" Then { TL_SetEnd(TL3,고[1,3],고[1,4],저[1,1]* (1 + (전환비율/100)) ); Text_SetLocation(TX3,고[1,3],고[1,4],저[1,1]* (1 + (전환비율/100)) ); For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); TL3 = TL_New(저[1,3],저[1,4],저[1,1]* (1 + (전환비율/100)) ,NextBarSdate,NextBarStime,저[1,1]* (1 + (전환비율/100)) ); TL_SetColor(TL3,Magenta); TL_SetStyle(TL3,3); TX3 = Text_New(NextBarSdate,NextBarStime,저[1,1]*(1+(전환비율/100)),NumToStr(저[1,1]*(1+(전환비율/100)),2)); Text_SetColor(TX3,Magenta); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); TL_SetBegin(TL3,저[1,3],저[1,4],저[1,1]* (1 + (전환비율/100)) ); Text_SetString(TX3,NumToStr(저[1,1]*(1+(전환비율/100)),2)); } 최종꼭지점 = "저점"; } TL_SetEnd(TL2,NextBarSdate,NextBarStime,고[1,1]* (1 - (전환비율/100)) ); Text_SetLocation(TX2,NextBarSdate,NextBarStime,고[1,1]* (1 - (전환비율/100)) ); TL_SetEnd(TL3,NextBarSdate,NextBarStime,저[1,1]* (1 + (전환비율/100)) ); Text_SetLocation(TX3,NextBarSdate,NextBarStime,저[1,1]* (1 + (전환비율/100)) ); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if Bdate != Bdate[1] Then { Tcond = true; Xcond = false; N1 = NetProfit; IF Endtime <= starttime Then { SetStopEndofday(0); } } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; } if Tcond == true and Xcond == false then { if MarketPosition >= 0 and T == 1 and L > 고[1,1]* (1 - (전환비율/100)) and Var5<var12 Then Sell("s",AtStop,고[1,1]* (1 - (전환비율/100))); if MarketPosition <= 0 and T == -1 and H < 저[1,1]* (1 + (전환비율/100)) and Var5>var12 Then Buy("b",AtStop,저[1,1]* (1 + (전환비율/100))); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } /**********************************************************************/ if MarketPosition == 1 and Var5<Var12 Then exitlong("eB_b120"); if MarketPosition == -1 and Var5>Var12 Then ExitShort("eS_s120"); /* if MarketPosition == 1 and T == 1 and L > 고[1,1]* (1 - (전환비율/100)) Then ExitLong("eb_1",AtStop,고[1,1]* (1 - (전환비율/100))); if MarketPosition == -1 and T == -1 and H < 저[1,1]* (1 + (전환비율/100)) Then ExitShort("es_1",AtStop,저[1,1]* (1 + (전환비율/100))); */ SetStopProfittarget(익절,PointStop); SetStopLoss(손절,PointStop);
프로필 이미지
제이디1
2022-07-15
1203
글번호 160759
시스템
답변완료

함수요청

추가적으로 질문드립니다. 아래글번호 78065번 재질문입니다. 시스템 A와 시스템 B를 각각 동시에 돌린 것과 시스템 C 한개를 돌린 것과 신호와 손익이 같도록 작성 요청드리되 시스템 A의 강제청산 시간(15시)과 시스템 B의 강제청산 시간(15시 15분)을 달리하고자 합니다. (시스템 A = 글번호 77970번에서 작성주신 스크립트 : 15시 포지션 강제청산) (시스템 B = 글번호 77955번에서 작성주신 스크립트 : 15시 15분 포지션 강제청산) /시스템 A var : T(0),S(0),mav(0); mav = ma(c,20); if Bdate != Bdate[1] Then { T = 0; S = 0; if L[1] > mav[1] and H < mav Then Sell("s",AtMarket); if H[1] < mav[1] and L > mav Then Buy("b",AtMarket); } if MarketPosition == -1 Then { if CrossUp(c,mav) Then ExitShort("sx",AtMarket); if L < DayLow(0)[1] and L[1] != DayLow(0)[1] Then { var1 = var1+1; if var1 == 3 Then ExitShort("sx1"); } } Else var1 = 0; if MarketPosition == 1 Then { if CrossDown(c,mav) Then ExitLong("bx",AtMarket); if H > DayHigh(0)[1] and H[1] != DayHigh(0)[1] Then { var2 = var2+1; if var2 == 3 Then ExitLong("bx1"); } } Else Var2 = 0; SetStopEndofday(150000); /시스템B var : T(0),S(0),mav(0); mav = ma(c,20); if Bdate != Bdate[1] Then { T = 0; S = 0; if L > mav Then T = -1; if H < mav Then T = 1; } if T == -1 and CrossDown(C,mav) Then { S = S+1; if S == 2 Then Sell(); } if T == 1 and CrossUp(C,mav) Then { S = S+1; if S == 2 Then Buy(); } if MarketPosition == 1 and Bdate == Bdate[1] and C < DayLow(0)[1] Then ExitLong("bx",AtMarket); if MarketPosition == -1 and Bdate == Bdate[1] and C > DayHigh(0)[1] Then ExitShort("sx",AtMarket); SetStopEndofday(151500);
프로필 이미지
흰둥이아빠
2022-07-15
1287
글번호 160758
시스템
답변완료

수식 문의 드립니다.

노고가 많으십니다. 일봉 거래식 입니다 매수 : 5이평선 상향시 즉시 매수 매도 : 5이평선 하향시 즉시 매도 매도 : 당일 최고점 대비 5% 하향시 즉시 매도 매도 : 음봉시 즉시 매도
프로필 이미지
회원
2022-07-15
1240
글번호 160757
시스템
답변완료

문의합니다

안녕하세요 이전 4개의 봉이 연속 양봉일 때 진입하지 않는다 부탁드려요 (조건식을 만들어서 해봤는데 잘 안먹혀서 간단한 건데 문의합니다^^)
프로필 이미지
검은약
2022-07-14
1407
글번호 160756
시스템
답변완료

78093 답변 확인 부탁합니다

<질문> 가장 낮은 양봉 고가와 두번째로 낮은 양봉 종가를 표시한다 가장 높은 음봉 저가와 두번째로 높은 음봉 종가를 표시한다 <답변> 가장 낮은 양봉 고가와 두번째로 낮은 양봉 고가를 표시 가장 높은 음봉 저가와 두번째로 높은 음봉 저가를 표시 확인 부탁드립니다 감사합니다 --------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. if C > O Then { var1 = H; Var2 = C; } Else { var1 = 99999999; var2 = 99999999; } if C < O Then { Var3 = L; Var4 = C; } Else { Var3 = 0; Var4 = 0; } value1 = NthLowest(1,Var1,8); value2 = NthLowest(2,Var2,8); value3 = NthHighest(1,Var3,8); value4 = NthHighest(2,Var4,8); if value1 < 99999999 Then Plot1(value1); Else NoPlot(1); if value2 < 99999999 Then Plot2(value2); Else NoPlot(2); if value3 > 0 Then Plot3(value3); Else NoPlot(3); if value4 > 0 Then Plot4(value4); Else NoPlot(4); 즐거운 하루되세요 > uuppaa 님이 쓴 글입니다. > 제목 : 지표 질문입니다 > 최근 8캔들 가운데 가장 낮은 양봉 고가와 두번째로 낮은 양봉 종가를 표시한다 가장 높은 음봉 저가와 두번째로 높은 음봉 종가를 표시한다 감사합니다
프로필 이미지
회원
2022-07-14
1519
글번호 160755
지표
답변완료

종목검색

종목검색 부탁드립니다. 키움증권만 쓰다가 예스트레이더는 처음입니다.잘 부탁드립니다. '단순 3 이평선이 피봇중심선을 돌파'하는 종목을 검색해보고 싶습니다. 감사합니다
프로필 이미지
심기일전
2022-07-14
1594
글번호 160754
종목검색
답변완료

추가 문의드립니다.

수고많으십니다. 또한 친절한 답변에 감사드립니다. 답변 주신 내용은 아래 수식입니다. 아래 수식은 "◆"이 고정되어 있는데요. 한개의 봉이 완성될 때 마다 그때 그때 구분될 수 있게 하려고 합니다. 어떤 수식을 수정이나 추가해야 하나요? 1. 직전 완성봉이 완성될 때(직전 봉 종가 완성 또는 다음 봉 시가 시작할 때) 마다 "◆"의 색깔을 White, Green 로 지정해서 교대로 나오게 하는 수식 부탁드립니다. 2. 또는 화살표 진입 신호처럼 봉이 완성될 때마다 2-3 차례 점등되는 수식 부탁드립니다. 감사합니다. var : tx1(0),tx2(0); #직전완성봉 Text_Delete(tx1); tx1 = Text_New(sdate,stime,H+PriceScale*5,"◆"); text_setStyle(tx1,2,1); text_setcolor(tx1,White); text_setsize(tx1,10); #현재 미완성봉 Text_Delete(tx2); tx2 = Text_New(NextBarSdate,NextBarStime,H+PriceScale*5,"◆"); text_setStyle(tx2,2,1); text_setcolor(tx2, Yellow); text_setsize(tx2,10);
프로필 이미지
jesten77
2022-07-15
1484
글번호 160753
강조
답변완료

수식 문의 드립니다. 매도후 재진입

안녕하세요 국내주식입니다 ex) 매도후 재진입인데요. 5프로 상승후 2프로 하락하면 매수(2개) 를 할려고 하는데요 수식 문의 드립니다
프로필 이미지
강물처름
2022-07-14
1226
글번호 160752
시스템