Contar velas pasada desde una condicion hasta otra
Forums › ProRealTime foro Español › Soporte ProBuilder › Contar velas pasada desde una condicion hasta otra
- This topic has 9 replies, 2 voices, and was last updated 5 years ago by Antuan.
-
-
06/08/2019 at 6:06 PM #100223
Buenas tardes, me he atrancado en esta fase de mi programacion, estoy intentando crear como un bucle o crear una condicion si pasa despues de las siguientes 4 velas, es decir si tengo un rsi 14 que ha cruzado al alza la linea 50, quiero que si se dan en un tramo maximo de 4 velas desde el cruce del rsi zona 5o si antes se ha producido un cruce de emas del macd me salga una flechita verde, por ejemplo , es decir ..cruce rsi 14 por encima de 50…y si entre las 4 siguientes velas se produce un cruce alcista del macd …entonces flecha verde..espero haberme explicado bien..jejejeje..he visto en el foro el mismo ejemplo pero con indicador 1 indicador 2..pero no me he aclarado..quien me puede ayudar? muchas gracias a todos
06/09/2019 at 5:53 PM #100262Hola Osupero,
Sería mejor si pudieses poner la parte del código que estás intentando arreglar. Codificar desde el principio, o realizar un código a la carta es más complicado.
Saludos,
06/09/2019 at 6:34 PM #100265Si lo que quieres es realizar una compra después de un numero de velas determinadas, esta pieza de código te puede ayudar. Puedes incluirle todas las condiciones que creas de RSI y MACD, pero lo básico es esto. En el ejemplo te lo pongo con dos simples cruces de medias.
123456789101112131415161718DEFPARAM CumulateOrders = FalseONCE NumberOfBars = 0 //Initial valueIF OnMarket OR (ExponentialAverage[5] CROSSES UNDER ExponentialAverage[10]) THEN//Reset counter to ZERONumberOfBars = 0 // while trade is open ORENDIF // Ema's cross the other way roundIF NumberOfBars THEN //If previously CROSSED, addNumberOfBars = NumberOfBars + 1 // add 1 at each barENDIFIF ExponentialAverage[5] CROSSES OVER ExponentialAverage[10] THENNumberOfBars = 1 //Start counting after crossing upENDIFIF NumberOfBars >= tusvaloresRSI_MACD THENBUY 1 CONTRACTS AT MARKETENDIFEspero que te sirva para empezar a experimentar. Si quieres algo más especifico, pon la parte de código que necesites corregir.
Saludos
06/10/2019 at 9:08 AM #100294Gracias Juan por tu respuesta, lo que pasa es que tengo que añadir una condicion a dos variables, es decir , que la variable 1 , cruce ema 5/1o cuando se produzca y paralelamente se produzca otro cruce de otro variable, un macd 7/14 ( por ejemplo) si el cruce de la variable 2 se produce hasta una maximo de 4 velas, es decir, entre 1-4 velas se cruza la variable 2 , entonces me marchas circulo, por ejemplo.En el ejemplo que me has puesto solo tengo cruce macd y variable rsi pero no me aclaro,es decir marcar con flecha si el cruce de la variable 2 se produce antes de la cuarta vela frente al cruce de la variable 1.Te adjunto una imagen para aclarar
06/10/2019 at 10:24 AM #10030006/10/2019 at 4:43 PM #100325Osupero,
Perdona, he releído tu mensaje inicial, y no te he dado una muy buena respuesta. Ahora te explico.
Primero, lo primero. Para insertar códigos, debes utilizar la opción “Insert PRT Code” (arriba, ultima opción a la derecha) De otra forma no puedo leer el código bien.
Entiendo que tu INDICADOR (antes estaba pensando en estrategia) debe dibujar una flecha arriba o abajo cada vez que el RSI cruza al alza 50 y hay cruce de MACD, y no han transcurridos mas de 4 velas desde el cruce al alza del RSI, no??
Vamos a trabajarlo juntos. Inserta el código y lo vemos.
06/10/2019 at 7:43 PM #10034912345678910111213141516171819202122232425262728293031323334miMACD=exponentialAverage[12](close)-exponentialAverage[26](close)signal=exponentialAverage[9](miMACD)ADXPeriod=PeriodoADXDmas=diplus[ADXPeriod](close)Dmenos=diminus[ADXPeriod](close)c2=Dmas crosses over Dmenosc4=Dmenos crosses over Dmas//CC=miMACD crosses over signal and mymacd<-0.9//DD=myMACD crosses under signal and mymacd>0.9count=0numerobarras=lookbarsfor i=0 to numerobarras doc1= miMACD[i] crosses over signal[i] and mimacd<-0.9if c1 thencount=count+1endifnextfor i=0 to numerobarras doc3= miMACD[i] crosses under signal[i] and mimacd[i]>0.9if c3 thencount=count+1endifnextif c1 and c2 thenDRAWARROWUP(BARINDEX, low-atr*1.5)COLOURED(0,255,127)DRAWTEXT("UP", barindex, low-atr*2.5 ,SansSerif,Italic,12)coloured(0,255,127)endifif c3 and c4 thenDRAWARROWDOWN(BARINDEX, high+atr*1.5)COLOURED(255,48,48)DRAWTEXT("DN", barindex, high+atr*2.5 ,SansSerif,Italic,12)coloured(255,48,48)endifRETURNBuenas Juan , gracias de nuevo ,tengo a otro compañero buenisimo en estos temas pero no damos con el tema… lo estoy probando con el macd y adx (di+ , -di-) , se produce cruce macd (variable 1) y transcurridas 4 velas, si antes se ha producido cruce de di+ alcista -di- (variable B) entonces marca flecha..si tengo que decirte , que para señal alcista el macd debe encontrarse menor de -1 y en señal bajista menor de 1..te voy a adjuntar ejemplo, porque este aun no me da lo que quiero…los DN los da en la 5 vela..si en la 4 se produce ..no lo da en la cuarta vela..
06/10/2019 at 9:32 PM #100359Osupero,
Te lo miro esta noche y mañana te digo algo
Saludos
06/11/2019 at 2:00 PM #100430Hola Osupero
12345678910111213141516171819202122232425262728293031323334353637miMACD=exponentialAverage[12](close)-exponentialAverage[26](close)signal=exponentialAverage[9](miMACD)ADXPeriod=max(1,PeriodoADX)Dmas=diplus[ADXPeriod](close)Dmenos=diminus[ADXPeriod](close)c2=Dmas crosses over Dmenosc4=Dmenos crosses over Dmas//CC=miMACD crosses over signal and mymacd<-0.9//DD=myMACD crosses under signal and mymacd>0.9periodoADX=14lookbars=4atr=14count=0numerobarras=lookbarsfor i=0 to numerobarras doc1= miMACD[i] crosses over signal[i] and mimacd<-0.9if c1 thencount=count+1endifnextfor i=0 to numerobarras doc3= miMACD[i] crosses under signal[i] and mimacd[i]>0.9if c3 thencount=count+1endifnextif c1 and c2 thenDRAWARROWUP(BARINDEX, low-atr*1.5)COLOURED(0,255,127)DRAWTEXT("UP", barindex, low-atr*2.5 ,SansSerif,Italic,12)coloured(0,255,127)endifif c3 and c4 thenDRAWARROWDOWN(BARINDEX, high+atr*1.5)COLOURED(255,48,48)DRAWTEXT("DN", barindex, high+atr*2.5 ,SansSerif,Italic,12)coloured(255,48,48)endifRETURNHe cambiado la linea 3 ADXPeriod=max(1,PeriodoADX) (El credito es de Roberto, que me ha solucionado el problema)
El valor debe ser <1
Le he dado valores aleatorios a periodADX, look bars, and ATR.
Las flechas salen muy de cuando en cuando, así que debes optimizar los valores que yo he dado aleatoriamente
Saludos
1 user thanked author for this post.
06/11/2019 at 5:59 PM #100446Buenas Salas, creo que el problema esta en el valor que se le da a la segunda variablem, pensaba que seria mas sencillo, siempre que el macd se cruce que se cuenten las velas hasta que se produzca un cruce adx y si esta entre las 4 velas siguientes,,entrada..creo que eso ya esta claro pero no se como se le da la variable o la condicion …la importancia radica primero en el cruce macd..si no se produce netre esos valores no hay entrada..creo que el problema esta en el cruce adx..com es posible que no se pueda sacar una condicion si se produce esa variable, el cruce..de todas formas Salas te agradezco tu tiempo..pero no da señales ..y las da muy muy tardia,,te adjunto imagen..por si te sirviera
-
AuthorPosts
Find exclusive trading pro-tools on