Modificación de codigo
Forums › ProRealTime foro Español › Soporte ProBuilder › Modificación de codigo
- This topic has 4 replies, 3 voices, and was last updated 1 month ago by
larouedegann.
-
-
12/23/2024 at 9:42 AM #241722
Buenos días,
Tengo este código Mensual en grafico de 15 minutos y necesito resolver dos cosas:
1-no consigo que me coja como inicio horario las 01:00
2- como saco la variable de volatilidad = 4 fuera del codigo como un parametro que pueda modificar??
// Variables de configuración
OpeningHour = 010010 // Hora de apertura SI AQUI PONGO 010000 SE VA AL MES DE OCTUBRE EN LUGAR DE DICIEMBRE
volatilidad = 4
startDayOfMonth = 2 // Día del mes para empezar a dibujar la línea de apertura, ESTO LOTENGO ASÍ POR SI EL MES INICIA EN DIA FESTIVO
openDayOfMonth = 2 // Día del mes para dibujar la línea de aperturaTargetPercentage1 = 0.50 // Porcentaje objetivo 1
TargetPercentage2 = -0.50 // Porcentaje objetivo 2
TargetPercentage3 = 1 // Porcentaje objetivo 3
TargetPercentage4 = -1 // Porcentaje objetivo 4AdjustedTargetPercentage1 = TargetPercentage1 * volatilidad
AdjustedTargetPercentage2 = TargetPercentage2 * volatilidad
AdjustedTargetPercentage3 = TargetPercentage3 * volatilidad
AdjustedTargetPercentage4 = TargetPercentage4 * volatilidad// Variables internas
// Definir dayofmonth correctamente para obtener el día del mes
dayofmonth = day
isFirstTradingDay = 0// Verificar el primer día hábil del mes a partir del día especificado
IF dayofmonth = openDayOfMonth AND opentime >= OpeningHour AND opentime[1] < OpeningHour THEN
LastMonthlyOpen = MonthlyOpen
LastMonthlyIdx = MonthlyIdx
LastTargetLevel1 = TargetLevel1
LastTargetLevel2 = TargetLevel2
LastTargetLevel3 = TargetLevel3
LastTargetLevel4 = TargetLevel4MonthlyOpen = Open // Guardar el precio de apertura semanal
MonthlyIdx = barindex
TargetLevel1 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage1 / 100) // Calcular el nivel objetivo 1
TargetLevel2 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage2 / 100) // Calcular el nivel objetivo 2
TargetLevel3 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage3 / 100) // Calcular el nivel objetivo 3
TargetLevel4 = MonthlyOpen + (MonthlyOpen * AdjustedTargetPercentage4 / 100) // Calcular el nivel objetivo 4ENDIF
// Dibujar la línea del precio de apertura semanal en color naranja
DRAWSEGMENT(LastMonthlyIdx, LastMonthlyOpen, MonthlyIdx, LastMonthlyOpen) COLOURED(127, 255, 0) style(dottedline)// Dibujar las líneas de los niveles objetivos
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel1, MonthlyIdx, LastTargetLevel1) COLOURED(255, 165, 0) style(dottedline)
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel2, MonthlyIdx, LastTargetLevel2) COLOURED(255, 165, 0) style(dottedline)
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel3, MonthlyIdx, LastTargetLevel3) COLOURED(255, 165, 0) style(dottedline)
DRAWSEGMENT(LastMonthlyIdx, LastTargetLevel4, MonthlyIdx, LastTargetLevel4) COLOURED(255, 165, 0) style(dottedline)IF islastbarupdate THEN
// Dibujar la línea del precio de apertura semanal extendida en color naranja
DRAWSEGMENT(MonthlyIdx, MonthlyOpen, barindex + 10, MonthlyOpen) COLOURED(127, 255, 0) style(line)// Dibujar las líneas de los niveles objetivos extendidas
DRAWSEGMENT(MonthlyIdx, TargetLevel1, barindex + 10, TargetLevel1) COLOURED(255, 165, 0) style(line)
DRAWSEGMENT(MonthlyIdx, TargetLevel2, barindex + 10, TargetLevel2) COLOURED(255, 165, 0) style(line)
DRAWSEGMENT(MonthlyIdx, TargetLevel3, barindex + 10, TargetLevel3) COLOURED(255, 165, 0) style(line)
DRAWSEGMENT(MonthlyIdx, TargetLevel4, barindex + 10, TargetLevel4) COLOURED(255, 165, 0) style(line)ENDIF
RETURN
Muchas Gracias y Felices fiestas
12/23/2024 at 11:14 AM #241726Buenos días. Veo que ya habías generado un post relacionado con esto y te han contestado.
https://www.prorealcode.com/topic/dibujar-linea-de-apertura-y-dlinea-a-un-porcentaje-objetivo/
12/23/2024 at 11:28 AM #24172712/23/2024 at 4:53 PM #24173212/31/2024 at 5:23 PM #242007HOLA a todos,
publiqué en el sitio francés un codigo tradingwiew para transformarlo en prorealtime
” Momentum Bias Index”
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/// © AlgoAlpha//@version=5indicator(title="Momentum Bias Index [AlgoAlpha]", timeframe="", timeframe_gaps=false)source = input(close, title="Source")momentumLength = input.int(10, minval=1, title="Momentum Length")biasLength = input.int(5, minval=1, title="Bias Length")smoothLength = input.int(10, minval=1, title="Smooth Length")impulseBoundaryLength = input.int(30, minval=1, title="Impulse Boundary Length")stdDevMultiplier = input.float(3.0, minval=1, title="Standard Deviation Multiplier")smoothIndicator = input.bool(true, "Smooth Indicator")overlayMode = input.bool(false, "Overlay Mode")colorUp = input.color(#00ffbb, "Up Color")colorSecondaryUp = input.color(#008461, "Secondary Up Color")colorDown = input.color(#ff1100, "Down Color")colorSecondaryDown = input.color(#840900, "Secondary Down Color")momentum = source - source[momentumLength]stdDev = momentum / (ta.ema(high - low, momentumLength)) * 100momentumUp = math.max(stdDev, 0)momentumDown = math.min(stdDev, 0)momentumUpBias = smoothIndicator ? math.max(ta.hma(math.sum(momentumUp, biasLength), smoothLength), 0) : math.sum(momentumUp, biasLength)momentumDownBias = smoothIndicator ? math.max(ta.hma(-math.sum(momentumDown, biasLength), smoothLength), 0) : -math.sum(momentumDown, biasLength)averageBias = math.avg(momentumDownBias, momentumUpBias)chg1 = momentumUpBias*0.80chg2 = momentumUpBias*0.60chg3 = momentumUpBias*0.40chg4 = momentumUpBias*0.20chg1a = momentumDownBias*0.80chg2a = momentumDownBias*0.60chg3a = momentumDownBias*0.40chg4a = momentumDownBias*0.20boundary = ta.ema(averageBias, impulseBoundaryLength) + ta.stdev(averageBias, impulseBoundaryLength) * stdDevMultiplierbullishSignal = ta.crossunder(momentumDownBias, momentumDownBias[1]) and momentumDownBias > boundary and momentumDownBias > momentumUpBiasbearishSignal = ta.crossunder(momentumUpBias, momentumUpBias[1]) and momentumUpBias > boundary and momentumUpBias > momentumDownBiascandleColor = overlayMode ? (momentumUpBias > momentumDownBias ? colorUp : momentumUpBias < momentumDownBias ? colorDown : color.gray) : natransp = 20plot(momentumUpBias > momentumUpBias[1] ? momentumUpBias : na, color = momentumUpBias > momentumUpBias[1] ? colorUp : colorSecondaryUp, style = plot.style_columns, display = not overlayMode ? display.all : display.none)plot(momentumDownBias > momentumDownBias[1] ? momentumDownBias : na, color = momentumDownBias > momentumDownBias[1] ? colorDown : colorSecondaryDown, style = plot.style_columns, display = not overlayMode ? display.all : display.none)plot(momentumUpBias < momentumUpBias[1] ? momentumUpBias : na, color = color.new(colorSecondaryUp, transp+60), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumUpBias < momentumUpBias[1] ? chg1 : na, color = color.new(colorSecondaryUp, transp+55), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumUpBias < momentumUpBias[1] ? chg2 : na, color = color.new(colorSecondaryUp, transp+45), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumUpBias < momentumUpBias[1] ? chg3 : na, color = color.new(colorSecondaryUp, transp+30), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumUpBias < momentumUpBias[1] ? chg4 : na, color = color.new(colorSecondaryUp, transp+25), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumUpBias < momentumUpBias[1] ? momentumUpBias : na, color = color.new(colorUp, transp), style = plot.style_linebr, display = not overlayMode ? display.all : display.none)plot(momentumDownBias < momentumDownBias[1] ? momentumDownBias : na, color = color.new(colorSecondaryDown, transp+60), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumDownBias < momentumDownBias[1] ? chg1a : na, color = color.new(colorSecondaryDown, transp+55), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumDownBias < momentumDownBias[1] ? chg2a : na, color = color.new(colorSecondaryDown, transp+45), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumDownBias < momentumDownBias[1] ? chg3a : na, color = color.new(colorSecondaryDown, transp+30), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumDownBias < momentumDownBias[1] ? chg4a : na, color = color.new(colorSecondaryDown, transp+25), style = plot.style_columns, linewidth = 4, display = not overlayMode ? display.all : display.none)plot(momentumDownBias < momentumDownBias[1] ? momentumDownBias : na, color = color.new(colorDown, transp), style = plot.style_linebr, display = not overlayMode ? display.all : display.none)plot(boundary, style = plot.style_circles, color = color.gray, display = not overlayMode ? display.all : display.none)plotshape(bullishSignal ? momentumDownBias * 1.2 : na, title = "Bullish TP Signal", color = color.new(colorUp, 30), textcolor = color.rgb(255, 255, 255), text = "TP", style = shape.labelup, location = location.belowbar, size = size.tiny, display = overlayMode ? display.all : display.none)plotshape(bearishSignal ? momentumUpBias * 1.2 : na, title = "Bearish TP Signal", color = color.new(colorDown, 30), textcolor = color.rgb(255, 255, 255), text = "TP", style = shape.labeldown, location = location.abovebar, size = size.tiny, display = overlayMode ? display.all : display.none)plotchar(bullishSignal ? momentumDownBias * 1.2 : na, "Bullish TP Signal", "X", location.absolute, color = color.new(colorUp, 30), size = size.tiny, display = not overlayMode ? display.all : display.none)plotchar(bearishSignal ? momentumUpBias * 1.2 : na, "Bearish TP Signal", "X", location.absolute, color = color.new(colorDown, 30), size = size.tiny, display = not overlayMode ? display.all : display.none)plotcandle(open, high, low, close, "Candle Color", candleColor, candleColor, bordercolor = candleColor, display = overlayMode ? display.all : display.none)Traducido por jeangermain y le agradezco. ci dessous le code prorealtime
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263momentumLength = 10biasLength = 5smoothLength = 10impulseBoundaryLength = 30stdDevMultiplier = 3.0smoothIndicator =1// Calcul de Momentum et Déviation Standardmoment = close - close[momentumLength]stdDev = moment / ExponentialAverage[momentumLength](high - low) * 100momentumUp = max(stdDev, 0)momentumDown = min(stdDev, 0)// Calcul des sommes avec une bouclesumMomentumUp = 0sumMomentumDown = 0FOR i = 0 TO biasLength - 1 DOsumMomentumUp = sumMomentumUp + momentumUp[i]sumMomentumDown = sumMomentumDown + momentumDown[i]NEXT// Lissage et calcul des biaisIF smoothIndicator=1 THENsmoothedMomentumUp = HullAverage[smoothLength](momentumUp)smoothedMomentumDown = HullAverage[smoothLength](momentumDown)momentumUpBias = max(smoothedMomentumUp, 0)momentumDownBias = max(-smoothedMomentumDown, 0)ELSEmomentumUpBias = max(sumMomentumUp, 0)momentumDownBias = max(-sumMomentumDown, 0)ENDIF// Moyenne des biaisaverageBias = (momentumDownBias + momentumUpBias) / 2// Calcul de la limite (boundary)boundary = ExponentialAverage[impulseBoundaryLength](averageBias) + STD[impulseBoundaryLength](averageBias) * stdDevMultiplier// Affichage des signauxbullishSignal = momentumDownBias < momentumDownBias[1] AND momentumDownBias > boundary AND momentumDownBias > momentumUpBiasbearishSignal = momentumUpBias < momentumUpBias[1] AND momentumUpBias > boundary AND momentumUpBias > momentumDownBiasIF bullishSignal and not bullishSignal[1] THENDRAWTEXT("X", barindex, momentumDownBias + 0.2 * momentumDownBias, dialog, bold, 14) coloured(0, 175, 0)ENDIFIF bearishSignal and not bearishSignal[1] THENDRAWTEXT("X", barindex, momentumUpBias + 0.2 * momentumUpBias, dialog, bold, 14) coloured(150, 0, 0)ENDIFif momentumUpBias > momentumUpBias[1] thenr = 0g = 255b = 0endifif momentumUpBias < momentumUpBias[1] thenr =0g =150b =0endifif momentumDownBias > momentumDownBias[1] thenr =255g = 0b = 0endifif momentumDownBias < momentumDownBias[1] thenr = 150g = 0b = 0endifRETURN boundary as "boundary", momentumUpBias coloured(r, g, b) style(histogram, 1) as "momentumUp", momentumDownBias coloured(r,g,b) style(histogram, 1) as "momentumDown"Hay diferencias entre tradig wiew y PRT (ver archivos)
gracias por su ayuda -
AuthorPosts
Find exclusive trading pro-tools on