Cuadrícula de Fibonacci - ¡Ayuda a ajustar el indicador!
Cuadrícula de Fibonacci - ¡Ayuda a ajustar el indicador!

 

Publi

Resultados 1 al 7 de 7

Tema: Cuadrícula de Fibonacci - ¡Ayuda a ajustar el indicador!

  1. #1
    2 Anexo(s) ¡Buenas tardes amigos!

    Tengo dificultades con el indicador a continuación. Me pregunto cómo puedo reemplazar las líneas de fibonacci para mostrar el precio en la cuadrícula en lugar de una barra (-) y reemplazar las MA también el precio, en lugar de aparecer una barra más gruesa (_).



    Código insertado/Dynamic Fibonacci Grid v1.1 (solo niveles)/---------------------------------- ---------------------------- #property indicador_chart_window extern int Shift = -97; Espaciado interno externo = 20; Ancho interno externo = 19; externo int MA_mode = 0; #define NSL 10/número de niveles de sombra #define NMA 7/número de MA, cambia ma_period#91;NMA-1#93; en consecuencia #define NTF 5/número de marcos de tiempo/carriles, cambie tfp#91;NTF#93; según doble fml#91;NTF#93;#91;NMA#93;;/las líneas de impulso se duplican bsl_up#91;NTF#93;#91;NSL#93;;/niveles de tonos de color hacia arriba double bsl_down#91;NTF#93;#91;NSL#93;;/niveles de tonos de color hacia abajo double bsl#91;NSL#93;;/distancias de tonos de color ('punto' ajustado) double srl#91;28#93;;/niveles de soporte/resistencia (total = 2*NSL NMA 1(Bid) ) precio doble, punto; doble tmpArray#91;NMA#93;, MA más bajo, MA más alto; int srgap, tfc, mac;/distancias de tonos de color int _bsl#91;NSL#93; = {10, 16, 26, 42, 68, 111, 179, 290, 470, 760};/tiempo sombras distancia int ma_period#91;7#93; = {21,34,55,75,100,144,233};/SMA, NMA-1 int tfp#91;NTF#93; = {1,5,15,60,240};/Marcos de tiempo/carriles - en minutos. Como H4=240, D1=1440 etc... int counted_bars, startBar, bar, i, y; int tf, c, desplazamiento, xUnit; cambio int, espaciamiento, ancho, soportes, resistencias;/tono de color#91;NSL#93; = {C'220,240,255', C'180,210,255', C'140,180,255', C'100,150,255', C'60,120,255', C'20,90,255', C'0,60,255', C'0,40,225', C' 0,30,200'}; color col, macolor; cadena objName, dir, MA, nombre; cadena IDÚnico = FXG: ; fecha y hora hora actual;/ -------------------------------------------------------- ------------------- /| Función de inicialización de indicador personalizado |/ -------------------------------------------------------- ------------------- int init() { xUnidad = Periodo() * 60; turno = Turno * xUnidad; espaciado = espaciado * xUnidad; ancho = Ancho * xUnidad; punto = 0,01; if(Dígitos gt; 3) punto = 0.0001;/ -------------------------------------------------------- ------------------- /| creando los objetos para dibujar la grilla |/ -------------------------------------------------------- ------------------- for(i=0; ilt;NSL; i ) bsl#91;i#93; = _bsl#91;i#93;*punto; for(tf=0; tflt;NTF; tf ) { for(i=0; ilt;NSL; i ) { #91;color=red#93;objName = uniqueid bsl_up_bar_ tf _ i;/líneas separadoras de la zona superior#91;/color#93; #91;color=rojo#93; ObjectCreate(objName, OBJ_TREND, 0, 0, 0, 0, 0);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_COLOR, clrBlack);#91;/color#93; #91;color=rojo#93;ObjectSet(objName, OBJPROP_RAY, false);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_WIDTH, 1);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_STYLE, 0);#91;/color#93; #91;color=rojo#93; objName = IDúnico bsl_down_bar_ tf _ i;/líneas separadoras de zona inferior#91;/color#93; #91;color=rojo#93; ObjectCreate(objName, OBJ_TREND, 0, 0, 0, 0, 0);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_COLOR, clrBlack);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_RAY, false);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_WIDTH, 1);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_STYLE, 0);#91;/color#93; } for(i=0; ilt;NMA; i ) { #91;color=red#93;objName = uniqueid fml_bar_ tf _ i;/lineas de momento horizontal#91;/color#93; #91;color=rojo#93; ObjectCreate(objName, OBJ_TREND, 0, 0, 0, 0, 0);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_COLOR, Black);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_RAY, false);#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_WIDTH, 1);#91;/color#93; #91;color=rojo#93; if(ilt;2 || i == NMA-1)#91;/color#93; #91;color=rojo#93; ObjectSet(objName, OBJPROP_WIDTH, 3);#91;/color#93; } } retorno(0); }/ ---------------------------------------------- -------------------- /| Función de desinicialización de indicador personalizado |/ -------------------------------------------------------- ------------------- int deinit() { string buscar = IDúnico; int buscarLongitud = StringLen(buscar); for(int i = ObjectsTotal() - 1; i gt;= 0; i--) { string name = ObjectName(i); if(StringSubstr(nombre, 0, buscarLongitud) == buscar) ObjectDelete(nombre); } retorno(0); }/ ---------------------------------------------- -------------------- /| Función de iteración de indicador personalizado |/ -------------------------------------------------------- ------------------- int inicio() { punto = 0.01; if(Dígitos gt; 3) punto = 0.0001;/ -------------------------------------------------------- ------------------- /| Líneas de tiempo |/ -------------------------------------------------------- ------------------- horaCur = Hora#91;0#93;; precio = Cerrar#91;0#93;; for(tf=0; tflt;NTF; tf ) { bar = iBarShift(NULL, tfp#91;tf#93;, curTime, false); para(i=0; ilt;NMA; i ) fml#91;tf#93;#91;i#93; = iMA(NULL, tfp#91;tf#93;, ma_period#91;i#93;, 0, MA_mode, PRICE_CLOSE, bar/Period());/rellenando el arreglo fml... for(i=0; ilt;NMA; i ) tmpArray#91;i#93; = fml#91;tf#93;#91;i#93;;/encontrar los MA más altos y más bajos de (7) fml's/MA's ArraySort(tmpArray);//copiando los niveles de MA de este TF a una matriz dim para alimentar a ArrayBsearch lowerMA = tmpArray#91;0#93;; MA más alta = tmpArray#91;6#93;; for(i=0; ilt;NSL; i )/llenando las matrices bsl... { bsl_up#91;tf#93;#91;i#93; = MA más baja bsl#91;i#93;; bsl_down#91;tf#93;#91;i#93; = MA más alta - bsl#91;i#93;; } }/ --------------------------------------------------------------------- --------------------- /| dibujando los tonos de color de la cuadrícula de arriba a abajo |/ -------------------------------------------------------- ------------------- for(tf=0; tflt;NTF; tf ) { desplazamiento = 0;/encontrar el número de sombras superpuestas para (i=desplazamiento; ilt;NSL-1; i ) if(bsl_up#91;tf#93;#91;i#93; lt;= bsl_down#91;tf#93; #91;i#93;) compensación ; if(offset gt; 0)/oculta la superposición de los objetos de primer nivel, para que no queden como 'fantasmas' { objName = uniqueid bsl_up_bar_ tf _ (NSL-2-offset 1); ObjectSet(objName, OBJPROP_TIME1, 0); ObjectSet(objName, OBJPROP_TIME2, 0); ObjectSet(objName, OBJPROP_PRICE1, 0); ObjectSet(objName, OBJPROP_PRICE2, 0); objName = IDúnico bsl_down_bar_ tf _ (NSL-2-offset 1); ObjectSet(objName, OBJPROP_TIME1, 0); ObjectSet(objName, OBJPROP_TIME2, 0); ObjectSet(objName, OBJPROP_PRICE1, 0); ObjectSet(objName, OBJPROP_PRICE2, 0); } doble mayor=0; for(i=NSL-2; igt;=offset; i--) { if (bsl_down#91;tf#93;#91;i#93;gt;highest)highest=bsl _up#91;tf#93;# 91;i 1#93;; objName = IDúnico bsl_up_bar_ tf _ (i-offset); ObjectSet(objName, OBJPROP_TIME1, curTime shift tf*spacing); ObjectSet(objName, OBJPROP_TIME2, curTime shift tf*spacing width); ObjectSet(objName, OBJPROP_PRICE1, bsl_up#91;tf#93;#91;i#93;); ObjectSet(objName, OBJPROP_PRICE2, bsl_up#91;tf#93;#91;i#93;); } doble mínimo=9999,9999; for(i=0; ilt;NSL-1; i ) { if(bsl_down#91;tf#93;#91;i#93;lt;lowest) más bajo=bsl_down#91;tf#93;#91;i 1#93;; objName = uniqueid bsl_down_bar_ tf _ (i-offset); ObjectSet(objName, OBJPROP_TIME1, curTime shift tf*spacing); ObjectSet(objName, OBJPROP_TIME2, curTime shift tf*spacing width); ObjectSet(objName, OBJPROP_PRICE1, bsl_down#91;tf#93;#91;i#93;); ObjectSet(objName, OBJPROP_PRICE2, bsl_down#91;tf#93;#91;i#93;); }/ ---------------------------------------------- -------------------- /| dibujando las barras de líneas de impulso |/ -------------------------------------------------------- ------------------- for(i=0; ilt;NMA; i ) { objName = uniqueid fml_bar_ tf _ i; ObjectSet(objName, OBJPROP_TIME1, curTime shift tf*spacing xUnit); ObjectSet(objName, OBJPROP_TIME2, curTime shift tf*spacing width-xUnit); ObjectSet(objName, OBJPROP_PRICE1, fml#91;tf#93;#91;i#93;); ObjectSet(objName, OBJPROP_PRICE2, fml#91;tf#93;#91;i#93;); if(i==0) { if(fml#91;tf#93;#91;i#93; gt;= precio) col = clrBlue; else col = clrAzul; ObjectSet(objName, OBJPROP_COLOR, col); } if(i==1) { if(fml#91;tf#93;#91;i#93; gt;= precio) col = clrMagenta; else col = clrMagenta; ObjectSet(objName, OBJPROP_COLOR, col); } } } retorno(0); }
    Resalté en rojo en la ventana de arriba donde tal vez podría ser la clave del problema, ¿ustedes que opinan? ¿alguien con un mejor entendimiento podría ayudarme?


    https://www.forosforex.com/attachmen...2051127523.mq4

  2.                         
    Publicidad
  3. #2
    Ojalá supiera codificar para ayudar con esto. Estoy muy sorprendido de que no haya más interés en este indicador por parte de los miembros del foro.

  4. #3
    objectname y objectid es como una barra si cambio a triángulo y ajusto el tamaño, ¿será válido? Código insertado doble #91;color=rojo#93;#91;resaltado=blanco#93;fml#91;N TF#93;#91;NMA#93;; #91;/highlight#93;#91;/color#93;//líneas de impulso Código insertado #91;color=red#93;objName = uniqueid fml_bar_ tf _ i; #91;/color#93;/Líneas de momento horizontales Código insertado #91;color=red#93;bar = iBarShift(NULL, tfp#91;tf#93;, curTime, false);#91;/color#93; #91;color=rojo#93;para(i=0; ilt;NMA; i ) fml#91;tf#93;#91;i#93; = iMA(NULL, tfp#91;tf#93;, ma_period#91;i#93;, 0, MA_mode, PRICE_CLOSE, bar/Period());#91;/color#93; Código insertado objName = uniqueid fml_bar_ tf _ i; ObjectSet(objName, OBJPROP_TIME1, curTime shift tf*spacing xUnit); ObjectSet(objName, OBJPROP_TIME2, curTime shift tf*spacing width-xUnit); ObjectSet(objName, OBJPROP_PRICE1, fml#91;tf#93;#91;i#93; ObjectSet(objName, OBJPROP_PRICE2, fml#91;tf#93;#91;i#93; Código insertado #91;color=negro#93;#91;/color#93;

  5. #4
    1 Adjunto(s) ¡Buenos días! He estado viendo el Indi, y como solo altero las barras de color en lugar de obtener una línea más gruesa como MA, me gustaría cambiar a un triángulo (como en la imagen de abajo), ¿cómo se podría hacer? habría que añadir algún objeto o sustituir alguna sintasa? Código insertado/ ------------------------------------------------------------ --------------------- /| dibujando las barras de líneas de impulso |/ -------------------------------------------------------- ------------------- for(i=0; ilt;NMA; i ) { objName = uniqueid fml_bar_ tf _ i; ObjectSet(objName, OBJPROP_TIME1, curTime shift tf*spacing xUnit); ObjectSet(objName, OBJPROP_TIME2, curTime shift tf*spacing width-xUnit); ObjectSet(objName, OBJPROP_PRICE1, fml#91;tf#93;#91;i#93; ObjectSet(objName, OBJPROP_PRICE2, fml#91;tf#93;#91;i#93; if(i==0) { if(fml#91;tf#93;#91;i#93; gt;= precio) col = clrBlue; else col = clrAzul; ObjectSet(objName, OBJPROP_COLOR, col); } if(i==1) { if(fml#91;tf#93;#91;i#93; gt;= precio) col = clrMagenta; else col = clrMagenta; ObjectSet(objName, OBJPROP_COLOR, col); } } } retorno(0); }

  6. #5
    ¿Hay un alma buena que me ayude?

  7. #6
    El problema también parece estar en esta parte.-. Código insertado para (i=0; ilt;NMA; i ) { objName = uniqueid fml_bar_ tf _ i; ObjectSet(objName, OBJPROP_TIME1, curTime shift tf*spacing xUnit); ObjectSet(objName, OBJPROP_TIME2, curTime shift tf*spacing width-xUnit); ObjectSet(objName, OBJPROP_PRICE1, fml#91;tf#93;#91;i#93; ObjectSet(objName, OBJPROP_PRICE2, fml#91;tf#93;#91;i#93; if(i==0) { if(fml#91;tf#93;#91;i#93; gt;= precio) col = clrBlue; else col = clrAzul; ObjectSet(objName, OBJPROP_COLOR, col); } if(i==1) { if(fml#91;tf#93;#91;i#93; gt;= precio) col = clrMagenta; else col = clrMagenta; ObjectSet(objName, OBJPROP_COLOR, col);

  8. #7

    Cita Iniciado por ;
    Ojalá supiera codificar para ayudar con esto. Estoy muy sorprendido de que no haya más interés en este indicador por parte de los miembros del foro.
    para que vean como esta la situacion jajaja

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español. Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.