커뮤니티

수식추가

프로필 이미지
아트정
2024-03-08 10:04:28
736
글번호 177298
답변완료
Inputs : Period(170), Sence(1.3), CC_DN(Yellow); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0), JustChanged(FALSE), VLine(0), DBN(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 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 - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); /*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red); else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue); */ end; input : P(10),short(12),long(26),sig(9); var : mav(0),macdo(0),T(0); mav = ma(C,P); MACDo = MACD_OSC(short,long,sig); if T <= 0 and upwave[1] and c > mav and macdo > 0 Then { t =1; Buy(); } if T >= 0 and dnwave[1] and c < mav and macdo < 0 Then { T = -1; Sell(); } 안녕하세요 위식에서 추가부탁드립니다 DATE 2 30분봉 추가 INPUT 30분봉 매수 기존식에서 30분봉 양봉일때 매수 매도 기존식 + 30분봉 음봉일때 매도
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-03-08 14:51:16

안녕하세요 예스스탁입니다. 수식에서 차트의 주기는 설정이 가능하지 않습니다. data2의 주기를 외부변수로 처리를 할 수 없습니다. Inputs : Period(20), Sence(1.5), CC_DN(Yellow); Vars: VLineUp(0,Data1), VLineDn(0,Data1), HHighest(0,Data1), LLowest(0,Data1), JustChanged(FALSE,Data1), VLine(0,Data1), DBN(0,Data1); Array: Highs[35](0,Data1), Lows[35](0,Data1), RRange[35](0,Data1), UpWave[1](FALSE,Data1), DnWave[1](FALSE,Data1); var :v1(0,Data1),v2(0,Data1),v3(0,Data1),v5(0,Data1),v6(0,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(CurrentBar) <= V2 then begin Highs[data1(CurrentBar)] = data1(Close); Lows[data1(CurrentBar)] = data1(Close); RRange[data1(CurrentBar)] = Data1((H-L) /2); end; if CurrentBar == 1 then begin if Highs[2] >= Highs[3] then begin UpWave[1] = TRUE; HHighest = Highs[2]; VLineUp = HHighest - (5 * MA(6,2)); end; if Highs[2] < Highs[3] then begin DnWave[1] = TRUE; LLowest = Lows[2]; VLineDn = LLowest + (5 * MA(6,2)); 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 * MA(v6,v2)); VLineDn = LLowest + (v5 * MA(v6,v2)); /*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red); else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue); */ end; input : P(10),short(12),long(26),sig(9); var : mav(0,Data1),macdo(0,Data1),T(0,Data1); mav = data1(ma(C,P)); MACDo = data1(MACD_OSC(short,long,sig)); if T <= 0 and upwave[1] and c > mav and macdo > 0 and Data2(C>O) Then { t =1; Buy(); } if T >= 0 and dnwave[1] and c < mav and macdo < 0 and Data2(C<O) Then { T = -1; Sell(); } 즐거운 하루되세요 > 아트정 님이 쓴 글입니다. > 제목 : 수식추가 > Inputs : Period(170), Sence(1.3), CC_DN(Yellow); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0), JustChanged(FALSE), VLine(0), DBN(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 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 - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); /*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red); else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue); */ end; input : P(10),short(12),long(26),sig(9); var : mav(0),macdo(0),T(0); mav = ma(C,P); MACDo = MACD_OSC(short,long,sig); if T <= 0 and upwave[1] and c > mav and macdo > 0 Then { t =1; Buy(); } if T >= 0 and dnwave[1] and c < mav and macdo < 0 Then { T = -1; Sell(); } 안녕하세요 위식에서 추가부탁드립니다 DATE 2 30분봉 추가 INPUT 30분봉 매수 기존식에서 30분봉 양봉일때 매수 매도 기존식 + 30분봉 음봉일때 매도