커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의드립니다!

항상 수고해주심에 너무 감사드립니다 아래"수식1"을 적용시 4개의 선이 발생되는데요 아침에 장이 시작되면 캔들의 움직임에 따라서 이 선들이 위아래로 이동을 합니다 * 그림에서 캔들 위아래의 빨간선을 기준으로 문의 드립니다 (Plot1, Plot2 선입니다) 캔들의 하방이동에 의거 그림의 1과 2사이의 구간에서는 선도 같이 하방으로 이동을 합니다 * 이런 패턴이 반복되며 이선이 계속 하방이동되는 경우도 자주 있습니다 헌데 이후 3번 캔들이 완성시에는 이선을 그대로 하방 돌파하고 이후 이선은 장이 끝날때까지 캔들의 움직임과 상관없이 이 가격선을 그대로 유지합니다 즉, 2번자리에서 이선이 고정되었다는것을 알수있습니다 1, 이렇게 선이 캔들의 이동에의거 같이 이동하는 경우와 돌파하는 경우로 나뉘는것은 어떤 원리에의한것인지요? 2, 이 2번자리가 선의 고정자리라는것을 2번캔들이나 그다음 캔들이 완성시 알수있는 방법은 없을까요? 3, 만약 위 2번 내용이 가능하다면 이자리에 세로선과 알람신호가 발생되는 수식도 가능할런지요? * 물론 위아래 2개의 빨간선이 모두 해당이 되겠죠 가능한 알기쉽게 자세한 설명 부탁드립니다 4, 아래 "수식2"에서 음성신호가 발생되도록 수정 부탁드립니다 매번 도움주심에 항상 감사드립니다!!! ------------------------------------------------------------------------------- ( 수식 1) if sTime < 93000 Then { var1 = DayHigh; Var2 = DayLow; Var3 = (var1-Var2); } Plot1(var1); Plot2(var2); Plot3(var1+Var3); Plot4(var2-Var3); (수식 2) var : tl1(0,data1),tl24(0,data1); if CrossDown(data1(L),data2(H)) or Crossup(data1(h),data2(L)) Then { tl1 = TL_New(sdate,stime,9999999,sdate,stime,0); TL_SetColor(tl1,YELLOw); TL_SetSize(tl1,4); }
프로필 이미지
유로파54
2021-01-28
994
글번호 145885
지표
답변완료

간단한 지표식 부탁드립니다.

data1, 2, 3에 각각 1분봉, 일봉, 1시간봉이 들어있습니다. 1) data3을 이용해서, 각 봉(즉 1시간 동안의)의 고가-저가를 구합니다. 2) 1)의 값을 1일 평균값으로 구합니다. 즉, 하루에 7개의 1시간 봉이 존재하므로 7개 봉의 고가-저가를 모두 더한 후 7로 나누어줍니다. => 이것을 일중변동성이라고 가정합니다. 3) 이 일중변동성의 30거래일 이평선을 지표식으로 구하고 싶습니다. 감사합니다
프로필 이미지
중박주식
2021-01-28
769
글번호 145884
지표
답변완료

문의 드립니다

실행시키자마자 '한 번만' 현재가에 100주를 매수하고 그 뒤로는 비교식에 의해 매수, 매도하려면 어떻게 해야하나요?
프로필 이미지
joey
2021-01-27
738
글번호 145883
시스템
답변완료

키움신호를 종목검색식으로 변환 부탁드립니다.

안녕하세요. 키움에서 사용중인 신호수식인데 예스랭귀지 종목검색식으로 변환 부탁드립니다. 미리 감사드립니다. M=MACD(200,400)-eavg(MACD(200,400),9); A=(if(eavg(c,20)>eavg(c,20,1)*(1.003),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(1.003),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(1.003),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(1.003),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(1.003),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(1.003),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(1.003),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(1.003),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(1.003),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(1.003),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(1.003),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(1.003),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(1.003),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(1.003),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(1.003),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(1.003),1,0))/16*100; B=(if(eavg(c,20)>eavg(c,20,1)*(0.997),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(0.997),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(0.997),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(0.997),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(0.997),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(0.997),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(0.997),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(0.997),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(0.997),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(0.997),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(0.997),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(0.997),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(0.997),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(0.997),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(0.997),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(0.997),1,0))/16*100; Y=(if(eavg(c,20)>eavg(c,20,1)*(1.0005),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(1.0005),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(1.0005),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(1.0005),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(1.0005),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(1.0005),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(1.0005),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(1.0005),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(1.0005),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(1.0005),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(1.0005),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(1.0005),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(1.0005),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(1.0005),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(1.0005),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(1.0005),1,0))/16*100; Z=(if(eavg(c,20)>eavg(c,20,1)*(0.99995),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(0.99995),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(0.99995),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(0.99995),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(0.99995),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(0.99995),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(0.99995),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(0.99995),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(0.99995),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(0.99995),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(0.99995),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(0.99995),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(0.99995),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(0.99995),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(0.99995),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(0.99995),1,0))/16*100; D1=dema(A,5); T1=tema(A,5); F1=eavg(tema(A,5),5); D2=dema(B,5); T2=tema(B,5); F2=eavg(tema(B,5),5); D3=dema(Y,5); T3=tema(Y,5); F3=eavg(tema(Y,5),5); D4=dema(Z,5); T4=tema(Z,5); F4=eavg(tema(Z,5),5); E1=countsince(M>0 and crossup(D3, max(T3,F3)), C>ma(c,5,단순) and C>O); E2=countsince(M<0 and max(D3,T3,F3)==D3 and ((crossup(D3,50) and max(D4,T4,F4)<50) or (crossdown(max(D4,T4,F4),50) and D3>50)),C>ma(c,5,단순) and C>O); M>0 and c>ma(c,60) and max(D1,T1,F1)==D1 and max(D2,T2,F2)==F2 and BiWave(20,12,5,3)>0 and HIGH - eavg(C,15)>0 and Stochasticsslow(12,26)-eavg(Stochasticsslow(12,26),5)>0 and ( crossup(M,0) or crossup(c,ma(c,60)) or crossup(D1,max(T1,F1)) or crossup(F2,max(D2,F2)) or crossup(BiWave(20,12,5,3),0) or crossup(HIGH,eavg(c,15)) or crossup(Stochasticsslow(12,26),eavg(Stochasticsslow(12,26),5)) ) and ( if(max(T3,F3)>D3,0,if(E1(1)==1,0,E1==1)) or if(max(T3,F3)>D3,0,if(E2(1)==1,0,E2==1)) )
프로필 이미지
브라이안
2021-01-27
1316
글번호 145882
종목검색
답변완료

분봉의 중심선 긋기

항상 도움주심에 감사합니다^^ 시간봉(60분봉)의 분봉 중심값을 차트에 라인과 텍스트를 표시하고 싶습니다. 제가 지금 사용하는 지표는 아래와 같은데 라인이 이전봉 뒤로 선이 길게 표시되는데 직전봉의 중심값에서 부터 우측으로 표시되게하고 차트 여백에 텍스트로 수치를 표시 할 수 있으면 좋겠습니다. 1.라인과 수치 표시 2.150틱 이상만 표시되게(시가와 종가의 틱수가 150틱 미만일때는 이전 150틱에 표시) 3.시가와 종가의 중간에 표시(고가와 저가는 카운팅 제외), 텍스트 표시는 작게 input : N(150); if Bdate != Bdate[1] Then{ TL_Delete(var4); var1 = sdate[1]; var2 = stime[1]; } if abs(C-O) >= PriceScale*N Then{ var3 = (C+O)/2; TL_Delete(var4); var4 = TL_New(var1,var2,var3,sdate,stime,var3); TL_SetExtRight(var4,true); }
프로필 이미지
체리피커
2021-01-27
1299
글번호 145881
지표
답변완료

예스트레이더코인 수식작성문의

예스트레이더 코인 수식작성 문의 드립니다. 예스트레이더에서 정상 작동 되는데 코인에서는 오류 뜨더라고요 수식 수정좀 부탁드리겠습니다. 매수 조건 : 이동평균선 120 이동평균선 골드크로스 상태에서 + Aroon 10 매수 신호 발생시 매수 매도 조건 : 이동평균 120 이동평균선 데드크로스, 또는 Aroon 10 매도 신호발생 둘중 먼저 매도 신호가 발생하면 매도 수식추가 부탁드리겠습니다. 감사드립니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식작성문의 > 안녕하세요 예스스탁입니다. input : P(120),Period(10); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; var : mav(0); mav = ma(C,120); Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if c > mav Then { if crossup(UpAroon,DnAroon) Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) Then sell("Aroon_SE"); }
프로필 이미지
xspell
2021-01-27
1129
글번호 145880
사용자 함수
답변완료

성능보고서 문의

안녕하세요? 이제 예스랭귀지 공부를 시작하려고 각종 샘플을 따라하고있습니다. 그런데 시스템 샘플을 차트에 적용하고 성능보고서를 보면 매수진입/청산시 청산과 동시에 매도진입이 이루어 지고, 매도청산시 매수진입이 동시에 실행되고 계속 이렇게 거래가 진행되는데 샘플 시스템의 로직설명은 그렇지가 않습니다. 성능보고서 한개를 첨부합니다. 상세한 설명 부탁드리겠습니다. 감사합니다.
프로필 이미지
시골아빠
2021-01-27
854
글번호 145879
시스템
답변완료

주식선물 1분봉 데이터 다운로드

모든 개별 주식선물 종목의 최대 조회가 가능한 1분봉 데이터(open,high,low,close)를 다운 받으려하는데 print("C:UsersUserDesktodata.csv","시가,%.2f,고가,%.2f,저가,%.2f,종가,%.2f,거래량,%.0f", open,high,low,close,v); 여기서 저장 파일이름을 해당종목으로 되게끔 코딩이 가능한지 궁금합니다. 혹은 일일이 종목을 열어서 지표적용을 하지않고 모든종목의 데이터를 한번에 받을 수 있는 코딩이 되는지도 궁금합니다.
프로필 이미지
quantk
2021-01-27
1425
글번호 145877
사용자 함수

브라이안 님에 의해서 삭제되었습니다.

프로필 이미지
브라이안
2021-01-27
0
글번호 145876
종목검색
답변완료

수식부탁드립니다

안녕하세요 아래수식을 이용해서 첨부그림의 내용으로 수식을 수정부탁드립니다 # 지 표 명 : 고저라인 지그재그 파동선 # 버 전 : 1.2 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me # 업데이트 : 2017-03-10 #==========================================# Input:length(2),종가사용여부(0),파동선두께(5),수치표시수(1); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),Text2(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; 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 { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시수 == 1 Then { Text2 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text2, 2, 1); Text_SetColor(Text2,RED); Text_SetSize(Text2, 20); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLACK); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시수 == 1 Then { Text_SetLocation(Text2,고[1,3],고[1,4],고[1,1]); Text_SetString(Text2,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시수 == 1 Then { Text2 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text2, 2, 0); Text_SetColor(Text2,BLACK); Text_SetSize(Text2, 20); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLACK); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시수 == 1 Then { Text_SetLocation(Text2,저[1,3],저[1,4],저[1,1]); Text_SetString(Text2,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; }
프로필 이미지
bestkim
2021-01-27
1183
글번호 145875
지표