커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의드립니다.

안녕하세요!! 항상 수고가 많으십니다^^ 감사드립니다. 몇 가지 질문 좀 드리겠습니다. 1. HH10 = (High[1] + High[2] + High[3] + High[4] + High[5] + High[6] + High[7] + High[8] + High[9] + High[10]) /10 ; TL_Delete(TL1); TL1 = TL_New(sDate,sTime,HH10,NextBarSdate,NextBarStime,HH10); TL_SetExtRight(TL1,True); TL_SetColor(TL1,Red); TL_SetSize(TL1,0); TL_SetStyle(TL1,3); Text_Delete(TX1); TX1 = Text_New(sDate,sTime,HH10,"가격"+NumToStr(HH10,2)); Text_SetStyle(TX1,0,1); Text_SetColor(TX1,Red); Text_SetSize(TX1,11); Text_SetBold(TX1,1); 위 수식에서 HH10 계산된 값과 TL1 우측가로선 값이 오차가 생기면서 다른 가격으로 그려지고 있습니다. HH10 값과 같은 수치로 그려지게 부탁드립니다. 2. A조건 만족시 A사운드 , B조건 만족시 B사운드 , C조건 만족시 C사운드 한가지 조건 만족시에는 사운드가 정상적으로 작동됩니다. 하지만 한번에 2가지 또는 3가지 조건이 동시에 만족시 사운드가 겹쳐지지 않고 랜덤으로 한가지 사운드만 출력되고 2번째 3번째 사운드는 나오지 않습니다. (프로그램이 중복사운드가 되지 않게 되는거 같습니다) 3가지 조건이 동시에 만족시 어쩔땐 A사운드 어쩔땐B사운드 어쩔땐 C사운드 랜덤으로 나옵니다. A B C 3가지 조건이 동시에 만족시 무조건 C사운드만 나오게 할 수 없을까요? 수식 순서변경 조건 변경 여러가지로 변경해보아도 동시에 조건이 만족할 때 사운드는 랜덤으로 나옵니다. 조건 동시만족시 우선순위 수식 사운드가 출력되게 할 수 있을까요? 3. 주로 크루드 오일을 매매 하고 있어서 수시 설정값들이 0.01 단위로 설정 되어 있는데 나스닥이나 S&P500 으로 종목 변경시 수식값을 자동으로 0.25 단위로 변경되게 할 수 있나요? 예) +0.03 이면 종목변경시 +0.75 변경 감사드립니다^^
프로필 이미지
올독
2023-03-21
1421
글번호 167355
지표
답변완료

전영업일 기준으로 한달간의 거래대금, 일주일의 거래대금 구하는 방식

1) 전일 기준으로 한달 전의 날짜, 일주일 전의 날짜를 알수있는 방법이 있을까요? (오늘의 한달전이 아니라 전 영업일의 한달전, 일주일전 입니다) 이게 가능하다면 2) 전일부터 한달전일까지의 주가의 합, 전일부터 일주일전일까지의 주가의 합을 알고싶습니다. 이해를 돕기위해 아래에 추가설명을 하자면 예를 들면 당일날짜가 2023-03-21 이면 전영업일(2023-03-20)의 / 한달전 : 2023-02-21 / 일주일전 : 2023-03-14 당일날짜가 2023-03-20 이면 전영업일(2023-03-19)의 / 한달전 : 2023-02-20 / 일주일전 : 2023-03-13 당일날짜가 2023-03-19 이면 전영업일(2023-03-18)의 / 한달전 : 2023-02-19 / 일주일전 : 2023-03-12 이런식으로 날짜를 구하고싶습니다. 한달의 영업일을 얼추 30일로 하는게 아니라 정확히 '전 영업일~전영업일의 한달 전'의 주가의 합(plot1), = (오늘이 21일이라면) 2023-03-20 종가부터 2023-02-21까지의 종가의 합 '전 영업일~전영업일의 일주일 전'의 주가의 합(plot2) = (오늘이 21일이라면) 2023-03-20 종가부터 2023-03-14까지의 종가의 합 값을 부탁드립니다.
프로필 이미지
퀀트드래곤
2023-03-21
1320
글번호 167354
지표
답변완료

수식요청드려요~

1. [종목검색식요청] 아래 수식은 전에 만들어주신 wave trend 라는 검색식 입니다. 기존엔 wt1 wt2 크로스되는 종목을 찾는거였는데요 이번엔 wt1-wt2 값이 연속 1봉,2봉,3봉 상승하는걸 찾고 싶습니다. (연속봉수 설정 변수를 알려주시면 됩니다.) [첨부]기존에 만들어주신 크로스 검색식 input : n1(5),n2(22); var : ap(0),esa(0),dd(0),ci(0),d(0); var : wt1(0),wt2(0); ap = (H+L+C)/3; esa = ema(ap, n1); d = ema(abs(ap - esa), n1); ci = (ap - esa) / (0.015 * d); wt1 = ema(ci,n2); wt2 = ma(wt1,4); if crossup(wt1,wt2) Then Find(1); ============================== 2.[지표요청] 만들고 싶은 지표는 Williams Alligator 입니다. 제가 설명이 부족할듯하여 간단하게 설명된 사이트 링크를 첨부합니다. 번거로우시겠지만 확인 부탁드립니다. 색상은 사이트랑 동일하게 해주세요 ^^; 입술(녹색) > 이빨(빨강) > 턱(파랑) https://www.ifcmarkets.com/ko/ntx-indicators/alligator 3.[종목검색식요청] 조건1. 2번의 Williams Alligator 지표 이평선이 정배열 이고 (입술(녹색) > 이빨(빨강) > 턱(파랑) 순서입니다.) 조건2. 종가가 입술(녹색) 보다 큰 종목 4.[종목검색식요청] 조건1. 10봉이내에 Williams Alligator 지표 이평선이 정배열로 바뀐 종목 (1봉전 역배열 0봉전 정배열 바뀐걸로 하면 종목수가 거의안나와서 그렇습니다.) 조건2. 정배열 전환시 종가가 입술(녹색) 보다 큰 종목 (5봉 이내도 하나 해주세요. 너무많이 나올까봐요 ^^) 도움에 감사드리고 항상 좋은일만 있으시길 바랍니다~ 감사합니다~
프로필 이미지
신데렐라맨
2023-03-21
1893
글번호 167353
종목검색
답변완료

문의드립니다

value1=cci(21); if value1[0] >= 60 then find(1); //검증 문제없는데 결과가 없네요...
프로필 이미지
약수삼천
2023-03-20
1415
글번호 167352
종목검색
답변완료

문의 드립니다.~~~~

수고하십니다, 아래식의 손익의 결과가 완전히 반대로 되는 식을 부탁드립니다. input : ntime(60),n(20); input : 익절틱수(100),손절틱수(50); input : StartTime(70000),EndTime(45000); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),SumSqrt(0),Stdv(0); var : sum(0),BBmd(0),Bbup(0),BBdn(0); Array : CC[100](0); var : Tcond(false); if (NextBarSdate != sdate and NextBarStime >= EndTime) or (NextBarSdate == sdate and NextBarStime >= EndTime and stime < EndTime) Then Tcond = False; if (NextBarSdate != sdate and NextBarStime >= StartTime) or (NextBarSdate == sdate and NextBarStime >= StartTime and stime < StartTime) Then { Tcond = true; S1 = TimeToMinutes(NextBarStime); D1 = NextBarSdate; } if D1 > 0 then { if NextBarSdate == D1 Then TM = TimeToMinutes(NextBarStime)-S1; Else TM = TimeToMinutes(NextBarStime)+1440-S1; TF = TM%ntime; if NextBarSdate != sdate or (NextBarSdate == sdate and ntime > 1 and TF < TF[1]) or (NextBarSdate == sdate and ntime > 1 and TM >= TM[1]+ntime) or (NextBarSdate == sdate and ntime == 1 and TM > TM[1]) Then { var1 = NextBarOpen; } if Tcond == true and MarketPosition >= 0 Then Sell("시작매도",AtStop,var1-PriceScale*n); } IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { IF Endtime <= starttime Then { SetStopEndofday(0); } }
프로필 이미지
예스요
2023-03-20
1310
글번호 167351
시스템
답변완료

문의드립니다.

전환비율을 수정할 수 있도록 외부변수 수정부탁드립니다.(전환비율 5) Input : length(10),Per1(1),Per2(2),Per3(3),Per4(4),Per5(5); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""); var : TL1(0),TL11(0),TL12(0),TL13(0),TL14(0),TL15(0); var : TL2(0),TL21(0),TL22(0),TL23(0),TL24(0),TL25(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime HH = H; LL = 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 { TL_SetEnd(TL11,저[1,3],저[1,4],고[1,1]*(1-Per1/100)); TL_SetEnd(TL12,저[1,3],저[1,4],고[1,1]*(1-Per2/100)); TL_SetEnd(TL13,저[1,3],저[1,4],고[1,1]*(1-Per3/100)); TL_SetEnd(TL14,저[1,3],저[1,4],고[1,1]*(1-Per4/100)); TL_SetEnd(TL15,저[1,3],저[1,4],고[1,1]*(1-Per5/100)); 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]); TL_SetColor(TL1,Red); TL_SetSize(TL1,1); #TL11 = TL_New(고[1,3],고[1,4],고[1,1]*(1-Per1/100),NextBarSdate,NextBarStime,고[1,1]*(1-Per1/100)); #TL12 = TL_New(고[1,3],고[1,4],고[1,1]*(1-Per2/100),NextBarSdate,NextBarStime,고[1,1]*(1-Per2/100)); #TL13 = TL_New(고[1,3],고[1,4],고[1,1]*(1-Per3/100),NextBarSdate,NextBarStime,고[1,1]*(1-Per3/100)); #TL14 = TL_New(고[1,3],고[1,4],고[1,1]*(1-Per4/100),NextBarSdate,NextBarStime,고[1,1]*(1-Per4/100)); #TL15 = TL_New(고[1,3],고[1,4],고[1,1]*(1-Per5/100),NextBarSdate,NextBarStime,고[1,1]*(1-Per5/100)); #TL_SetColor(TL11,Blue); #TL_SetColor(TL12,Blue); #TL_SetColor(TL13,Blue); #TL_SetColor(TL14,Blue); #TL_SetColor(TL15,Blue); } 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]); TL_SetBegin(TL11,고[1,3],고[1,4],고[1,1]*(1-Per1/100)); TL_SetBegin(TL12,고[1,3],고[1,4],고[1,1]*(1-Per2/100)); TL_SetBegin(TL13,고[1,3],고[1,4],고[1,1]*(1-Per3/100)); TL_SetBegin(TL14,고[1,3],고[1,4],고[1,1]*(1-Per4/100)); TL_SetBegin(TL15,고[1,3],고[1,4],고[1,1]*(1-Per5/100)); } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { TL_SetEnd(TL21,고[1,3],고[1,4],저[1,1]*(1+Per1/100)); TL_SetEnd(TL22,고[1,3],고[1,4],저[1,1]*(1+Per2/100)); TL_SetEnd(TL23,고[1,3],고[1,4],저[1,1]*(1+Per3/100)); TL_SetEnd(TL24,고[1,3],고[1,4],저[1,1]*(1+Per4/100)); TL_SetEnd(TL25,고[1,3],고[1,4],저[1,1]*(1+Per5/100)); 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; TL2 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetColor(TL2,Blue); TL_SetSize(TL2,1); TL21 = TL_New(저[1,3],저[1,4],저[1,1]*(1-Per1/100),NextBarSdate,NextBarStime,저[1,1]*(1+Per1/100)); TL22 = TL_New(저[1,3],저[1,4],저[1,1]*(1-Per2/100),NextBarSdate,NextBarStime,저[1,1]*(1+Per2/100)); TL23 = TL_New(저[1,3],저[1,4],저[1,1]*(1-Per3/100),NextBarSdate,NextBarStime,저[1,1]*(1+Per3/100)); TL24 = TL_New(저[1,3],저[1,4],저[1,1]*(1-Per4/100),NextBarSdate,NextBarStime,저[1,1]*(1+Per4/100)); TL25 = TL_New(저[1,3],저[1,4],저[1,1]*(1-Per5/100),NextBarSdate,NextBarStime,저[1,1]*(1+Per5/100)); TL_SetColor(TL21,Red); TL_SetColor(TL22,Red); TL_SetColor(TL23,Red); TL_SetColor(TL24,Red); TL_SetColor(TL25,Red); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL2,저[1,3],저[1,4],저[1,1]); TL_SetBegin(TL21,저[1,3],저[1,4],저[1,1]*(1+Per1/100)); TL_SetBegin(TL22,저[1,3],저[1,4],저[1,1]*(1+Per2/100)); TL_SetBegin(TL23,저[1,3],저[1,4],저[1,1]*(1+Per3/100)); TL_SetBegin(TL24,저[1,3],저[1,4],저[1,1]*(1+Per4/100)); TL_SetBegin(TL25,저[1,3],저[1,4],저[1,1]*(1+Per5/100)); } 최종꼭지점 = "저점"; } TL_SetEnd(TL11,NextBarSdate,NextBarStime,고[1,1]*(1-Per1/100)); TL_SetEnd(TL12,NextBarSdate,NextBarStime,고[1,1]*(1-Per2/100)); TL_SetEnd(TL13,NextBarSdate,NextBarStime,고[1,1]*(1-Per3/100)); TL_SetEnd(TL14,NextBarSdate,NextBarStime,고[1,1]*(1-Per4/100)); TL_SetEnd(TL15,NextBarSdate,NextBarStime,고[1,1]*(1-Per5/100)); TL_SetEnd(TL21,NextBarSdate,NextBarStime,저[1,1]*(1+Per1/100)); TL_SetEnd(TL22,NextBarSdate,NextBarStime,저[1,1]*(1+Per2/100)); TL_SetEnd(TL23,NextBarSdate,NextBarStime,저[1,1]*(1+Per3/100)); TL_SetEnd(TL24,NextBarSdate,NextBarStime,저[1,1]*(1+Per4/100)); TL_SetEnd(TL25,NextBarSdate,NextBarStime,저[1,1]*(1+Per5/100));
프로필 이미지
구호리
2023-03-20
1240
글번호 167350
지표
답변완료

data1과 data2로 만든 값(지표)의 +값 평균, -값 평균

아래처럼 data1과 data2로 '대비'라는 지표 하나를 만들었는데, 0을 기준으로 위아래로 움직이는 지표입니다. --------------------------------------------------- var : ratio(0), ratio전일(0), 대비(0); ratio = data2(c)/c*100; ratio전일 = data2(CloseD(1))/c[1]*100; 대비 = ratio - ratio전일; plot2(대비, "대비"); ------------------- 여기서 1) +일때의 값만 모아서 20일 평균값 2) -일때의 값만 모아서 20일 평균값 이렇게 지표로 부탁드립니다
프로필 이미지
퀀트드래곤
2023-03-20
935
글번호 167349
지표

구호리 님에 의해서 삭제되었습니다.

프로필 이미지
구호리
2023-03-20
5
글번호 167348
지표
답변완료

즉시 매도

60분봉에서 30분 경과후부터 해당하는 60분봉의 최저가를 경신하면 무조건 즉시 매도 가능합니까? (즉, 저가 하단값 아래로 돌파시) 감사합니다.
프로필 이미지
약속
2023-03-20
1011
글번호 167347
시스템
답변완료

도움부탁드립니다

안녕하세요. 문의 하여답변감사합니다. 수식을기록 하여 검증을 한결과 오류창에 메세지가 줄수20 ,열수79 -선언되지 않은 이름 한두호가 위아래라인굵기'아(가)사용되었습니다. Plot 라인의 두께값으로 수치형 데이터가 와야 합니다. 라고 나옵니다. 어떻게 수정을 하는지요 알려주세요. 감사합니다.
프로필 이미지
렉스턴
2023-03-20
943
글번호 167342
지표