커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 문의

다음 수식과 그림은, data2 의 '당일 기준' / '전봉 대비 증감'을 막대그래프로 그려본 것입니다. 그런데 이 수식의 문제가, 그림에서 처럼 시초가 첫봉을 시작으로 전봉의 차이를 비교하는 조건 때문에, 시초가 봉은 data2에 '그 값이 있음에도', 비교대상이 주어지지 않아 값이 안 나오게 됩니다. 그래서, 수식 문의 1 :: 시초가 첫봉만 그 비교값을 0으로 잡아서 첫봉에도 막대그래프가 표현되도록 수정하고 싶습니다. 수식 문의 2 :: 위 수정된 수식에 다음의 조건값을 추가하고 싶습니다. plot1. 상승평균값 :: '당일기준' '상승막대만'의 '평균값'을 선으로 긋고 plot2. 그 마지막 값은 다음날까지 선으로 그어줍니다. plot3. 하락평균값 :: '당일기준' '하락막대만'의 '평균값'을 선으로 긋고 plot4. 그 마지막 값을 다음날까지 선으로 그어줍니다. 5. 막대표시 1 :: '상승평균값' 보다 높은 상승막대는 rgb#.#.# 색을 칠합니다. 6. 막대표시 2 :: '하락평균값' 보다 높은 하락막대는 rgb#.#.# 색을 칠합니다. 수식 문의 2 :: 위의 5,6 조건을 강조식으로 구현하고 싶습니다. == 다음 수식 == input : starttime(090000),endtime(154500); var : Tcond(false,data2),idx(0,data2),VV(0,data2); if data2((sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime)) then { Tcond = true; idx = 0; } if data2((sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime)) then { Tcond = false; VV = 0; } if Tcond == true then { idx = idx+1; if idx == 1 Then vv = 0; Else vv = data2(C-C[1]); } if VV > 0 Then plot1(VV,"양수"); if VV < 0 Then plot2(VV,"음수");
프로필 이미지
흑수돌
2022-01-10
1484
글번호 155255
지표
답변완료

수식 문의드립니다.

안녕하세요 키움증권이랑 nh를 같이쓰고있는데 키움증권에서 제공되는 체결강도를 그래프화 시키고 싶습니다 일봉상에서 볼수 있는 그래프와 분봉상에서 볼수 있는 그래프 식 부탁드립니다. 또한 일봉상의 체결강도그래프를 분봉상에서도 그려주는 식 부탁드립니다. ex)일봉상 5이평을 분봉상으로 가져오는 개념
프로필 이미지
100수
2022-01-07
1287
글번호 155249
지표

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

프로필 이미지
100수
2022-01-07
0
글번호 155248
지표
답변완료

문의 드립니다

안녕하세요 1. 전환선이 기준선 위에 있고, 동시에 우상향하는 조건과 2. 전환선과 기준선이 겹치면서 우상향 조건을 부탁드립니다. 수고하세요
프로필 이미지
힘찬하루
2022-01-07
1150
글번호 155247
종목검색
답변완료

안녕하세요 도움 부탁드립니다.

안녕하세요 도움 부탁드립니다. 아무리 제가 해보려 해봐도 마음대로 원하는게 나오지 않습니다 ㅠㅠ 아래의 수식은 수식지왕님의 range bar 차트입니다. 제가 구현하고 싶어하는 것은 아래와 같습니다. 1. Range bar 한개당 매매 한번만 실행 2. A라는 조건이 만족되면 매수 진입 3. 변수로 Range bar 한개당 매매 횟수를 설정 if OO != OO[1] Then Entry = 0 ; If entry == 0 and A then Buy(); 라고 하거나 if bars == bars[BarsSinceEntry]+1 and A then Buy(); 이렇게 하면 진입은 제대로 되는데, A라는 조건을 만족할때마다 자꾸 매수 시그널이 나갑니다. range bar 하나당 한번만 진입하게는 어떻게 하나요? 참고로 If A then entry = 1; 이렇게 해서 진입을 막으려해도 되지가 않습니다 ㅠㅠ ================= Input:tick(300); Var:j(0),k(0),n(0),trend(0),tickVal(0),oneTick(0),count(0),remain(0); Array:OO[1000](0),HH[1000](0),LL[1000](0),CC[1000](0),val[4](0); #==============================================================================# # Range Bar Chart 계산 #==============================================================================# If Index == 0 Then { tickVal = tick * PriceScale; oneTick = PriceScale; OO[0] = O; HH[0] = O; LL[0] = O; CC[0] = O; } count = 0; val[0] = O; val[3] = C; If O > C Then { val[1] = H; val[2] = L; If L < C Then trend = 1; Else trend = -1; } Else If O < C Then { val[1] = L; val[2] = H; If H > C Then trend = -1; Else trend = 1; } Else If C[1] > O Then { val[1] = L; val[2] = H; If H > C Then trend = -1; Else trend = 1; } Else If C[1] < O Then { val[1] = H; val[2] = L; If L < C Then trend = 1; Else trend = -1; } Else If trend == 1 Then { val[1] = H; val[2] = L; If L < C Then trend = 1; Else trend = -1; } Else If trend == -1 Then { val[1] = L; val[2] = H; If H > C Then trend = -1; Else trend = 1; } For k = 0 To 3 { If HH[0] > 0 && HH[0] < val[k] Then { While val[k] - LL[0] > tickVal { HH[0] = LL[0] + tickVal; CC[0] = HH[0]; For j = 998 DownTo 0 { OO[j+1] = OO[j]; HH[j+1] = HH[j]; LL[j+1] = LL[j]; CC[j+1] = CC[j]; } count = count + 1; OO[0] = HH[1] + oneTick; LL[0] = OO[0]; } If val[k] - LL[0] <= tickVal Then { HH[0] = val[k]; CC[0] = val[k]; } } Else If LL[0] > val[k] Then { While HH[0] - val[k] > tickVal { LL[0] = HH[0] - tickVal; CC[0] = LL[0]; For j = 998 DownTo 0 { OO[j+1] = OO[j]; HH[j+1] = HH[j]; LL[j+1] = LL[j]; CC[j+1] = CC[j]; } count = count + 1; OO[0] = LL[1] - oneTick; HH[0] = OO[0]; } If HH[0] - val[k] <= tickVal Then { LL[0] = val[k]; CC[0] = val[k]; } } Else { CC[0] = val[k]; } }
프로필 이미지
이만스닥
2022-01-07
1135
글번호 155235
시스템

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2022-01-07
0
글번호 155234
지표

캣피쉬 님에 의해서 삭제되었습니다.

프로필 이미지
캣피쉬
2022-01-07
0
글번호 155233
시스템
답변완료

문의 드립니다

다소 우문인지 모르겠습니다만 1. DayLow(0)는 장중 분봉에서 사용하면 그 해당분봉의 저가를 의미하는 것입니까? 2. 그렇다면 주문이 나가기 전까지 형성된 그날의 저가(lowest)에서 1.5포인트가 상승하면 매수하라는 식은 어떻게 됩니까? 감사합니다
프로필 이미지
가야금
2022-01-07
1140
글번호 155232
시스템
답변완료

문의드립니다.

먼저 좋은 답변 감사드립니다. 아래 답변처럼 해주셔서 기대한 대로 잘 되고 있습니다. 하나 더 부탁드리고 싶은 것은 이미 다음과같이 요청드렸는데 잘되지 않아 다시 올립니다. 아울러 1차와 2차 시기에는 1개만, 3차와 4차 시기에는 2개씩, 5차와 6차 시기에는 3개씩 이렇게 2단계 혹은 3단계,4,5단계 마다 진입량을 1개씩 늘려가며 진입할 수 있도록 변경 원합니다. 안녕하세요 예스스탁입니다. 각 방향의 첫진입은 "b"와 "s"입니다. 해당 신호들은 모두 무포지션이거나 반대포지션상태에서만 발생하게 되어 있어 해당 신호로 중복으로 추가진입은 되지 않습니다. 추가로 진입하는 신호는 모두 bb나 ss입니다. 식상으로 첫진입은 청산이 된것이 아니면 포지션 진행중에 또 발생할수가 없습니다. 차트에 식을 적용해 봐도 해당신호가 중복으로 나오지는 않습니다. 우선 첫진입을 지정한 가격 이상이나 이하에서 하향터치, 상향터치로 변경해 드리고 수량부분도 수정해 드립니다. 아내 내용으로 해결이 안되시면 02-3453-1060으로 전화주시기 바랍니다. 해당 부분은 정확한 원인을 파악하고 수정을 해봐야 할것 같습니다. #상승구간의 마지막저점 저장 if Color == RED Then { var1 = 저점[2,1]; } #하락구간의 마지막 고점 저장 if Color == BLUE Then { var2 = 고점[2,1]; } if MarketPosition <= 0 Then { if color == BLUE and var1 > 0 and L > var1-PriceScale*50 Then Buy("b",AtLimit,var1-PriceScale*50,1); } if MarketPosition == 1 Then { value1 = Floor(MaxEntries/2)+1; Buy("bb",AtLimit,(var1[BarsSinceEntry]-PriceScale*50)-(PriceScale*50)*MaxEntries,1); if T == -1 and 고점[1,1] > 0 Then ExitLong("bx1",AtLimit,고점[1,1]+PriceScale*1); if T == 1 and 고점[2,1] > 0 Then ExitLong("bx2",AtLimit,고점[2,1]+PriceScale*1); } if MarketPosition >= 0 Then { if Color == RED and Var2 > 0 and H < var2+PriceScale*50 Then Sell("s",AtLimit,Var2+PriceScale*50,1); } if MarketPosition == -1 Then1 { value1 = Floor(MaxEntries/2)+1; Sell("ss",AtLimit,(var2[BarsSinceEntry]+PriceScale*50)+(PriceScale*50)*MaxEntries,1); if T == 1 and 저점[1,1] > 0 Then ExitShort("sx1",AtLimit,저점[1,1]-PriceScale*1); if T == -1 and 저점[2,1] > 0 Then ExitShort("sx2",AtLimit,저점[2,1]-PriceScale*1); } 즐거운 하루되세요 > 번성 님이 쓴 글입니다. > 제목 : 문의드립니다. > 좋은 답변 감사드립니다. 아래처럼 제가 질문드리고 답변주신대로 적용하였는데 2차,3차... 진입은 처음 캔들에 1개씩만 진입이 되지만 첫번째 1차 진입시(매수,매도)에는 여전히 +50틱이나 -50틱이 걸리는 모든 캔들에 진입이 되어 다량의 매수, 매도가 이루어지고 있어요. 1차 시기에도 2차,3차...처럼 1개만 진입되도록 수정 부탁드립니다. 아울러 1차와 2차 시기에는 1개만, 3차와 4차 시기에는 2개씩, 5차와 6차 시기에는 3개씩 이렇게 2단계 마다 진입량을 1개씩 늘려가며 진입할 수 있도록 변경 원합니다. 너무 좋은 답변에 다시한번 감사드립니다. 새해 복 많이 받으세요
프로필 이미지
번성
2022-01-07
1228
글번호 155231
시스템
답변완료

부탁드립니다

아래수식은 최상단 이평선을 상향돌파하면 매수 신호 최하단 이평선을 하향돌파하면 매도 신호가 나오는 수식입니다 여기서 최상단 이평선을 하향돌파하면 매도 신호 최하단 이평선을 상향돌파하면 매수 신호가 나오도록 추가하고싶습니다 부탁드립니다 input : 그물망(60),간격(10),그물망수(41); array : mav[100](0); var : HH(0),LL(0),cnt(0); For cnt = 0 to 그물망수 { mav[cnt] = ma(c,그물망+간격*cnt); } if mav[그물망수] > 0 then { HH = mav[0]; LL = mav[0]; for cnt = 0 to 그물망수 { if mav[cnt] > HH Then HH = mav[cnt]; if mav[cnt] < LL Then LL = mav[cnt]; } } if CrossUp(C,HH) Then Buy(); if CrossDown(C,LL) Then Sell();
프로필 이미지
마르뚝
2022-01-07
1220
글번호 155230
시스템