커뮤니티

수식작성 부탁드립니다.

프로필 이미지
고박사122
2023-05-14 15:35:48
1041
글번호 168942
답변완료
안녕하세요 운영자님 제가 요청드릴 시스템 수식은, 매수조건 : 캔들이 240일선 위에 있고, 아래 지표수식에서 B 가 프린팅 된 이후 ADX 가 기준 선 20을 Crossup 매도조건 : 캔들이 240일선 아래에 있고, 아래 지표수식에서 S 가 프린팅 된 이후 ADX 가 기준선 20을 Crossup input : colorNormLength(3),dpoLength(13),moboDisplace(0),moboLength(10),numDevDn(-0.8),numDevUp(0.8); #coloredMobo = input(true, "coloredMobo") #coloredFill = input(true, "coloredFill") #breakArrows = input(true, "breakArrows") #moboShowMid = input(true, "moboShowMid") var : price(0),xsma(0),dpo(0),Midline(0),sdev(0),LowerBand(0),UpperBand(0); var : Signal1(False),Signal2(False),wasUp(0),wasDn(0),tx(0); price = (H+L)/2; xsma = ma(price[dpoLength / 2 + 1], dpoLength) ; DPO = price - xsma; Midline = ma(DPO, moboLength); sDev = std(DPO, moboLength); LowerBand = Midline + numDevDn * sDev; UpperBand = Midline + numDevUp * sDev; plot1(DPO,"DPO",Yellow); plot2(Midline, "Mid",IFf(Midline > Midline[1],lime,red)); plot3(UpperBand,"UpperBand",black); plot4(LowerBand,"LowerBand",black); plot5(0,"0선",Gray); Signal1 = DPO > UpperBand and DPO[1] < UpperBand[1]; Signal2 = DPO < LowerBand and DPO[1] > LowerBand[1]; wasUp = 1; wasDn = 1; wasUp = iff(Signal1 , 1 , IFf(Signal2 , 0 ,wasUp)); wasDn = iff(Signal2 , 1 , iff(Signal1 , 0 ,wasDn)); //plotshape(Signal1 and wasDn[1] ? UpperBand : na, style=shape.arrowup, location=location.absolute, size=size.normal, color=color.red) //plotshape(Signal2 and wasUp[1] ? LowerBand : na, style=shape.arrowdown, location=location.absolute, size=size.normal, color=color.green) if Signal1 and wasDn[1] Then { tx = Text_New_Self(sDate,sTime,UpperBand,"B"); Text_SetStyle(tx,2,1); } if Signal2 and wasUp[1] Then { tx = Text_New_Self(sDate,sTime,LowerBand,"S"); Text_SetStyle(tx,2,0); } 감사합니다. 수고하세요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-05-15 10:47:47

안녕하세요 예스스탁입니다. input : colorNormLength(3),dpoLength(13),moboDisplace(0),moboLength(10),numDevDn(-0.8),numDevUp(0.8); input : maPeriod(240),ADXperiod(14); #coloredMobo = input(true, "coloredMobo") #coloredFill = input(true, "coloredFill") #breakArrows = input(true, "breakArrows") #moboShowMid = input(true, "moboShowMid") var : price(0),xsma(0),dpo(0),Midline(0),sdev(0),LowerBand(0),UpperBand(0); var : Signal1(False),Signal2(False),wasUp(0),wasDn(0),tx(0),mav(0),adxv(0); var : T(0); price = (H+L)/2; xsma = ma(price[dpoLength / 2 + 1], dpoLength) ; DPO = price - xsma; Midline = ma(DPO, moboLength); sDev = std(DPO, moboLength); LowerBand = Midline + numDevDn * sDev; UpperBand = Midline + numDevUp * sDev; Signal1 = DPO > UpperBand and DPO[1] < UpperBand[1]; Signal2 = DPO < LowerBand and DPO[1] > LowerBand[1]; wasUp = 1; wasDn = 1; wasUp = iff(Signal1 , 1 , IFf(Signal2 , 0 ,wasUp)); wasDn = iff(Signal2 , 1 , iff(Signal1 , 0 ,wasDn)); if Signal1 and wasDn[1] Then { T = 1; } if Signal2 and wasUp[1] Then { T = -1; } mav = ma(c,maPeriod); adxv = adx(ADXPeriod); if C > mav and T == 1 and CrossUp(ADXv,20) Then Buy(); if C < mav and T == -1 and CrossUp(ADXv,20) Then Sell(); 즐거운 하루되세요 > 고박사122 님이 쓴 글입니다. > 제목 : 수식작성 부탁드립니다. > 안녕하세요 운영자님 제가 요청드릴 시스템 수식은, 매수조건 : 캔들이 240일선 위에 있고, 아래 지표수식에서 B 가 프린팅 된 이후 ADX 가 기준 선 20을 Crossup 매도조건 : 캔들이 240일선 아래에 있고, 아래 지표수식에서 S 가 프린팅 된 이후 ADX 가 기준선 20을 Crossup input : colorNormLength(3),dpoLength(13),moboDisplace(0),moboLength(10),numDevDn(-0.8),numDevUp(0.8); #coloredMobo = input(true, "coloredMobo") #coloredFill = input(true, "coloredFill") #breakArrows = input(true, "breakArrows") #moboShowMid = input(true, "moboShowMid") var : price(0),xsma(0),dpo(0),Midline(0),sdev(0),LowerBand(0),UpperBand(0); var : Signal1(False),Signal2(False),wasUp(0),wasDn(0),tx(0); price = (H+L)/2; xsma = ma(price[dpoLength / 2 + 1], dpoLength) ; DPO = price - xsma; Midline = ma(DPO, moboLength); sDev = std(DPO, moboLength); LowerBand = Midline + numDevDn * sDev; UpperBand = Midline + numDevUp * sDev; plot1(DPO,"DPO",Yellow); plot2(Midline, "Mid",IFf(Midline > Midline[1],lime,red)); plot3(UpperBand,"UpperBand",black); plot4(LowerBand,"LowerBand",black); plot5(0,"0선",Gray); Signal1 = DPO > UpperBand and DPO[1] < UpperBand[1]; Signal2 = DPO < LowerBand and DPO[1] > LowerBand[1]; wasUp = 1; wasDn = 1; wasUp = iff(Signal1 , 1 , IFf(Signal2 , 0 ,wasUp)); wasDn = iff(Signal2 , 1 , iff(Signal1 , 0 ,wasDn)); //plotshape(Signal1 and wasDn[1] ? UpperBand : na, style=shape.arrowup, location=location.absolute, size=size.normal, color=color.red) //plotshape(Signal2 and wasUp[1] ? LowerBand : na, style=shape.arrowdown, location=location.absolute, size=size.normal, color=color.green) if Signal1 and wasDn[1] Then { tx = Text_New_Self(sDate,sTime,UpperBand,"B"); Text_SetStyle(tx,2,1); } if Signal2 and wasUp[1] Then { tx = Text_New_Self(sDate,sTime,LowerBand,"S"); Text_SetStyle(tx,2,0); } 감사합니다. 수고하세요.