커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식문의 드립니다

안녕하세요. 수고많으십니다. 아래1번의 if문에서 2번의 if문을 추가시켜 주세요. 부탁드립니다. 1. if var4 == 1 and C > H[1] or (C >= C[1]*1.01 and C > O) Then { Var4 = 2; Find(1); } 2.if Condition1 == true and CountIf(Condition1==true,10) >= 3 Then { Find(1); } 중요요점은 1번의 if문이 2번의 3회이상 만족 해야 검색이 된다라는 내용입니다. 항상 감사드립니다.. 즐거운 주말 되시기를 바랍니다.
프로필 이미지
하루삼프로
2024-06-21
798
글번호 180845
종목검색

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

프로필 이미지
회원
2024-06-21
265
글번호 180844
시스템
답변완료

피보나치 세로선

input : 전환포인트(0.8); Array : HD[10](0),HT[10](0),HV[10](0); Array : LD[10](0),LT[10](0),LV[10](0); var : cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0),Trend1(0),ZigZagTL(0),TX(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0),TL8(0); Plot1 (c); HPrice = H; LPrice = L; if Index == 0 or Bdate != Bdate[1] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; trend = 0; trend1 = 0; } Else { if Trend == 0 Then { if L < LV[0] Then { LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; } if H > HV[0] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; } } UpTrend = HPrice >= LV[0]+전환포인트; DownTrend = LPrice <= HV[0]-전환포인트; if trend <= 0 and UpTrend == true Then { trend = 1; trend1 = trend[1]; For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; TX = Text_New(HD[0],HT[0],HV[0],NumToStr(HV[0]-LV[0],2)+" "); Text_SetStyle(TX,1,1); Text_SetColor(TX,Black); Text_SetSize(tx,30); Text_SetBold(tx,1); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL1 = TL_New(LD[0],LT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL3 = TL_New(LD[0],LT[0],var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(LD[0],LT[0],var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(LD[0],LT[0],var5,NextBarSdate,NextBarStime,var5); TL7 = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(TL1,Magenta); TL_SetColor(TL3,Orange); TL_SetColor(TL4,Blue); TL_SetColor(TL5,Orange); TL_SetColor(TL7,Magenta); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { trend = -1; trend1 = trend[1]; For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; TX = Text_New(LD[0],LT[0],LV[0],NumToStr(HV[0]-LV[0],2)+" "); Text_SetStyle(TX,1,0); Text_SetColor(TX,Black); Text_SetSize(tx,30); Text_SetBold(tx,1); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL1 = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL3 = TL_New(HD[0],HT[0],var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(HD[0],HT[0],var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(HD[0],HT[0],var5,NextBarSdate,NextBarStime,var5); TL7 = TL_New(HD[0],HT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(TL1,Magenta); TL_SetColor(TL3,Orange); TL_SetColor(TL4,Blue); TL_SetColor(TL5,Orange); TL_SetColor(TL7,Magenta); } Else { if trend == 1 Then { if trend1 == 0 Then { LV[0] = DayLow; } if HPrice > HV[0] Then { HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; Text_SetLocation(TX,HD[0],HT[0],HV[0]); Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" "); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL_SetBegin(TL1,LD[0],LT[0],HV[0]); TL_SetBegin(TL3,LD[0],LT[0],Var3); TL_SetBegin(TL4,LD[0],LT[0],Var4); TL_SetBegin(TL5,LD[0],LT[0],Var5); TL_SetBegin(TL7,LD[0],LT[0],LV[0]); TL_SetEnd(TL1,Sdate,Stime,HV[0]); TL_SetEnd(TL3,Sdate,Stime,Var3); TL_SetEnd(TL4,Sdate,Stime,Var4); TL_SetEnd(TL5,Sdate,Stime,Var5); TL_SetEnd(TL7,Sdate,Stime,LV[0]); } } if trend == -1 Then { if trend1 == 0 Then { HV[0] = DayHigh; } if LPrice < LV[0] Then { LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; Text_SetLocation(TX,LD[0],LT[0],LV[0]); Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" "); var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100)); var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100)); var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100)); TL_SetBegin(TL1,HD[0],HT[0],HV[0]); TL_SetBegin(TL3,HD[0],HT[0],Var3); TL_SetBegin(TL4,HD[0],HT[0],Var4); TL_SetBegin(TL5,HD[0],HT[0],Var5); TL_SetBegin(TL7,HD[0],HT[0],LV[0]); TL_SetEnd(TL1,Sdate,Stime,HV[0]); TL_SetEnd(TL3,Sdate,Stime,Var3); TL_SetEnd(TL4,Sdate,Stime,Var4); TL_SetEnd(TL5,Sdate,Stime,Var5); TL_SetEnd(TL7,Sdate,Stime,LV[0]); } } } } 확장되어가는 피보나치선을 따라 같이 우측으로 이동하며, 피보나치선 우측 끝에 세로선. 감사합니다.
프로필 이미지
고성
2024-06-21
1118
글번호 180843
지표
답변완료

종목 검색식으로 변환 부탁드립니다.

키움신호를 종목검색식으로 변환 부탁드립니다. 감사합니다.. //cumulative volume VV=highest(V(1), period1); sumV=sum(V(1), period1); if(V>=VV and C>O, C*2, 0); count=barssince((V>=VV or V>=sumV*ratio) and C>O); count2=barssince(count>0 and count <20 and v<=eavg(v(1), 5)*ratio2 and c<=lowest(c(1), 5)); if(count2>0 and count2 <10 and C>highest(C(1), 5), 1, 0) 지표변수 midPeriod 26 Period 20 D1 2 period1 250
프로필 이미지
오말리
2024-06-21
873
글번호 180842
종목검색
답변완료

분할매수,분할매도 수식 요청드립니다

안녕하세요 수식 질문드립니다. 국내주식입니다! 매수는 전일종가 대비 -5%, -7%, -9% 하락때마다 각각 1천만원 매수(현재가) 매도조건은 (시장가) 평단가에서 당일저가 대비 +5%(전체의30%) +7%(잔량의50%), +9%(전량). 이렇게 수식을 작성하고 싶은데 수식 알려쥬시면 감사하겠습니다! 아, 차트는 15분봉차트에서 틀려고 하는데 문제없겠죠??
프로필 이미지
해선에이스
2024-06-21
991
글번호 180841
사용자 함수
답변완료

if then else 문법에라 부탁 드립니다.

아래의 사용자함수를 검증하면 아래와 같은 오류메세지 나옵니다. 부탁 드립니다. ㅇ 오류메세지 : 줄수(18), 열수(2)에 "문법에라, 잘못된 토큰 else" ㅇ 작성수식 : 함수명은 "데이짱_강남자리"입니다. input : 기간(Numeric),상승률(Numeric); var : 카운트(0),ii(0),hh(0),데이짱_조건(False); 카운트=0; hh=highest(c,기간); 데이짱_조건=(hh >= c*(1+상승률) and c[기간]>=c*(1+상승률)); if 데이짱_조건 Then { for ii=0 to 기간-1 { if c[ii] > c Then { 카운트=카운트 + 1; } 데이짱_강남자리=카운트; } Else {데이짱_강남자리=기간};
프로필 이미지
장병록
2024-06-21
3277
글번호 180840
사용자 함수
답변완료

날짜 지나면 자동 청산식

아래 수식에서 진입한 날짜를 기준으로 5일 이상이 지나면 바로 시장가로 청산되도록 수식 좀 변경 부탁합니다 시간까지 정확히 따질 필요없이 만약 5월1일에 진입했으면, 5일안에 목표수익이나 스탑이 되면 좋은데, 청산이 안되고 있다면 5월1일+5일 = 5월6일이 되면 바로 청산되도록 요청드립니다. input : shortPeriod(12),longPeriod(26),Period(9),스탑로스(5),목표수익(2); Var : MACD_value(0,Data1),MACDsig(0,Data1),BuySetup(False,Data1); #MACD 설정 MACD_value = data1(MACD(shortPeriod, longPeriod)); MACDsig = data1(ema(MACD_value,Period)); #일봉 RSI 설정 Input : Period2(14),과매수(70); var : dayRSI(0,data2); dayRSI = data2(RSI(Period2)); #매수포지션 진입=============================== if TotalTrades > TotalTrades[1] Then BuySetup = false; if dayRSI < 과매수 Then BuySetup = false; if MarketPosition == 0 and CrossUp(dayRSI,과매수) Then BuySetup = true ; # 매수진입 ================================ If MarketPosition == 0 and BuySetup == true and crossup(MACD_value,MACDsig) Then { BuySetup = False; Buy("매수"); } # 목표수익 SetStopProfittarget(목표수익,PercentStop); # 스탑로스 SetStopLoss(스탑로스,PercentStop);
프로필 이미지
뽄때
2024-06-20
801
글번호 180839
시스템

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

프로필 이미지
2wnwn
2024-06-20
21
글번호 180838
지표

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

프로필 이미지
teak
2024-06-20
20
글번호 180837
지표