커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의드립니다.

Input : shortPeriod(12), longPeriod(26), Period(14); Var : MACDV1(0),MACDV2(0), RSIV(0); MACDV1 = data2(MACD(shortPeriod, longPeriod)); RSIV= data2(RSI(Period)); If CrossUP(MACDV1,0) Then { Buy("b"); } If data2 (CrossDown(RSIV, data2(70))) Then { ExitLong("EL"); } 이렇게 했는데 차트상 data2에서 MACD 상향 돌파때 매수는 잘 해주는데, RSI는 크게 올라간다음 70 이하고 떨어질 때는 매도 하고, 조금 올라갔다가 70이하고 떨어질 때는 매도 안하고 넘어가는데 왜그럴까요? 혹시 참고차트를 써서 그렇다고 하면 이를 해결할 방법은 없을까요? 추가 질문. 다시 확인해보니 전략창에서 data2 의 그래프는 RSI가 과매수로 그래프가 나오는데, 핸드폰으로 차트를 확인해보니, RSI가 70에 근접은 하지만 과매수로 뚫고 나오지는 못하네요. 이건 어떤 이유일까요?
프로필 이미지
래피
2022-11-23
772
글번호 164039
시스템
답변완료

피라미딩 전략별 진입횟수2

답변 수식으로 - 피라미딩 : 다른 진입 신호만 허용 체크 - 손절 적용 - d2 (0.5), d3(0.5), d4(0.5) 적용 위 조건을 주고 시뮬레이션 한 결과가 첨부파일입니다. a는 손절 후 진입이 없어야 하는데 3번을 진입하고 있습니다. b는 손절 후 2번까지 진입해야는데 3번을 진입하고 있습니다. 진입 제한이 제어되지 않고 있습니다. 살펴주십시요. ************************************************************************ 안녕하세요 예스스탁입니다. input : d2(1500); input : d3(3000); input : d4(2000); var : cnta(0),cntb(0),cntc(0); if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { if LatestEntryName(0) == "a" Then cnta = cnta+1; if LatestEntryName(0) == "b" Then cntb = cntb+1; if LatestEntryName(0) == "c" Then cntc = cntc+1; } } Else { cnta = 0; cntb = 0; cntc = 0; } if data2(c>LowD(0)+d2) and cnta < 1 Then Buy("a"); if data3(c>LowD(0)+d3) and cnta < 2 Then Buy("b"); if data4(c>LowD(0)+d4) and cnta < 3 Then Buy("c"); 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 문의 > 아래 수식은 1. 다른 진입신호만 허용으로 운용하는 피라미딩 수식입니다. 2. a,b,c 순서 상관없이 진입합니다. 3 .데이트레이딩 입니다. 그런데 a 진입 후 손절이나 트레일링스탑 후 다시 a가 들어갈 수 있는 수식입니다. b 진입 후 손절이나 트레일링스탑 후 다시 b가 들어갈 수 있는 수식입니다. c 진입 후 손절이나 트레일링스탑 후 다시 c가 들어갈 수 있는 수식입니다. 요청내용 a 이름으로 진입하면 2번째 진입은 없습니다.(a는 1번까지 진입 허용) b 이름으로 진입하면 3번째 진입은 없습니다.(b는 2번까지 진입 허용) c 이름으로 진입하면 4번째 진입은 없습니다.(c는 3번까지 진입 허용) 위 요청내용을 만족하는 수식 추가바랍니다. *************************************************************************** input : d2(1500); input : d3(3000); input : d4(2000); if data2(c>LowD(0)+d2) Then Buy("a"); if data3(c>LowD(0)+d3) Then Buy("b"); if data4(c>LowD(0)+d4) Then Buy("c");
프로필 이미지
좌오비우오비
2023-06-22
818
글번호 164038
시스템
답변완료

안녕하세요^^ 문의드립니다

안녕하세요~^^ 문의드립니다 ● 질문1) Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 매수신호나오면~동시에 (신호나타난 캔들(봉))부터 바탕색(빨간색)시작~ 매도신호 나오기전까지 바탕색확장, 매도신호나오면~동시에(신호나타난 캔들(봉))부터~파란 바탕색 나타나~매수신호 나오기전까지 확장 부탁드립니다. ●질문2) 상승~하락 파동에서~ 상승 파동시~10틱이상 가다가 꺽이면~꺽인단기고점(선) 가격과,선굵게(선색깔 지정할수있게) 나타나게 해주시고~ ~선 뚫리기전까지는 우측으로 선확장,,선 뚫리면 확장 멈춤, 올렸던 파동 저점도 가격과 선굵게 나타남, 뚫리기 전까지는 우측으로 확장 ~뚫리면 확장 멈춤,, 매도 파동시~` 하락방향으로10틱이상 가다가 상승으로 꺽이면~꺽인 단기저점(선) 가격과,선굵게 나타나게 해주시고~ 선 뚫리기전까지는 우측으로 선확장, 선 뚫리면 확장 멈춤, 다시 말씀드리면~ 상승 파동=10틱이상 상승하다가 전고점 못넘기고 빠지면~전고점(선) 우측으로확장, 넘기면~전고점(선) 확장 멈춤~ 하락파동도 동일합니다, 파동선도(상승파동=빨강색,하락파동=파란색) 나타나게 해주세요 * 단기파동 고점/저점 (가격과, 선(색지정) 굵게 나타나게하는것은) 10틱 이상 갔을때만 나타나게 해주세요. 부탁드립니다 * 감사합니다^^
프로필 이미지
thdgus1s
2022-11-23
719
글번호 164037
시스템
답변완료

지표수식 변환 요청드립니다

트레이딩뷰 Chandelier Exit 지표를 예스수식으로 변환부탁드립니다. 신호발생(buy,sell )은 검색식(혹은 지표식)으로 하면서 그림과 같이 선만 나오면 될 듯합니다. 종가를 사용하는 경우와 그렇지 않은 경우를 선택할 수 있으면 좋겠습니다. =========== //@version=4 // Copyright (c) 2019-present, Alex Orekhov (everget) license. study("Chandelier Exit", shorttitle="CE", overlay=true) length = input(title="ATR Period", type=input.integer, defval=22) mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true) useClose = input(title="Use Close Price for Extremums ?", type=input.bool, defval=true) highlightState = input(title="Highlight State ?", type=input.bool, defval=true) atr = mult * atr(length) longStop = (useClose ? highest(close, length) : highest(length)) - atr longStopPrev = nz(longStop[1], longStop) longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = (useClose ? lowest(close, length) : lowest(length)) + atr shortStopPrev = nz(shortStop[1], shortStop) shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop var int dir = 1 dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir var color longColor = color.green var color shortColor = color.red longStopPlot = plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=2, color=longColor) buySignal = dir == 1 and dir[1] == -1 plotshape(buySignal ? longStop : na, title="Long Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0) plotshape(buySignal and showLabels ? longStop : na, title="Buy Label", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=longColor, textcolor=color.white, transp=0) shortStopPlot = plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=2, color=shortColor) sellSignal = dir == -1 and dir[1] == 1 plotshape(sellSignal ? shortStop : na, title="Short Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0) plotshape(sellSignal and showLabels ? shortStop : na, title="Sell Label", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=shortColor, textcolor=color.white, transp=0) midPricePlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0, display=display.none, editable=false) longFillColor = highlightState ? (dir == 1 ? longColor : na) : na shortFillColor = highlightState ? (dir == -1 ? shortColor : na) : na fill(midPricePlot, longStopPlot, title="Long State Filling", color=longFillColor) fill(midPricePlot, shortStopPlot, title="Short State Filling", color=shortFillColor) changeCond = dir != dir[1] alertcondition(changeCond, title="Alert: CE Direction Change", message="Chandelier Exit has changed direction!") alertcondition(buySignal, title="Alert: CE Buy", message="Chandelier Exit Buy!") alertcondition(sellSignal, title="Alert: CE Sell", message="Chandelier Exit Sell!")
프로필 이미지
당일선물
2022-11-23
1139
글번호 164036
검색
답변완료

수정 부탁합니다

오픈소스 활용해 보려합니다^^ 파동의 정의를 바꿔보고 싶습니다 5일선과 10일선이 역배열 되는 시점에서 최근10봉(외부변수)중 최고점을 최종고가로 5일선과10일선이 정배열 되는 시점에서 최근10봉중 최저점을 최종저가로 수정 부탁합니다 그리고 (종가 and 5일선and 10일선)이 최근최종고가를 돌파하면 돌파된 최종고가선을 핑크색 선으로 바꾸고 변수로 지정해주세요 (종가and 5일선and 10일선)이 최근최종저가를 붕괴하면 붕괴된 최종저가선을 브라운색선으로 바꾸고 변수로지정해주세요 감사합니다! input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime var : TL24(0),TL25(0); #==========================================# HH = IFF(0==1,C,H); LL = IFF(0==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 { T = 1; 최종고가 = 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 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,WHITE); } TL_SetSize(TL1,1); TL_SetColor(TL1,WHITE); } 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 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = 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 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, 0); Text_SetColor(Text1,WHITE); } TL_SetSize(TL1,1); TL_SetColor(TL1,WHITE); } 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 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL2,3); TL_SetColor(TL2,RED); TL_SetSize(TL3,3); TL_SetColor(TL3,RED); TL12 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL12,1); TL_SetColor(TL12,RED); TL_SetSize(TL13,1); TL_SetColor(TL13,RED); TL_Delete(TL24); TL_Delete(TL25); TL24 = TL_New(고[1,3],고[1,4],고[1,1]-abs(고[2,1]-저[2,1]),sdate,stime,고[1,1]-abs(고[2,1]-저[2,1])); TL25 = TL_New(고[1,3],고[1,4],고[1,1]-abs(고[3,1]-저[3,1]),sdate,stime,고[1,1]-abs(고[3,1]-저[3,1])); TL_SetExtRight(TL24,true); TL_SetExtRight(TL25,true); TL_SetSize(TL24,0); TL_SetStyle(TL24,3); TL_SetColor(TL24,blue); TL_SetSize(TL25,0); TL_SetStyle(TL25,3); TL_SetColor(TL25,blue); } if T == 1 and T[1] != 1 Then { TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL5); TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL5,true); TL_SetSize(TL4,3); TL_SetColor(TL4,blue); TL_SetSize(TL5,3); TL_SetColor(TL5,blue); TL14= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL15,true); TL_SetSize(TL14,1); TL_SetColor(TL14,blue); TL_SetSize(TL15,1); TL_SetColor(TL15,blue); TL_Delete(TL24); TL_Delete(TL25); TL24 = TL_New(저[1,3],저[1,4],저[1,1]+abs(고[2,1]-저[2,1]),sdate,stime,저[1,1]+abs(고[2,1]-저[2,1])); TL25 = TL_New(저[1,3],저[1,4],저[1,1]+abs(고[3,1]-저[3,1]),sdate,stime,저[1,1]+abs(고[3,1]-저[3,1])); TL_SetExtRight(TL24,true); TL_SetExtRight(TL25,true); TL_SetSize(TL24,0); TL_SetStyle(TL24,3); TL_SetColor(TL24,Red); TL_SetSize(TL25,0); TL_SetStyle(TL25,3); TL_SetColor(TL25,Red); }
프로필 이미지
하늘거지
2022-11-23
980
글번호 164035
지표
답변완료

수식 문의

수식 문의 드립니다. 일봉주기 1봉전 거래량대비, 오늘 현재 0봉전 10분동안 거래량이 50%이상 발생된 종목검색 수식을 문의드립니다.
프로필 이미지
위피데이
2022-11-22
928
글번호 164034
검색

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

프로필 이미지
hakona
2022-11-22
43
글번호 164033
지표
답변완료

수식 부탁드립니다.

inputs: gam( numericseries ); variables: L0(0), L1(0), L2(0), L3(0), CU(0), CD(0), LRSI(0); L0 = (1 - gam)*Close + gam*L0[1]; L1 = - gam *L0 + L0[1] + gam *L1[1]; L2 = - gam *L1 + L1[1] + gam *L2[1]; L3 = - gam *L2 + L2[1] + gam *L3[1]; CU = 0; CD = 0; If L0 >= L1 then CU = L0 - L1 Else CD = L1 - L0; If L1 >= L2 then CU = CU + L1 - L2 Else CD = CD + L2 - L1; If L2 >= L3 then CU = CU + L2 - L3 Else CD = CD + L3 - L2; If CU + CD <> 0 then LaguerreRSI = CU / (CU + CD); EasyLanguage로 수식은 위와 같습니다. 실제로 예스스탁에 바로 넣어도 에러도 없고 직관적으로도 이해가 되는데 막상 작동을 안하네요. 수정부탁드립니다.
프로필 이미지
오전만트레이딩
2022-11-22
686
글번호 164032
사용자 함수

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

프로필 이미지
hakona
2022-11-22
1
글번호 164031
시스템

신들의전쟁 님에 의해서 삭제되었습니다.

프로필 이미지
신들의전쟁
2022-11-22
7
글번호 164030
시스템