OANDA:XAUUSD   Spot Altın/ABD Doları
//@version=5
indicator('Zonas Horarias y Zig Zag Combinados', shorttitle='ZHZC', overlay=true, max_lines_count=500, max_labels_count=500)

// Definir el tipo de datos para utc_offset
var int utc_offset = na

// Configuración de la zona horaria local
zona_horaria = input.string('Asia', title='Zona Horaria Local', options=)

// Convertir la zona horaria a desfase horario en minutos
if zona_horaria == 'Asia'
utc_offset := 9 * 60
if zona_horaria == 'Londres'
utc_offset := 5 * 60
if zona_horaria == 'New York'
utc_offset := -5 * 60
if zona_horaria == 'Australia'
utc_offset := 11 * 60

// Configuración de la zona horaria de Asia
inicioAsia = 19
finAsia = 5
colorAsia = input.color(color.yellow, title="Color de fondo para Asia")

// Configuración de la zona horaria de Londres
inicioLondres = 3
finLondres = 13
colorLondres = input.color(color.black, title="Color de fondo para Londres")

// Configuración de la zona horaria de New York
inicioNewYork = 7
finNewYork = 13
colorNewYork = input.color(color.rgb(56, 54, 165), title="Color de fondo para New York")

// Configuración de la zona horaria de Australia
inicioAustralia = 17
finAustralia = 2
colorAustralia = input.color(color.red, title="Color de fondo para Australia")

// Configuración de la sesión personalizada
s = '0100-0101'
t1 = time('1440', s) != 0
colorSesion = input.color(color.white, title="Color de fondo para la sesión personalizada")

// Obtener la hora actual en la zona horaria local
hora_local = hour(time, timezone="UTC") + minute(time, timezone="UTC") / 60 + utc_offset / 60

// Resaltar el fondo para la zona horaria de Londres
bgcolor(hora_local >= inicioLondres and hora_local < finLondres ? colorLondres : na)

// Resaltar el fondo para la zona horaria de Asia
bgcolor(hora_local >= inicioAsia or hora_local < finAsia ? colorAsia : na)

// Resaltar el fondo para la zona horaria de New York
bgcolor(hora_local >= inicioNewYork and hora_local < finNewYork ? colorNewYork : na)

// Resaltar el fondo para la zona horaria de Australia
bgcolor(hora_local >= inicioAustralia or hora_local < finAustralia ? colorAustralia : na)

// Resaltar el fondo para la sesión personalizada
bgcolor(t1 ? colorSesion : na)


// Importar la biblioteca Zig Zag
import TradingView/ZigZag/7 as ZigZagLib

// Crear instancia de Zig Zag desde la configuración del usuario.
var zigZag = ZigZagLib.newInstance(
ZigZagLib.Settings.new(
input.float(0.12, "Desviación de precio para reversión (%)", 0.00001, 100.0, 0.5, "0.00001 - 100"),
input.int(5, "Piernas de pivote", 2),
input.color(#2962FF, title="Color de la línea Zig Zag"),
input(true, "Extender a la última barra", display = display.data_window),
input(true, "Mostrar precio de reversión", display = display.data_window),
input(true, "Mostrar volumen acumulativo", display = display.data_window),
input(true, "Mostrar cambio de precio de reversión", inline = "priceRev", display = display.data_window),
input.string("Absoluto", "", , inline = "priceRev", display = display.data_window),
true)
)

// Actualizar el objeto 'zigZag' en cada barra con nuevos pivotes, volumen, líneas, etiquetas.
zigZag.update()
Feragatname

Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.