커뮤니티

식수정

프로필 이미지
아트정
2023-01-09 19:10:03
953
글번호 165238
답변완료
Inputs : Period(20), Sence(1.5), CC_DN(Yellow); Input : BBP1(20), dv1(2); input : BBP2(20),dv2(2),P2(10); var : BBdown(0,Data1),BBUp(0,Data1),BandB(0,Data1); var : bbup2(0,Data2),bbdn2(0,Data2),mav2(0,Data2),B(0,Data1),S(0,Data1),X(0,Data1); Vars: VLineUp(0,Data1), VLineDn(0,Data1), HHighest(0,Data1), LLowest(0,Data1), JustChanged(FALSE,Data1), VLine(0,Data1), DBN(0,Data1); var : ci(0,Data1),t(0,Data1),v1(0,Data1),v2(0,Data1),v3(0,Data1),v5(0,Data1),v6(0,Data1); Array: Highs[35](0,Data1), Lows[35](0,Data1), RRange[35](0,Data1), UpWave[1](FALSE,Data1), DnWave[1](FALSE,Data1); If data1(STime == 180000) Then DBN = 0; DBN = DBN + 1; v1 = Period; v2 = v1 - 1; v3 = v1 - 2; v5 = Sence; v6 = data1(H-L); JustChanged = FALSE; if Data1(Index) >= Period Then ci = ci+1; if ci <= v2 then begin Highs[ci] = Close; Lows[ci] = Close; RRange[ci] = (H-L) /2; end; if ci == v1 then begin if Highs[v2] >= Highs[v3] then begin UpWave[1] = TRUE; HHighest = Highs[v2]; VLineUp = HHighest - (v5 * data1(MA(v6,v2))); end; if Highs[v2] < Highs[v3] then begin DnWave[1] = TRUE; LLowest = Lows[v2]; VLineDn = LLowest + (v5 * data1(MA(v6,v2))); end; end; if CurrentBar > v1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (v5 * data1(MA(v6,v2))); VLineDn = LLowest + (v5 * data1(MA(v6,v2))); if UpWave[1] then t = 1; else if DnWave[1] then t= -1; end; BBDown = data1(BollBandDown(BBP1,Dv1)); BBUp = data1(BollBandUp(BBP1,Dv1)); BandB = Data1(((C-BBDown)/(BBUp-BBDown))*100); bbup2 = Data2(BollBandUp(BBP2,dv2)); bbdn2 = Data2(BollBandUp(BBP2,dv2)); mav2 = Data2(ma(C,P2)); if t == 1 and crossup(BandB,0) and bbup2-bbdn2 <= PriceScale*100 and Data2(C>O) and Data2(C>mav2) Then Buy("b"); if t == -1 and crossdown(BandB,0) and bbup2-bbdn2 <= PriceScale*100 and Data2(C<O) and Data2(C<mav2) Then Sell("s"); if MarketPosition == 1 Then { if Data2(C<O and mav2 < mav2[1]) Then ExitLong("bx1"); if Data1(CountIf(C<O,2) == 2 and C < L[1]) Then ExitLong("bx2"); } if MarketPosition == -1 Then { if Data2(C>O and mav2 > mav2[1]) Then ExitShort("sx1"); if Data1(CountIf(C>O,2) == 2 and C > H[1]) Then ExitShort("sx2"); } 안녕하세요 위식에서 매도만 발생하는데 매수식도 나올수 있게 겁토부탁드려요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-01-10 14:56:48

안녕하세요 예스스탁입니다. 해당식 매도만 발생하지는 않습니다. 첨부된 그림과 같이 국내선물에 적용하면 매수와 매도가 발생하고 있습니다. 차트 주기에 따라 매수가 드물게 발생하는 경우가 있는데 해당 부분은 사용자분이 조건내용을 수정해 보셔야 합니다. 저희가 해결해 드릴수 없습니다. 즐거운 하루되세요 > 아트정 님이 쓴 글입니다. > 제목 : 식수정 > Inputs : Period(20), Sence(1.5), CC_DN(Yellow); Input : BBP1(20), dv1(2); input : BBP2(20),dv2(2),P2(10); var : BBdown(0,Data1),BBUp(0,Data1),BandB(0,Data1); var : bbup2(0,Data2),bbdn2(0,Data2),mav2(0,Data2),B(0,Data1),S(0,Data1),X(0,Data1); Vars: VLineUp(0,Data1), VLineDn(0,Data1), HHighest(0,Data1), LLowest(0,Data1), JustChanged(FALSE,Data1), VLine(0,Data1), DBN(0,Data1); var : ci(0,Data1),t(0,Data1),v1(0,Data1),v2(0,Data1),v3(0,Data1),v5(0,Data1),v6(0,Data1); Array: Highs[35](0,Data1), Lows[35](0,Data1), RRange[35](0,Data1), UpWave[1](FALSE,Data1), DnWave[1](FALSE,Data1); If data1(STime == 180000) Then DBN = 0; DBN = DBN + 1; v1 = Period; v2 = v1 - 1; v3 = v1 - 2; v5 = Sence; v6 = data1(H-L); JustChanged = FALSE; if Data1(Index) >= Period Then ci = ci+1; if ci <= v2 then begin Highs[ci] = Close; Lows[ci] = Close; RRange[ci] = (H-L) /2; end; if ci == v1 then begin if Highs[v2] >= Highs[v3] then begin UpWave[1] = TRUE; HHighest = Highs[v2]; VLineUp = HHighest - (v5 * data1(MA(v6,v2))); end; if Highs[v2] < Highs[v3] then begin DnWave[1] = TRUE; LLowest = Lows[v2]; VLineDn = LLowest + (v5 * data1(MA(v6,v2))); end; end; if CurrentBar > v1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (v5 * data1(MA(v6,v2))); VLineDn = LLowest + (v5 * data1(MA(v6,v2))); if UpWave[1] then t = 1; else if DnWave[1] then t= -1; end; BBDown = data1(BollBandDown(BBP1,Dv1)); BBUp = data1(BollBandUp(BBP1,Dv1)); BandB = Data1(((C-BBDown)/(BBUp-BBDown))*100); bbup2 = Data2(BollBandUp(BBP2,dv2)); bbdn2 = Data2(BollBandUp(BBP2,dv2)); mav2 = Data2(ma(C,P2)); if t == 1 and crossup(BandB,0) and bbup2-bbdn2 <= PriceScale*100 and Data2(C>O) and Data2(C>mav2) Then Buy("b"); if t == -1 and crossdown(BandB,0) and bbup2-bbdn2 <= PriceScale*100 and Data2(C<O) and Data2(C<mav2) Then Sell("s"); if MarketPosition == 1 Then { if Data2(C<O and mav2 < mav2[1]) Then ExitLong("bx1"); if Data1(CountIf(C<O,2) == 2 and C < L[1]) Then ExitLong("bx2"); } if MarketPosition == -1 Then { if Data2(C>O and mav2 > mav2[1]) Then ExitShort("sx1"); if Data1(CountIf(C>O,2) == 2 and C > H[1]) Then ExitShort("sx2"); } 안녕하세요 위식에서 매도만 발생하는데 매수식도 나올수 있게 겁토부탁드려요