referencia a un valor de hace 2 dias

Foro para tratar todo lo relacionado con AmiBroker y el lenguaje de programación AFL.
Responder
Lmy
Mensajes: 3
Registrado: 01 Jun 2016 20:38

referencia a un valor de hace 2 dias

Mensaje por Lmy »

Hola,soy muy novato en Amibroker y todavia estoy asimilando conceptos.
Tengo un problema para programar lo siguiente:
Pongo un grafico en el que pongo el precio en velas, con una linea superior y otra inferior, formadas por el C+x*ATR(y),SIENDO:
C el precio
x=numero a elegir(normalmente 1 o 1,5)
y= parametro de ATR
Se podria hacer C+1.5*Atr(14) solo es para poder elegir parametros desde el menu.
Esto si lo tengo, el codigo es:
_SECTION_BEGIN("Price");

SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));

Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

_SECTION_BEGIN("ATR");

x=Param("ATR",1.5,0.5,5,0.5);
y=Param("ATRlookback",14,5,250,1);
Plot(Close-N*ATR(M),"ATR-",ParamColor("ATR-",colorBlueGrey),styledots);
Plot(Close+N*ATR(M),"ATR+",ParamColor("ATR+",colorOrange),styleDots);

_SECTION_END();

El problema es que quiero hacer un sistema que compre cuando el precio sea mayor que el precio+1.5*atr de hace un par de dias, y no soy capaz he probado cosas como:

com=(C+x*ATR(y));
buy =( C>com[2]);
Sell = (C<com2[2]);
y muchas variaciones de algo asi, pero me dsa a mi que para hacer referencia al importe de hace 2 dias hay que hacerlo de otra manera, si me puedes hechar un cable, seguro que no es tan dificil.
Guille
Mensajes: 478
Registrado: 29 Ene 2015 14:50

Re: referencia a un valor de hace 2 dias

Mensaje por Guille »

Hola Lmy,
Bueno yo no se programar en mql4 pero creo que la referencia al valor c+x*ATR de hace dos días lo haces bien pues asignas el valor a una variable llamada com y luego llamas el valor que hace dos días añadiendo [2]
Creo que el fallo lo puedes tener porque a la hora de poner las ordenes de buy y sell no lo haces haciendo que se ejecuten esas órdenes si se cumple la condición de que el precio es mayor que la valor de la variable "com" hace dos días.
Normalmente la condición se expresa mediante la palabra if y te quedaría algo así:
if C>com[2] entonces buy
Aquí tienes un enlace a un artículo de esta misma web donde se explica como va lo de las condiciones en mql4:

https://www.x-trader.net/articulos/soft ... ina-3.html

Espero te sirva
Un saludo
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: referencia a un valor de hace 2 dias

Mensaje por Rango Starr »

. :D
Última edición por Rango Starr el 19 May 2021 12:08, editado 1 vez en total.
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Re: referencia a un valor de hace 2 dias

Mensaje por X-Trader »

Hola Lmy, bienvenido al Foro. ¿Has probado con la función Ref? Tienes su funcionamiento en este enlace:

https://www.amibroker.com/guide/afl/ref.html

Saludos,
X-Trader

PD: Guille, estamos en el Foro de Amibroker, no obstante gracias por intentar ayudar ;)
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Lmy
Mensajes: 3
Registrado: 01 Jun 2016 20:38

Re: referencia a un valor de hace 2 dias

Mensaje por Lmy »

Bueno aunque ha pasado tiempo voy arespond er por si alguien le surge la misma duda
El precio de hace 2 periodos en amibroker

Ref(c,2);

Si en vez de precio quieres el valor de otra cosa de hace 2 periodos pir ejemplo macd pues en vez de C (macd,12,26) asi
Ref((macd,12,26),2);
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “AmiBroker”