Despues de semanas tiro la toalla
Forums › ProRealTime foro Español › Soporte ProBuilder › Despues de semanas tiro la toalla
- This topic has 33 replies, 5 voices, and was last updated 4 years ago by jannus.
-
-
06/03/2018 at 12:53 AM #72090
A ver yo tengo un indicador que me funciona muy bien hasta cierto punto es este codigo
Cias diarias a partir de Precio Apertura123456789101112131415161718192021222324if time = 081500 thenpad = opens1 = pad / 1.00236S2 = PAD / 1.00382S3 = PAD / 1.005S4 = PAD / 1.00618s5 = pad / 1.00762s6 = pad /1.01s7 = pad / 1.0123s8 = pad / 1.01382s9 = pad /1.015r1 = pad * 1.00236r20 = PAD * 1.00382r3 = PAD * 1.005r4 = PAD * 1.00618r5 = PAD * 1.00762r6 = PAD * 1.01r7 = pad * 1.01236r8 = pad * 1.01382r9 = pad * 1.015endifreturn pad as "apertura", s1 as "primer soporte23",S2 AS "segundo soporte38", s3 as "tercer soporte50", s4 as "cuarto soporte61", s5 as "quinto soporte76", s6 as "sexto soporte1", s7 as "soporte 7 123", s8 as "soporte 8 138", s9 as "soporte9 150", r1 as "primera resistencia23", r20 as "segunda resistencia38", r3 as "tercera resistencia50", r4 as "cuarta resistencia61", r5 as "quinta resistencia76", r6 as "sexta resistencia100", r7 as "resistencia7 123", r8 as "resistencia8 138", r9 as "resistencia9 150"Como podeis ver es un codigo muy sencillo y me da esta informacion que es exactamente la que yo busco primera captura subida
Cual es el problema pues que como es un indicador que va en la parte de arriba del precio y como tiene las instrucciones de ejecucion en el campo del return pues que cada vez que intento cambiar de grafico de frametime o sencillamente de unidades entra en loop y me deja el grafico sin posibilidad de ver nada completamente a zoom cero o sea en el Dow tengo desde 0 hasta 30000 y el precio ni con lupa
Llevo semanas intentando encontrar la solucion y he llegado hasta aqui este es el codigo que mas o menos funciona
COTAS DIARIAS123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384defparam drawonlastbaronly = falseif valorhora =1 thenif opentime= 080000 thenPa=openendifendifif valorhora =2 thenif opentime = 024000 thenPa=openendifendifP = paS1 = P / 1.00236S2 = P / 1.00382S3 = P / 1.005s4 = P / 1.00618s5 = P / 1.00762s6 = P / 1.01s7 = P / 1.01236s8 = P / 1.01382s9 = P / 1.015r1 = P * 1.00236rr2 = P * 1.00382r3 = P * 1.005r4 = P * 1.00618r5 = P * 1.00762r6 = P * 1.01r7 = P * 1.01236r8 = P * 1.01382r9 = P * 1.015//vertical offset to draw text correctly over horizontal linesVoffset = 1*pipsizeDRAWTEXT("PA",barindex-2,p+Voffset,SansSerif,Bold,16)coloured(153,153,0)DRAWTEXT("s1",barindex-2,s1+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("s2",barindex-2,s2+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("S3",barindex-2,s3+Voffset,SansSerif,Bold,16)coloured(153,0,0)DRAWTEXT("s4",barindex-2,S4+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("s5",barindex-2,S5+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("S6",barindex-2,S6+Voffset,SansSerif,Bold,16)coloured(153,0,0)DRAWTEXT("s7",barindex-2,S7+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("s8",barindex-2,S8+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("S9",barindex-2,S9+Voffset,SansSerif,Bold,16)coloured(153,0,0)DRAWTEXT("r1",barindex-2,r1+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("r2",barindex-2,rr2+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("R3",barindex-2,r3+Voffset,SansSerif,Bold,16)coloured(0,153,0)DRAWTEXT("r4",barindex-2,r4+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("r5",barindex-2,r5+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("R6",barindex-2,r6+Voffset,SansSerif,Bold,16)coloured(0,153,0)DRAWTEXT("r7",barindex-2,r7+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("r8",barindex-2,r8+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("R9",barindex-2,r9+Voffset,SansSerif,Bold,16)coloured(0,153,0)drawsegment(barindex,p,barindex+24,p) coloured(0,0,0)drawsegment(barindex,s1,barindex+24,s1) coloured(153,0,0)drawsegment(barindex,s2,barindex+24,s2) coloured(153,0,0)drawsegment(barindex,s3,barindex+24,s3) coloured(153,0,0)drawsegment(barindex,S4,barindex+24,S4) coloured(153,0,0)drawsegment(barindex,S5,barindex+24,S5) coloured(153,0,0)drawsegment(barindex,S6,barindex+24,S6) coloured(153,0,0)drawsegment(barindex,S7,barindex+24,S7) coloured(153,0,0)drawsegment(barindex,S8,barindex+24,S8) coloured(153,0,0)drawsegment(barindex,S9,barindex+24,S9) coloured(153,0,0)drawsegment(barindex,r1,barindex+24,r1) coloured(0,153,0)drawsegment(barindex,rr2,barindex+24,rr2) coloured(0,153,0)drawsegment(barindex,R3,barindex+24,R3) coloured(0,153,0)drawsegment(barindex,r4,barindex+24,r4) coloured(0,153,0)drawsegment(barindex,r5,barindex+24,r5) coloured(0,153,0)drawsegment(barindex,R6,barindex+24,R6) coloured(0,153,0)drawsegment(barindex,R7,barindex+24,R7) coloured(0,153,0)drawsegment(barindex,R8,barindex+24,R8) coloured(0,153,0)drawsegment(barindex,R9,barindex+24,R9) coloured(0,153,0)RETURNLa segunda captura de pantalla como veis me pone el texto de en cada vela y de cada una de las cotas sin embargo si pongo la instruccion
defparam drawonlastbaronly = false si la pongo en true luego si que me sale el texto solo una vez y en su sitio a 2 o 3 o 4 velas de la vela en curso sin embargo el problema es que luego no me dibuja los segmentos
Al final la unica solucion que he encontrado es poner un alpha en el coulored del drawtext sin embargo al no disponer de la posibilidad de aplicar style a las lineas para darles la configuracion deseada dottedline o mas grosor entre el emborronado del alpha y las lineas tan tan finas no es un indicador agradable de utilizar
Si alguien puede darme alguna idea mas para evolucionar o intentar mejorar el indicador se lo agradeceria enormemente el objetivo final a alcanzar seria el de la primera captura de pantalla cualquier cosa que se le acercara seria ya un exito
muchisimas gracias anticipadas a todos pero es que he llegado a tener la sensacion de que no me quedaba mas desarrollo
06/03/2018 at 1:33 PM #72114El primer codigo le veo el problema de que si la primera barra a la izquierda del grafico no coincide exactamente a las 081500 entonces PA va a ser cero y las primeras lineas las va a dibujar a CERO . Yo haría una validación antes de usar PA para que nunca sea cero
1234IF PA = 0 thenPA = OPENENDIFP = PAEl segundo codigo no lo entiendo bien, tambien tendrías que validar el valor de PA para que no sea cero, pero creo que tiene un error en la hora, para tomar el valor a las 24:00 sería OPENTIME = 000000 , opentime = 024000 toma el valor a las 2:40 AM.
1 user thanked author for this post.
06/03/2018 at 3:24 PM #72122Hola Pableitor muchas gracias si todo esto de poner y quitar interruptores ya lo habia probado por este motivo decia que ya se me habian acabado las ideas la verdad es que sin ser urgente ya que me funciona bien y obtengo la informacion que quiero si que llevo durante semanas un monton de horas prmero a intentar arreglar uno y despues a intentar hacer el otro pensando que seria la mejor solucion y claro tambien es el desconocimiento de este lenguaje de programacion todo y que es muy facil e intuitivo estoy haciendo un master en los dos ultimos dos meses jajajajaja el primer codigo debo de poner la hora 081500 para que me tome la apertura de la vela de las 8h en punto (esto en m15) en cualquier temporalidad si pongo las 8 me toma siempre la apertura de una vela anterior (cosa que tampoco acabo de entender) pero bueno si es de una manera lo conseguimos de otra y en cuanto al segundo hipotetico programado para que funcione mejor como indicador en la parte del grafico los problemas finales son dos no hay style para el dibujo de lineas y si estas fueran mas visibles podria pasar del drawtext sin embargo al ser tan finas el tener la nomenclatura con el drawtext ayuda mucho aunque la linea sea tan fina solo que solo deberia salir una vez y ya sale ya solo que luego no me dibuja los segmentos como en la captura
06/03/2018 at 5:32 PM #72128No se si he entendido bien lo que buscas pero he retocado algo para dibujar las lineas con el texto al final de la linea (a mi si me da el precio de apertura de las 8am con opentime 080000) :
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586defparam drawonlastbaronly = trueif valorhora =1 thenif opentime= 080000 thenPa=openx = barindexendifendifif valorhora =2 thenif opentime = 000000 thenPa=openx= barindexendifendifif pa=0 thenpa = openendifP = paS1 = P / 1.00236S2 = P / 1.00382S3 = P / 1.005s4 = P / 1.00618s5 = P / 1.00762s6 = P / 1.01s7 = P / 1.01236s8 = P / 1.01382s9 = P / 1.015r1 = P * 1.00236rr2 = P * 1.00382r3 = P * 1.005r4 = P * 1.00618r5 = P * 1.00762r6 = P * 1.01r7 = P * 1.01236r8 = P * 1.01382r9 = P * 1.015//vertical offset to draw text correctly over horizontal linesVoffset = 1*pipsizeDRAWTEXT("PA",barindex-2,p+Voffset,SansSerif,Bold,16)coloured(153,153,0)DRAWTEXT("s1",barindex-2,s1+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("s2",barindex-2,s2+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("S3",barindex-2,s3+Voffset,SansSerif,Bold,16)coloured(153,0,0)DRAWTEXT("s4",barindex-2,S4+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("s5",barindex-2,S5+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("S6",barindex-2,S6+Voffset,SansSerif,Bold,16)coloured(153,0,0)DRAWTEXT("s7",barindex-2,S7+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("s8",barindex-2,S8+Voffset,SansSerif,Bold,12)coloured(153,0,0)DRAWTEXT("S9",barindex-2,S9+Voffset,SansSerif,Bold,16)coloured(153,0,0)DRAWTEXT("r1",barindex-2,r1+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("r2",barindex-2,rr2+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("R3",barindex-2,r3+Voffset,SansSerif,Bold,16)coloured(0,153,0)DRAWTEXT("r4",barindex-2,r4+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("r5",barindex-2,r5+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("R6",barindex-2,r6+Voffset,SansSerif,Bold,16)coloured(0,153,0)DRAWTEXT("r7",barindex-2,r7+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("r8",barindex-2,r8+Voffset,SansSerif,Bold,12)coloured(0,153,0)DRAWTEXT("R9",barindex-2,r9+Voffset,SansSerif,Bold,16)coloured(0,153,0)drawsegment(barindex,p,x,p) coloured(0,0,0)drawsegment(barindex,s1,x,s1) coloured(153,0,0)drawsegment(barindex,s2,x,s2) coloured(153,0,0)drawsegment(barindex,s3,x,s3) coloured(153,0,0)drawsegment(barindex,S4,x,S4) coloured(153,0,0)drawsegment(barindex,S5,x,S5) coloured(153,0,0)drawsegment(barindex,S6,x,S6) coloured(153,0,0)drawsegment(barindex,S7,x,S7) coloured(153,0,0)drawsegment(barindex,S8,x,S8) coloured(153,0,0)drawsegment(barindex,S9,x,S9) coloured(153,0,0)drawsegment(barindex,r1,x,r1) coloured(0,153,0)drawsegment(barindex,rr2,x,rr2) coloured(0,153,0)drawsegment(barindex,R3,x,R3) coloured(0,153,0)drawsegment(barindex,r4,x,r4) coloured(0,153,0)drawsegment(barindex,r5,x,r5) coloured(0,153,0)drawsegment(barindex,R6,x,R6) coloured(0,153,0)drawsegment(barindex,R7,x,R7) coloured(0,153,0)drawsegment(barindex,R8,x,R8) coloured(0,153,0)drawsegment(barindex,R9,x,R9) coloured(0,153,0)RETURNpruebalo y me comentas….
saludos
06/03/2018 at 6:11 PM #72131Ahora si que si Pableitor muchisimas muchisimas gracias mira que eramos dos o tres que nos peleabamos con el tema desde hace tiempo y yo hace unas semanas que me puse porque no pensaba que fuera tan dificil pensaba que era mas facil como asi ha sido gracias a ti Si señor ahora esta clarisimo y estoy seguro que es lo maximo que da la plataforma de momento lo dicho muchisimas gracias
Por cierto ya que estamos aqui en un domingo lluvioso jajajajaja de backgroundcolor sabes bien como funciona La pregunta concreta es si sabes si en la misma vela recibe la orden por tres condicionales diferentes de dibujar una zona de color si sabes si va a dibujar las tres o solo dos o solo una es que es el tema de este finde jajajaja el viernes a ultima hora ya me entere que era imposible sacar la zona de color de dentro de los triangulos en el drawrentangle con el operador alpha solo se pueden transparentar las lineas del rectangulo pero no se puede hacer nada con la zona coloreada interior (me lo contesto Nicolas) por tanto veo que la parte grafica de la plataforma tiene aun sus pequeñas cosas a pulir y desarrollar y ahora estoy con dos indicadores bastante completos que pretendo que dibujen a base de colores lo que esta ocurriendo en el mercado y me encuentro que el codigo funciona perfectamente sin embargo hay zonas en las que no me dibuja la señal a lo mejor en el 10% de las zonas y pienso que podria ser por una limitacion como la que comentaba es mas si lo hago con 3 indicadores diferentes (a piezas jajajaja) y pongo a operar los tres luego va perfecto
Lo dicho muchisimas gracias por resolver el tema de los segmentos
06/03/2018 at 11:09 PM #72146de nada , de verdad ha sido facil jajaja… el lenguaje PRC me recuerda el BASIC que estudiaba en mis buenos tiempos, sencillo pero con algunas limitaciones. Lo del background con las 3 condiciones no te entiendo muy bien la duda , si puedes subir el codigo o parte lo vemos. Seguro entre todos se puede solucionar….el color de fondo del drawrectangle no se puede quitar , ni siquiera cambiar de color, solo azul, es una faena, pero se me ocurre que puedes dibujar los rectangulos a base de 4 drawsegment y asi evitas el fondo , no se.
06/04/2018 at 10:23 AM #72182Vale tengo tres indicadores que son estos codigos y funcionan muy bien la idea es tres condicionantes diferentes para determinar si el mercado es alcista o es bajista y lo que ocurre es que como unos metodos son mas solidos y otros son mas rapidos en detectar el posible cambio de tendencia lo que se consigue es que antes de cambiar el precio de tendencia por correccion o cambio de direccion empieza a dar señales con barras diferentes lo vereis mejor en la captura
El problema es que si pongo los codigos de los tres indicadores juntos en un unico codigo entonces solo me reconoce o los colores de un sistema o de otro y no sale la informacion de los tres sistemas no se si me explico a ver cuelgo codigos
Color 1 Ema o wilder 2 variantes123456789101112131415161718192021222324252627If MetodoMM=1 thenMM=exponentialaverage[8]elsif MetodoMM =2 thenMM=wilderaverage[8]endifif close > mm thenr=055g=255transparency=30BACKGROUNDCOLOR(r,g,0,min(transparency,255))endifif close < mm thenr=255g=055transparency=30BACKGROUNDCOLOR(r,g,0,min(transparency,255))endifreturnCodigo o sistema 2
Colors 2 Curva regresion lineal1234567891011121314151617181920a5b3= LinearRegressionSlope[valorLRS]r=200g=055transparency=30if a5b3 < 0 thenBACKGROUNDCOLOR(r,g,0,min(transparency,255))endifr=050g=200transparency=30if a5b3 > 0 thenBACKGROUNDCOLOR(r,g,0,min(transparency,255))endifreturny sistema 3
Colors 3 Por direccion Estocastico 76123456789101112131415161718192021sto76= stochastic[76,3]r=050g=250transparency=30if sto76 > sto76[1] thenBACKGROUNDCOLOR(r,g,0,min(transparency,255))endifr=250g=050transparency=30if sto76 < sto76[1] thenBACKGROUNDCOLOR(r,g,0,min(transparency,255))endifreturnColors 3 Por direccion Estocastico 76123456789101112131415161718192021sto76= stochastic[76,3]r=050g=250transparency=30if sto76 > sto76[1] thenBACKGROUNDCOLOR(r,g,0,min(transparency,255))endifr=250g=050transparency=30if sto76 < sto76[1] thenBACKGROUNDCOLOR(r,g,0,min(transparency,255))endifreturnEl resultado de poner los tres indicadores al mismo tiempo en un grafico es el que se ve en la captura sin embargo por mas que lo intento hacer poniendo los tres sistemas en eun mismo indicador y que me de el mismo resultado no hay manera como mucho he conseguido los colores superpuestos de dos sistemas pero de los tres en ninguna ocasion a ver si vosotros que dominais muchisimo mas la programacion me hechais una mano +
Gracias anticipadas
06/04/2018 at 2:37 PM #72240mm …a ver creo que ahora te entiendo , he hecho una prueba con tus codigos y a mi si me suma los 3 background de cada indicador. He hecho un pequeño cambio en cada indicador para que el color sea rojo o verde puro (255,0,0) y (0,255,0) , en el adjunto están los 3 indicadores abajo independientemente y juntos en la ventana del precio, el background del precio va cambiando el tono del rojo segun va cambiando cada indicador y salen 3 rojos mas o menos intensos…. La idea es buena ! Lo que no me salen son las velas de colores jajajaa..
saludos
06/04/2018 at 2:38 PM #72241mm …a ver creo que ahora te entiendo , he hecho una prueba con tus codigos y a mi si me suma los 3 background de cada indicador. He hecho un pequeño cambio en cada indicador para que el color sea rojo o verde puro (255,0,0) y (0,255,0) , en el adjunto están los 3 indicadores abajo independientemente y juntos en la ventana del precio, el background del precio va cambiando el tono del rojo segun va cambiando cada indicador y salen 3 rojos mas o menos intensos…. La idea es buena ! Lo que no me salen son las velas de colores jajajaa..
saludos
06/04/2018 at 6:52 PM #7226606/04/2018 at 9:14 PM #72278Hola Pableitor si pero actuando como indicador arriba en el grafico has conseguido poner todo el codigo en un solo indicador?? o es como lo tengo yo de momento que tengo que abrir los tres indicadores para que me de la informacion buena ya que si copio los codiigos y pongo todo en un solo indicador por ejemplo ciclos colores con los tres sistemas dentro despues es cuando no me funciona ya que siempre hay un sistema que no se dibuja (y los codigos son los mismos) no lo acabo de entender en el tema de graficos creo que la plataforma va un pelin justita estoy trabajando xon otro que pasa igual tengo una orden que dice cuando x crosses over 0 then backgroundcolor(x,x,x) y me hace una linea en el grafico de precios y va muy bien sobre todo en frametimes pequeños ya que he conseguido un sistema que me da la informacion del cambio de tendencia con muy alta probabilidad juntando muchos sistemas y entonces cuando se da la condicion me dibuja o la linea verde o la roja pues la dibuja perfecta casi siempre y a veces no jajajajajajajajajajaja y mas divertido todavia a veces no dibuja la verde y a veces no dibuja la roja es para volverse loco jajajaja porque aunque el programa sea extenso la condicion es muy clara hoy lo he cambiado y ahora la instruccion es if x > 0 and x[1] < x[2] then dibuja y parece que ha mejorado algo pero hay algunas que no las dibuja de verdad al fianl pienso que es la plataforma porque si no acabare loco mas de lp que ya estoy jajajajajaj a ver si entra nicolas y nos lee y dice que es un problema tecnico que si hay dos o mas ordenes de dibujar en la misma zona pues que no lo hace igual que el indicador este de colores
06/04/2018 at 10:13 PM #7229206/04/2018 at 11:34 PM #7230306/04/2018 at 11:47 PM #72306upsss, me equivoque de adjunto, a ver si ahora sale
creo que no se pueden combinar varios background en un solo archivo , creo que la unica forma es con tres indicadores separados y que PRT combine los colores internamente, estas llevando el PRT al limite jajaja ….a lo mejor haciendo sumas y promedios de los valores RGB de los background pero no lo veo facil. !
06/05/2018 at 7:41 AM #72323domenec, prueba este codigo, los 3 indicadores en un fichero y al final sale un background que es la suma de los 3 indicadores:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061MetodoMM = 1valorLRS = 10If MetodoMM=1 thenMM=exponentialaverage[8]elsif MetodoMM =2 thenMM=wilderaverage[8]endifif close > mm thenr0=0g0=255b0=0a0=30//BACKGROUNDCOLOR(r0,g0,b0,a0)endifif close < mm thenr0=255g0=0b0=0a0=30//BACKGROUNDCOLOR(r0,g0,b0,a0)endifsto76= stochastic[76,3]if sto76 > sto76[1] thenr1=0g1=255b1=0a1=30//BACKGROUNDCOLOR(r1,g1,b1,a1)endifif sto76 < sto76[1] thenr1=255g1=0b1=0a1=30//BACKGROUNDCOLOR(r0,g0,b0,a0)endifa5b3= LinearRegressionSlope[valorLRS]if a5b3 < 0 thenr3=255g3=0b3=0a3=30//BACKGROUNDCOLOR(r3,g3,b3,a3)endifif a5b3 > 0 thenr3=0g3=255b3=0a3=30endifBACKGROUNDCOLOR((r0+r1+r3)/3,(g0+g1+g3)/3,(b0+b1+b3)/3,(a0+a1+a3))RETURN -
AuthorPosts