커뮤니티

수식좀 요청 드립니다(수직선)

프로필 이미지
요타
2024-07-24 10:47:58
991
글번호 176666
답변완료
* 항상 많은 도움에 고맙습니다. * 아래 수식을 적용 하면 4개의 점선이 생김니다 참고사항 : 실제 수식은 아래 조건임 if StoD < 20 Then if slowMA > slowMA[2] Then if Signal2 and wasUp[1] Then if Midline < Midline[2] Then * 요청 사항: 4개 점선중 3개 이상(3포함)의 점선이 생기면 5번재 점(★)으로 한줄 더 요청 합니다. 즉 1~2개의 점(●) 이면 안 생기고 한봉에 점(●)이 3개이상(3포함) 이면 5번재 점(★)이 찍히고 ★선 기준봉에 수직선이 그려 질수 있도록 부탁 드립니다. ## 수직선: TL_New(sDate,sTime,c,sDate,sTime,999); ## 아래 수식 (이것중 3개 이상이면 별점 생기고 수평선 부탁 드립니다) var : TX63(0); Input : 이격도81(20),Period86(5); var : DParity(0),mav86(0); DParity = Disparity(이격도81); mav86 = ma(DParity,Period86); var81 = ma(mav86,3) ; var82 = ma(var81,3) ; var83 = ma(var82,3) ; var84 = ma(var82,3) ; var85 = ma(var82,3) ; var86 = ma(mav86,12) ; Plot1(Var86) ; ## var: TX63(0); if var85 > var86 Then { TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*3,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(250,0,250)); Text_SetSize(TX63,12); } if var85 < var84+PriceScale*3 Then { TX63 = Text_New_Self(sDate,sTime,var85+PriceScale*6,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,0,255)); Text_SetSize(TX63,12); } if var85+PriceScale*3 > var83 Then { TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*9,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,0,0)); Text_SetSize(TX63,12); } if var85+PriceScale*3 > var83-PriceScale*8 Then { TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*15,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,135,0)); Text_SetSize(TX63,12); } * 고맙습니다 좋은 시간 되십시요. ##======================================================================= 안녕하세요 예스스탁입니다. 1.매도식 1) Inputs: N(3),Per(30),P1(10),P2(20); Variables: BBTop(0), BBMid(0), BBBot(0),Bwidth(0),MACDV(0),MACDS(0); BBTop = BollBandUp(20,2); BBMid = ma(C,20); BBBot = BollBandDown(20,2); BWidth = ((BBTop - BBBot)/ BBMid); MACDV = MACD(12,26); MACDS = ema(MACDV,9); if BWidth >= BWidth[N]*(1+Per/100) And #N봉전 대비 밴드폭이 Per%이상 큼 countif(CrossDown(MACDV,MACDS),2) >= 1 And #현재봉과 전봉중에 MACD 데드크로스 있음 C <= O-PriceScale*P1 And C >= O-PriceScale*P2 and #P1틱이상 P2틱 이하의 장대음봉 발생 (c <= BBTop*1.02 or CrossDown(c,ma(C,20))) Then #종가가 밴드 상단 2% 이내이거나 20이평 하향이탈 sell("s1",AtMarket); if MarketPosition == -1 Then{ #MACD 골든크로스 발생하면 다음봉 시가에 매수청산 if CrossUp(MACDV,MACDS)Then ExitShort("sx1",AtMarket); #장대음봉으로 5이평 상향돌파 if crossup(C,ma(C,5)) and C >= O+PriceScale*P1 And C <= O+PriceScale*P2 Then ExitShort("sx2"); #하단선 1% 근접 if CrossDown(c,BBBot*1.01) Then ExitShort("sx3"); #6틱이상 수익후에 4틱 밀리면 청산 if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*6 Then ExitShort("sx4",AtStop,lowest(L,BarsSinceEntry)+PriceScale*4); } #손절 SetStopLoss(PriceScale*8,PointStop); 2) Inputs: N(3),Per(30),P1(10),P2(20); Variables: BBTop(0), BBMid(0), BBBot(0),Bwidth(0),MACDV(0),MACDS(0); BBTop = BollBandUp(20,2); BBMid = ma(C,20); BBBot = BollBandDown(20,2); BWidth = ((BBTop - BBBot)/ BBMid); MACDV = MACD(12,26); MACDS = ema(MACDV,9); if BWidth >= BWidth[N]*(1+Per/100) And #N봉전 대비 밴드폭이 Per%이상 큼 countif(CrossDown(MACDV,MACDS),2) >= 1 And #현재봉과 전봉중에 MACD 데드크로스 있음 C <= O-PriceScale*P1 And C >= O-PriceScale*P2 and #P1틱이상 P2틱 이하의 장대음봉 발생 (CrossDown(c,BBmid) or CrossDown(c,ma(C,20))) Then #종가가 밴드 중심선이나 20이평 하향이탈 sell("s2",AtMarket); if MarketPosition == -1 Then{ #MACD 골든크로스 발생하면 다음봉 시가에 매수청산 if CrossUp(MACDV,MACDS)Then ExitShort("sx1",AtMarket); #장대음봉으로 5이평 상향돌파 if crossup(C,ma(C,5)) and C >= O+PriceScale*P1 And C <= O+PriceScale*P2 Then ExitShort("sx2"); } #손절 SetStopLoss(PriceScale*8,PointStop); 2. 매수 input : P1(10),P2(15);#시가대비 10틱~15틱몸통 var1 = BollBandUp(20,2); var2 = BollBandDown(20,2); var3 = ma(c,20); var4 = MACD(12,26); var5 = ema(var4,9); /*1) 볼린저밴드 하단을 타고 하락추세를 가다가 하단선을 분봉상 장대양봉으로 돌파과 함께 5이동평균을 분봉상 동시에 돌파하고 MACD SIG널과 골든크로스신호가 동시에 발생시에 봉완성을 확인하고 그 다음봉에 진입하는데 진입은 앞전봉의 종가나 - 1~2틱에서만 진입한다.*/ if C < C[1] and var2 < var2[1] and#주가와 볼밴하단 하향 countif(crossup(c,var2),5) >= 1 and C <= var2*1.02 and #5봉안에 종가가 볼댄하단 상향돌파한적이 있고 2% 내 C >= O+PriceScale*P1 And C <= O+PriceScale*P2 and #P1틱 이상~P2틱 이하 몸통을 가지는 장대양봉 crossup(c,ma(c,5)) and # 종가가 5이평 상향돌파 crossup(var4,var5) Then#MACD가 시그널선 상향돌파 buy("b1"); /*2) 볼린저밴드 중심선을 타고 횡보추세(또는 이동평균 5이평과10이평과20이평의 이격도가 1%이내)를 가다가 중심선을 분봉상 장대양봉으로 돌파과 함께 5이동평균과 중심선을 분봉상 동시에 돌파하고 MACD SIG널과 골든크로스신호가 동시에 발생시에 봉완성을 확인하고 그 다음봉에 진입하는데 진입은 앞전봉의 종가나 - 1~2틱에서만 진입한다.*/ if max(ma(c,5),ma(C,10),ma(C,20)) <= Min(ma(c,5),ma(C,10),ma(C,20))*1.01 and#3이평이 1%안 밀집 crossup(c,var3) and #종가가 볼댄중심 상향돌파 C >= O+PriceScale*P1 And C <= O+PriceScale*P2 and #P1틱 이상~P2틱 이하 몸통을 가지는 장대양봉 crossup(c,ma(c,5)) and # 종가가 5이평 상향돌파 crossup(var4,var5) Then#MACD가 시그널선 상향돌파 buy("b2"); #((매수진입추가)) #3) macd sig골든크로스와 동시에 전봉거래량대비 3배이상의거래량으로 장대양봉(몇틱이상 ~몇틱이하)으로 볼린저밴드 상단돌파시를 확정하고 그다음봉 시가에 진입한다. #진입후 익절은 10틱 손절은 5일선하락이나 -6틱손실시에 매수청산을 추가해주세요. if crossup(c,var1) and #종가가 볼밴상단 상향돌파 C >= O+PriceScale*P1 And C <= O+PriceScale*P2 and #P1틱 이상~P2틱 이하 몸통을 가지는 장대양봉 V >= V[1]*3 and #진적봉대비 거래량 3개 증가 crossup(var4,var5) Then#MACD가 시그널선 상향돌파 buy("b3"); #손절 SetStopLoss(PriceScale*6,PointStop); #목표이익 SetStopProfittarget(PriceScale*10,PointStop); if MarketPosition == 1 Then{ #진입봉(장대양봉)의 저가 이탈 ExitLong("bx1",AtStop,L[BarsSinceEntry]-PriceScale); #MACD데드 if CrossDown(var4,var5) Then exitlong("bx2"); } #5일선 하락 매수청산 if MarketPosition == 1 and ma(c,5) < ma(C,5)[1] Then exitlong(); 즐거운 하루되세요 ================================================================== 안녕하세요 예스스탁입니다. 1. input : P(5); var : D1(0),MM(0); MM = stime%100; D1 = C/ma(c,P)*100; #이격3개가 모두 99.5이하인 시점에 매수진입 if CrossDown(d1,99.5) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then buy("b",OnClose,def,1); #이격3개가 모두 100.5이상인 시점에 매도진입 if crossup(d1,100.05) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then sell("s",OnClose,def,1); #매수진입후 if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then var1 = H; if H > var1 Then var1 = H; #진입이 1번일경우 if MaxEntries == 1 Then{ #15틱 하락하면 1계약 추가매수진입 buy("bb",atlimit,EntryPrice-PriceScale*15,1); #진입가+10틱에 청산 ExitLong("bp1",Atlimit,EntryPrice+PriceScale*10); #4틱이상 상승후 진입가+2틱에 도달하면 매수청산 if var1 >= EntryPrice+PriceScale*4 Then exitlong("bx1",AtStop,EntryPrice+PriceScale*2); } #진입이 2번일 경우 if MaxEntries == 2 Then{ #청산이 아직 발생하지 않은 경우 평단가+4틱 수익이면 1계약청 if CurrentContracts == MaxContracts Then ExitLong("bp21",Atlimit,avgEntryPrice+PriceScale*4,"",1,1); #일부청산이 된 경우 if CurrentContracts < MaxContracts Then #평단가 +10틱이상이면 나머지 청산 ExitLong("bp22",Atlimit,AvgEntryPrice+PriceScale*10); #평단가 +4틱이상 상승후 하락해서 평단가+4틱에 도달하면 나머지 청산 if var1 > AvgEntryPrice+PriceScale*4 Then exitlong("bx2",AtStop,EntryPrice+PriceScale*4); } } #매도진입후 if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then var2 = L; if L < var2 Then var2 = L; #진입이 1번일경우 if MaxEntries == 1 Then{ #15틱 상승하면 1계약 추가매도진입 sell("ss",atlimit,EntryPrice+PriceScale*15,1); #진입가-10틱에 청산 ExitShort("sp1",Atlimit,EntryPrice-PriceScale*10); #4틱 하락 후 진입가-2틱에 도달하면 매도청산 if var2 <= EntryPrice-PriceScale*4 Then ExitShort("sx1",AtStop,EntryPrice-PriceScale*2); } #진입이 2번일 경우 if MaxEntries == 2 Then{ if CurrentContracts == MaxContracts Then ExitShort("sp21",Atlimit,avgEntryPrice-PriceScale*4); if CurrentContracts < MaxContracts Then ExitShort("sp22",Atlimit,AvgEntryPrice-PriceScale*10); if var2 < AvgEntryPrice-PriceScale*4 Then ExitShort("sx2",AtStop,EntryPrice-PriceScale*4); } } 2 가능하지 않습니다. 봉미완성시 조건체크해서 신호나오게 할수는 없습니다. 즐거운 하루되세요 안녕하세요 예스스탁입니다. var : box(0); var1 = BollBandDown(40,2); Var2 = BollBandDown(80,2); Condition1 = var1 < Var2; if Condition1 == true Then { if Condition1[1] == False Then { box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,Yellow); Box_SetFill(box,true); Box_SetExtFill(box,true); } Else { Box_SetEnd(box,NextBarSdate,NextBarStime,l); } } 즐거운 하루되세요
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-02-16 11:25:16

안녕하세요 예스스탁입니다. var : TX63(0); Input : 이격도81(20),Period86(5); var : DParity(0),mav86(0),count(0); DParity = Disparity(이격도81); mav86 = ma(DParity,Period86); var81 = ma(mav86,3) ; var82 = ma(var81,3) ; var83 = ma(var82,3) ; var84 = ma(var82,3) ; var85 = ma(var82,3) ; var86 = ma(mav86,12) ; Plot1(Var86) ; ## var: TX63(0); count = 0; if var85 > var86 Then { count = count+1; TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*3,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(250,0,250)); Text_SetSize(TX63,12); } if var85 < var84+PriceScale*3 Then { count = count+1; TX63 = Text_New_Self(sDate,sTime,var85+PriceScale*6,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,0,255)); Text_SetSize(TX63,12); } if var85+PriceScale*3 > var83 Then { count = count+1; TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*9,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,0,0)); Text_SetSize(TX63,12); } if var85+PriceScale*3 > var83-PriceScale*8 Then { count = count+1; TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*15,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,135,0)); Text_SetSize(TX63,12); } if count >= 3 Then { TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*20,"★"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,135,0)); Text_SetSize(TX63,12); } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 수식좀 요청 드립니다(수직선) > * 항상 많은 도움에 고맙습니다. * 아래 수식을 적용 하면 4개의 점선이 생김니다 참고사항 : 실제 수식은 아래 조건임 if StoD < 20 Then if slowMA > slowMA[2] Then if Signal2 and wasUp[1] Then if Midline < Midline[2] Then * 요청 사항: 4개 점선중 3개 이상(3포함)의 점선이 생기면 5번재 점(★)으로 한줄 더 요청 합니다. 즉 1~2개의 점(●) 이면 안 생기고 한봉에 점(●)이 3개이상(3포함) 이면 5번재 점(★)이 찍히고 ★선 기준봉에 수직선이 그려 질수 있도록 부탁 드립니다. ## 수직선: TL_New(sDate,sTime,c,sDate,sTime,999); ## 아래 수식 (이것중 3개 이상이면 별점 생기고 수평선 부탁 드립니다) var : TX63(0); Input : 이격도81(20),Period86(5); var : DParity(0),mav86(0); DParity = Disparity(이격도81); mav86 = ma(DParity,Period86); var81 = ma(mav86,3) ; var82 = ma(var81,3) ; var83 = ma(var82,3) ; var84 = ma(var82,3) ; var85 = ma(var82,3) ; var86 = ma(mav86,12) ; Plot1(Var86) ; ## var: TX63(0); if var85 > var86 Then { TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*3,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(250,0,250)); Text_SetSize(TX63,12); } if var85 < var84+PriceScale*3 Then { TX63 = Text_New_Self(sDate,sTime,var85+PriceScale*6,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,0,255)); Text_SetSize(TX63,12); } if var85+PriceScale*3 > var83 Then { TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*9,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,0,0)); Text_SetSize(TX63,12); } if var85+PriceScale*3 > var83-PriceScale*8 Then { TX63 = Text_New_Self(sDate,sTime,var85-PriceScale*15,"●"); Text_SetStyle(TX63,2,1); Text_SetColor(TX63,Rgb(0,135,0)); Text_SetSize(TX63,12); } * 고맙습니다 좋은 시간 되십시요.