답변완료
문의드립니다
1. 아래수식에서 매수신호와 매도신호 동시발생시에는 진입금지를 할수있을까요?input : 기준금액(1000000),단위(50000),단위수량(10); input : short(12),long(26); var : macd2(0,Data2); macd2 = Data2(macd(short,long)); if MarketPosition == 0 and data2(CrossDown(macd2,0)) Then Buy("b",OnClose,Def,Floor(Floor(기준금액/c)/단위수량)*단위수량); if MarketPosition == 1 Then { var1 = C*CurrentContracts; var2 = var1-기준금액; var3 = IntPortion(var2/단위); if var3 > 0 and abs(var3)*단위 > C Then { ExitLong("bx",OnClose,Def,"",floor(Floor((abs(var3)*단위)/C)/단위수량)*단위수량,2); } if Data2(CrossUp(macd2,0)) Then ExitLong("x"); if var3 < 0 and abs(var3)*단위 > C Then { Buy("bb",OnClose,floor(Floor((abs(var3)*단위)/C)/단위수량)*단위수량); } }
답변완료
부탁드립니다
var : Period(20),Period1(60),Per(25),소수점자리(1),DARTno(7);var : T(0),HTL(0),HTL1(0),LTL(0),LTL1(0),cnt(0);var : tx1(0),tx2(0),HHTL(0),LLTL(0),TL(0);Array : HD[20](0),HT[20](0),HH[20](0);Array : LD[20](0),LT[20](0),LL[20](0);var1 = ma(C,Period);var2 = ma(C,Period1); if T <= 0 and CrossUp(var1,var2) Then{ T = 1; For cnt = 19 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HH[cnt] = HH[cnt-1]; } HD[0] = sDate; HT[0] = stime; HH[0] = H; TL_SetExtRight(HTL,False); HTL = TL_New(HD[0],HT[0],HH[0],NextBarSdate,NextBarStime,HH[0]); TL_SetColor(HTL,Red); TL_SetSize(HTL, 0); TL_SetStyle(HTL, 1); TL_SetExtRight(HTL,true); TL_SetDrawMode(HTL,0); HTL1 = HTL[1]; TL_SetEnd(HTL1,sDate[1],sTime[1],HH[1]);}if T >= 0 and CrossDown(var1,var2) Then{ T = -1; For cnt = 19 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LL[cnt] = LL[cnt-1]; } LD[0] = sDate; LT[0] = stime; LL[0] = L; TL_SetExtRight(LTL,False); LTL = TL_New(LD[0],LT[0],LL[0],NextBarSdate,NextBarStime,LL[0]); TL_SetColor(LTL,Blue); TL_SetSize(LTL, 0); TL_SetStyle(LTL, 1); TL_SetExtRight(LTL,true); TL_SetDrawMode(LTL,0); LTL1 = LTL[1]; TL_SetEnd(LTL1,sDate[1],sTime[1],LL[1]);}if T == 1 Then{ if HH[0] > 0 and H > HH[0] Then { HD[0] = sdate; HT[0] = sTime; HH[0] = H; TL_SetBegin(HTL,HD[0],HT[0],HH[0]); TL_SetEnd(HTL1,sDate[1],sTime[1],HH[1]); }}TL_SetEnd(HTL,NextBarSdate,NextBarStime,HH[0]);if T == -1 Then{ if LL[0] > 0 and L < LL[0] Then { LD[0] = sdate; LT[0] = sTime; LL[0] = L; TL_SetBegin(LTL,LD[0],LT[0],LL[0]); TL_SetEnd(LTL1,sDate[1],sTime[1],LL[1]); }}TL_SetEnd(LTL,NextBarSdate,NextBarStime,LL[0]);Plot1(var1,"이동평균선1");Plot2(var2,"이동평균선2");위의 지표에 아래의 기능을 추가하고자 합니다 if hh <= hh1 Then tx = "▽ "+NumToStr(hh,2); Else tx = NumToStr(hh,2);
답변완료
조건검색문의드립니다
2가지 수정 변환 부탁드리겠습니다 [1]수식을 적용했는데 첨부이미지 에러가 뜨는데 수정좀 부탁드리겠습니다 (수정에러가 자꾸 뜨서 부탁드립니다) Input : Period_BB(20); Input : Dev_BB(2); Input : Band_LLV(100); Input : Band_Expand(1.3); Input : Period_KDJ(9), Period_SigK(3), Period_SigD(3); Input : K_Under(30); var : vBasis(0), vDev(0), vUpper(0), vLower(0); var : vBBWidth(0); var : vMinWidth(0); var : vLL(0), vHH(0), vFastK(0); var : vK(0), vD(0); var : Cond_Compress(False), Cond_Expand(False); var : Cond_KDJ_Cross(False), Cond_KDJ_Area(False); var : TotalSum(0), i(0), SumOfSquaredDiffs(0), StdDev(0), Mean(0); vLL = Lowest(L, Period_KDJ); vHH = Highest(H, Period_KDJ); if vHH > vLL Then vFastK = ((C - vLL) / (vHH - vLL)) * 100 Else vFastK = 50; vK = MA(vFastK, Period_SigK); vD = MA(vK, Period_SigD); vBasis = ma(C, Period_BB); TotalSum = 0; For i = 0 to Period_BB - 1 begin TotalSum = TotalSum + C[i]; end; Mean = TotalSum / Period_BB; SumOfSquaredDiffs = 0; For i = 0 to Period_BB - 1 begin SumOfSquaredDiffs = SumOfSquaredDiffs + (C[i] - Mean) * (C[i] - Mean); end; StdDev = SquareRoot(SumOfSquaredDiffs / Period_BB); vDev = Dev_BB * StdDev; vUpper = vBasis + vDev; vLower = vBasis - vDev; if vBasis > 0 Then vBBWidth = ((vUpper - vLower) / vBasis) * 100 Else vBBWidth = 0; vMinWidth = Lowest(vBBWidth, Band_LLV); Cond_Compress = vBBWidth[1] <= vMinWidth[1]; Cond_Expand = vBBWidth > vBBWidth[1] * Band_Expand; Cond_KDJ_Cross = CrossUp(vK, vD); Cond_KDJ_Area = vK < K_Under; If Cond_Compress and Cond_Expand and Cond_KDJ_Cross and Cond_KDJ_Area Then Find(1); [2] 조건검색식으로 신호떴을때 검색되도록 변환부탁드립니다 //@version=5 indicator("Quantum Trend Scalper , overlay=true, max_boxes_count=500, max_lines_count=500) // ────────────────────────────── 설정 ────────────────────────────── emaFastLen = input.int(8, "EMA 빠른") emaSlowLen = input.int(21, "EMA 느린") atrPeriod = input.int(7, "SuperTrend ATR 기간") atrMult = input.float(1.8, "SuperTrend 멀티", step=0.1) squeezeLen = input.int(20, "Squeeze 길이") showVWAP = input.bool(true, "VWAP 필터 켜기") // ────────────────────────────── 1. EMA 8/21 ────────────────────────────── emaFast = ta.ema(close, emaFastLen) emaSlow = ta.ema(close, emaSlowLen) golden = ta.crossover(emaFast, emaSlow) death = ta.crossunder(emaFast, emaSlow) plot(emaFast, color=#00ff00, linewidth=2, title="EMA 8") plot(emaSlow, color=#ff0000, linewidth=2, title="EMA 21") // ────────────────────────────── 2. SuperTrend ────────────────────────────── [supertrend, direction] = ta.supertrend(atrMult, atrPeriod) plot(supertrend, "SuperTrend", color=direction < 0 ? color.red : color.lime, linewidth=2, style=plot.style_circles) // ────────────────────────────── 3. TTM Squeeze Momentum ────────────────────────────── basis_sqz = ta.sma(close, squeezeLen) dev_sqz = ta.stdev(close, squeezeLen) kcUpper = basis_sqz + 1.5 * dev_sqz kcLower = basis_sqz - 1.5 * dev_sqz squeezeOn = (kcLower > supertrend) or (kcUpper < supertrend) squeezeOff = not squeezeOn mom = close - (basis_sqz + kcUpper + kcLower) / 2 momCol = mom > 0 ? (mom > mom[1] ? color.lime : color.green) : (mom < mom[1] ? color.red : color.maroon) // ────────────────────────────── 4. Volume + VWAP 필터 (오류 완전 해결) ────────────────────────────── volSurge = volume > ta.sma(volume, 20) * 2 // VWAP intraday 오류 해결 버전 (모든 타임프레임 완벽 작동) vwapVal = ta.vwap(hlc3) // ta. 로 명시적 호출 + hlc3 사용 plot(showVWAP ? vwapVal : na, color=color.new(color.yellow, 70), linewidth=2, title="VWAP") aboveVWAP = close > vwapVal //
답변완료
전략식 안에서 다른 시간대 설정을 하려면 어떻게 해야 하나요?
표현을 어떻게 해야 할지 잘 몰라 ...... 질문이 이상합니다만,예를 들어240분 챠트에 전략식을 실행시킨 상황에서세부 조건을 다시 10분봉을 기준으로 진입설정을 하고 싶습니다.그런데, open[0] 식의 표현외 meta4 처럼 다양한 시간대를 지정해서 전략을 짜려면 어떻게 구별해야할지?double open_dopen_d=iOpen(null,1440,0)double open_4Hopen_4H=iOpen(NULL,240,0)double open_10mopen_10m=iOpen(NULL,10,0)당연히 될 것으로 생각하고 찾아보니 특별한 설명을 못찾았습니다.