커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 수정 부탁드립니다

###,57639 답변에서 다른각도로 재질문입니다. ㅡ,참조 수식에서 피봇등분선 출력시점만 조정하는걸로 대신합니다. ㅡ,이전에 상승파동선이나 하락파동선에 출력된 피봇등분선을 저장한후 이후 현재가가 이전에 저장된 피봇등분선의 23.6%선을 터치하거나 또는 고점,저점을 갱신할때만 피봇등분선을 출력하고 그렇지 않으면 피봇등분선을 출력하지 않고 이전 피봇등분선이 그대로 유지되는걸 로 수정 부탁드립니다 (제가 원하는 의도는 잔파동에도 피봇선이 출력되니까 캔들이 가려져서 장판단이 어려워서 요청드립니다) $$$,매번 고맙습니다.
프로필 이미지
회원
2018-05-01
235
글번호 118609
지표
답변완료

틱챠트에 분봉이평선 표시하는 수식

안녕하세요 1. 해외선물 틱챠트에 60분봉 ema(23) ema(115) 를 표현할 수 있는 수식을 부탁드립니다. 2. ①EUREX 개장시간의 시가 ②CME 개장시간의 시가 를 틱챠트, 분챠트에 표시하는 수식을 부탁드립니다. 검색해서 해보려는데 잘 안되네요 감사합니다.
프로필 이미지
당일선물
2018-05-02
251
글번호 118608
지표
답변완료

피보나치 매매수식 수정 부탁드립니다.

아래에 첨부드리는 수식을 수정 요청드립니다. 수정사항 # 0.382를 딛거나 돌파시 1차 매수하여 0.236 도달시 1차 수익매도 # (0.236에 도달하지 못하고 하락시) 0.5에서 2차 매수하고 0.382 도달시 전량 2차 수익매도 # (0.382에 도달하지 못하고 하락시) 0.618에서 3차 매수하고 0.382 도달시 전량 3차 수익매도 # 0.382에 도달하지 못하고 하락시 0.5에서 1/3 매도, 0.618에서 1/3 매도, 0.7에서 1/3 매도 - 진입날짜 이전에 시그널이 발생하는 경우가 간혹 있습니다. 지정일 이후에만 매매가 발생하길 원합니다. - 아 래 - input : n(240); input : 지정일(20180426); var : 매수금액(3000000); var : hh(0),ll(0),rr(0),cnt(0); if DayHigh(n) > 0 and DayLow(n) > 0 then{ hh = dayhigh(1); ll = daylow(1); for cnt = 1 to n{ if dayhigh(cnt) > hh Then hh = DayHigh(cnt); if daylow(cnt) < ll Then ll = daylow(cnt); } rr = hh-ll; var1 = hh; var2 = hh - rr*0.382; var3 = hh - rr*0.500; var4 = hh - rr*0.618; var5 = ll; if crossup(c,var3) Then Buy("매수"); if MarketPosition == 1 and crossup(c,var2) Then ExitLong("수익"); if MarketPosition == 1 and CrossDown(c,var4) Then ExitLong("손절"); }
프로필 이미지
승부사1
2018-05-01
253
글번호 118607
시스템

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

프로필 이미지
jba
2018-04-30
24
글번호 118606
강조

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

프로필 이미지
jba
2018-04-30
0
글번호 118605
시스템

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

프로필 이미지
회원
2018-04-30
15
글번호 118604
지표
답변완료

문의드립니다.

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 밴드폭이 n개봉동안 n이하 이렇게 표현하면 될까요? 그리고 이게 진입봉의 경우 밴드폭이 늘어날텐데요. 전봉까지로 하려면 countif(BWidth < n,n개봉)[1] 이렇게 하면 되나요? Inputs: Period(20), D(2), Period2(9); Variables: BBTop(0), BBMid(0), BBBot(0),Bwidth(0),sig(0); BBTop = BollBandUp(Period,D); BBMid = ma(C,Period); BBBot = BollBandDown(Period,D); BWidth = ((BBTop - BBBot)/ BBMid)*10000; sig = ma(BWidth,Period2); countif(BWidth < n,n개봉) < 1
프로필 이미지
잡다백수
2018-04-30
187
글번호 118603
시스템
답변완료

수식부탁드립니다=========

1분차트로해놓고 조건이맞아도 소리가안나네요 부탁드립니다 (아래 교차간격에서는 소리가 정상적으로 납니다 ) var:신호비교봉(3),신호발생가격(1250),찬스라인(0.1),downn(0.99),LENGTH1(60),LENGTH2(10),비교봉(5),비교봉1(5),양합상승(1.008),양합하락(0.985),표시2(0); Input:라인폭(0),소리2(0),소리22(0),표시위치(0.7),최고저기준(10),교차간격(0.05),abs간격(2),susmss간격(3); INPUTS: LENGTH11(30),전봉차(0); Input : Periodtsf(30); Input : Periodt(30); VARS: TEMA11(0),susm22tem(0); var : sum2(0,data1),sum4(0,data1),sum6(0,data1),TEMA1atm2(0),TEMA1atm4(0),TEMA1atm6(0),ss(0); var : HH(0,data2),LL(0,data2),hl(0,data2),ii(0,data2);; var : crup(0),crdn(0),sum22(0),ccurnt(0),cgap(0),callgap(0),putgap(0),plemeumgap(0),chanline(0); var :linegi(0),data2yc(0),data3yc(0),hapyc(0),hapycrt(0),TEMA1hapycrt(0),crup96(0),data2opc(0),data3opc(0),datatoopp(0); var :susm22(0),sucrup(0),hhh(0),lll(0),hii(0),chanceline(0),pyungyc(0),pyungty(0); var :dataabs(0),dataabstem(0); sum2 = (data2(c)+data3(c)); sum22 =(data2(c)+data3(c))/2*250000; data2opc = data2(openD(0)); data3opc = data3(openD(0)); // if data2(dayindex+1 == 3) Then // data2opc = data2(c); // if data3(dayindex+1 == 3) Then // data3opc = data3(c); dataabs = abs(data2(c) - data3(c)); //************ susm22의 테마 ***************************************** dataabstem = (3 * Ema(dataabs,LENGTH11)) - (3 * Ema(Ema(dataabs,LENGTH11),LENGTH11)) + (Ema(Ema(Ema(dataabs,LENGTH11),LENGTH11),LENGTH11)); // Plot41(dataabstem,"abstemup",iff((dataabstem )>(dataabstem[1])+00,RED,iff((dataabstem )<(dataabstem[1] )-00,BLUE,BLACK))); //********************************************************* datatoopp = (data2opc + data3opc) / 2 *250000; susm22 = sum22 - datatoopp; data2yc = data2(closeD(1)); data3yc = data3(closeD(1)); pyungyc = ( data2yc + data3yc ) / 2 *250000; pyungty = pyungyc - datatoopp; if data2(bdate != bdate[1]) Then{ ii = 0; HHh = susm22; LlL = susm22; } else { ii = ii+1; if ii < 최고저기준 Then { if susm22 > hhh Then hhh = susm22; if susm22 < lll Then lll = susm22; } else{ hhh = data2(highest(susm22,최고저기준)); lll = data2(lowest(susm22,최고저기준)); } } hii = (hhh + lll)/2; //plot1(sum2,"양합"); PLOT3(sum22,"수정양합"); //hhh = hh - susm22; //lll = ll - susm22; //hii = (hhh + lll) / 2; plot21(HHh,"Data2 H" ); plot22(LLl,"Data2 L"); plot76(hii,"hii"); /* if ss<=0 and hii > hii[신호비교봉] + 신호발생가격 then { ss=1; PLOT24(0,"상승"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsound동시매수진입.wav"); } } if ss>=0 and hii < hii[신호비교봉] - 신호발생가격 then { ss=-1; PLOT25(0,"하락"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsound동시매도진입.wav"); } } */ /********************************************************************** if ss<=0 and tema1[1] < tema1 Then { ss=1; PLOT45((tema1 )-0.01,"매수"); // PlaySound("C:UsersAdministratorDesktop효과Bandi.wav"); } if ss>=0 and tema1[1] > tema1 Then { ss=-1; PLOT46((tema1 )-0.01,"매도"); //PlaySound("C:UsersAdministratorDesktop효과click08.wav"); } **********************************************************************/ TEMA1atm2 = (3 * Ema(sum22,LENGTH1)) - (3 * Ema(Ema(sum22,LENGTH1),LENGTH1)) + (Ema(Ema(Ema(sum22,LENGTH1),LENGTH1),LENGTH1)); plot5(TEMA1atm2,"태마2",iff((TEMA1atm2 )>(TEMA1atm2[1])+00,RED,iff((TEMA1atm2 )<(TEMA1atm2[1] )-00,BLUE,BLACK))); if ( Data2(c) > Data3(c)) and ( Data2(c) - Data3(c)) < 교차간격 Then{ crup = (Data2(c)+Data3(c))/2*250000; ccurnt = c; } if ( Data3(c) > Data2(c)) and ( Data3(c) - Data2(c)) < 교차간격 Then{ crup = (Data2(c)+Data3(c))/2*250000; ccurnt = c; } // PLOT31(crup,"교차라인"); if ( Data2(c) > Data3(c)) and ( Data2(c) - Data3(c)) < 교차간격 Then{ PLOT52(10000,"상승교차"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsounddd2.wav"); } } if ( Data3(c) > Data2(c)) and ( Data3(c) - Data2(c)) < 교차간격 Then{ PLOT53(10000,"하락교차"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsounddd2.wav"); } } if sTime == 090000 Then { plot59( 20000,"장시작" ); } // PLOT58(datatoopp ,"시가평균"); susm22 = sum22 - datatoopp; PLOT99(susm22 ,"시가대비평가"); //************ susm22의 테마 ***************************************** susm22tem = (3 * Ema(susm22,LENGTH11)) - (3 * Ema(Ema(susm22,LENGTH11),LENGTH11)) + (Ema(Ema(Ema(susm22,LENGTH11),LENGTH11),LENGTH11)); Plot75(susm22tem,"temup",iff((susm22tem )>(susm22tem[1])+00,RED,iff((susm22tem )<(susm22tem[1] )-00,BLUE,BLACK))); Plot91(susm22tem-라인폭,"susm22tem_1") ; Plot92(susm22tem+라인폭,"susm22tem_2") ; if susm22tem > susm22tem[1] and (NextBarSdate > sdate or (NextBarSdate == sdate and NextBarStime > stime)) Then{ plot93(susm22tem,"susmup"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsounddn3.wav"); } } if susm22tem < susm22tem[1] and (NextBarSdate > sdate or (NextBarSdate == sdate and NextBarStime > stime)) Then{ plot94(susm22tem,"susmdn"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsounddd5.wav"); } } /* if ss<=0 and susm22tem < susm22tem[susmss간격] then { ss=1; PLOT24(susm22,"매도진입"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsounddn3.wav"); } } if ss>=0 and susm22tem > susm22tem[susmss간격] then { ss=-1; PLOT25(susm22,"매수진입"); if 소리2 == 1 then { PlaySound("C:UsersAdministratorDesktopsounddd5.wav"); } } */ //********************************************************* plotbaseline1(0); /* plotbaseline2(-10000); plotbaseline3(-20000); plotbaseline4(-30000); plotbaseline5(-40000); plotbaseline6(10000); plotbaseline8(20000); plotbaseline9(30000); plotbaseline10(40000); */ sucrup = crup - datatoopp; PLOT62(sucrup,"수정교차라인"); // chanceline = datatoopp * 찬스라인; // PLOT63(chanceline,"찬스라인"); PLOT63(pyungty ,"전데이타평"); if 소리22 == 1 then { if CrossDown(susm22,-10000) or CrossUp(susm22,-10000) Then { plot64(susm22,"-10000"); PlaySound("C:UsersAdministratorDesktopsound마1w.wav"); } if CrossDown(susm22,-20000) or CrossUp(susm22,-20000) Then { plot65(susm22,"-20000"); PlaySound("C:UsersAdministratorDesktopsound마2w.wav"); } if CrossDown(susm22,-30000) or CrossUp(susm22,-30000) Then { plot66(susm22,"-30000"); PlaySound("C:UsersAdministratorDesktopsound마3w.wav"); } if CrossDown(susm22,-40000) or CrossUp(susm22,-40000) Then { plot67(susm22,"-40000"); PlaySound("C:UsersAdministratorDesktopsound마4w.wav"); } //*********************************+++++++++++++++++++++++++++++++++++++ if CrossDown(susm22,10000) or CrossUp(susm22,10000) Then { plot68(susm22,"10000"); PlaySound("C:UsersAdministratorDesktopsound프1w.wav"); } if CrossDown(susm22,20000) or CrossUp(susm22,20000) Then { plot69(susm22,"20000"); PlaySound("C:UsersAdministratorDesktopsound프2w.wav"); } if CrossDown(susm22,30000) or CrossUp(susm22,30000) Then { plot70(susm22,"30000"); PlaySound("C:UsersAdministratorDesktopsound프3w.wav"); } if CrossDown(susm22,40000) or CrossUp(susm22,40000) Then { plot71(susm22,"40000"); PlaySound("C:UsersAdministratorDesktopsound프4w.wav"); } } var : LRLv(0); LRLv = LRL(susm22,Periodt); Plot72(LRLv, "LRS_susm22"); var : TSF(0); TSF = LRL(susm22,Periodtsf)+LRS(susm22,Periodtsf); //Plot91(TSF-라인폭,"TSF_susm221") ; //Plot92(TSF+라인폭,"TSF_susm222") ; if susm22 > -5000 and susm22 <= 0 then plot83(tsf,"하1"); if susm22 > -10000 and susm22 <= -5000 then plot84(tsf,"하2"); if susm22 > -15000 and susm22 <= -10000 then plot85(tsf,"하3"); if susm22 > -20000 and susm22 <= -15000 then plot86(tsf,"하4"); if susm22 > -25000 and susm22 <= -20000 then plot87(tsf,"하5"); if susm22 > -30000 and susm22 <= -25000 then plot88(tsf,"하6"); if susm22 > -35000 and susm22 <= -30000 then plot89(tsf,"하7"); if susm22 > -40000 and susm22 <= -35000 then plot90(tsf,"하8");
프로필 이미지
leekss1
2018-05-01
320
글번호 118601
지표
답변완료

함수요청

안녕하세요? 60분봉상 크루드오일 전략을 작성하고 있습니다. 월봉상 MACD오실레이터가 월봉상 직전봉기준 0값 이상이면 A매수진입&청산전략을 0값 이하면 B매도진입&청산전략을 월봉상 직전봉기군 5ma>20ma이면 C매수진입&청산전략을 5ma<20ma면 D매도진입&청산전략을 사용하고 싶습니다. 함수 요청드립니다.
프로필 이미지
흰둥이아빠
2018-04-30
168
글번호 118599
시스템