Hola. Soy novato en esto de programar y hasta ahora solo he utilizado la creacion simplificada para crear mis robots. Ahora quiero ir un poco mas alla y me gustaria crear con condiciones.
Por ejemplo, comprar con el cruce del MACD y vender cuando el RSI 8 llegue a 30, pero si el ADX tiene pendiente positiva y el DI- es positivo no vender hasta que el DI- se cruce con el DI + ò el ADX pierda la tendencia positiva.
Adjunto el robot que he preparado pero no consigo programar lo que quiero. Podria ayudarme alguien.
Muchas gracias
// Definición de los parámetros del código
DEFPARAM CumulateOrders = False // Acumulación de posiciones desactivada
// Condiciones para entrada de posiciones largas
indicator1 = MACD[12,26,9](close)
c1 = (indicator1 CROSSES OVER 0)
IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condiciones de salida de posiciones largas
indicator2 = RSI[14](close)
c2 = (indicator2 CROSSES UNDER 30)
indicator3 = DIminus[14](close)
indicator4 = DIplus[14]
c3 = (indicator3 <= indicator4)
IF c2 AND c3 THEN
SELL AT MARKET
ENDIF
Ahi esta:
DEFPARAM CumulateOrders = False
//
myMACD = MACD[12,26,9](close)
myRSI = RSI[8](close)
myDIm = DIminus[14](close)
myDIp = DIplus[14](close)
myADX = Adx[14]
c1 = myMACD CROSSES OVER 0
c2 = myRSI CROSSES UNDER 30
c3 = myDIp < myDIm
c4 = myADX > myADX[1]
//
IF c1 AND Not LongOnMarket THEN
BUY 1 CONTRACT AT MARKET
ENDIF
//
IF c2 AND c3 AND c4 AND LongOnMarket THEN
SELL AT MARKET
ENDIF
Hola.
Ayer puse una contestación en este dialogo pero veo que no me aparece. Es por ello que vuelvo a contestar ya que no me explique correctamente lo que quiero.
Quiero el proorder que la orden de venta se “active” cuando el RSI8 llega a la zona de 70. Si el DI+ esta por debajo del DI_ se ejecuta la venta, si el DI+ esta por encima entonces que se ejecute cuando se cruce a la baja con el DI-. Es esto posible??
Creo que ahora me he explicado mejor . Perdón si anteriormente no fue asi.
Saludos y muchas gracias por su encomiable trabajo
Ahi esta:
DEFPARAM CumulateOrders = False
//
myMACD = MACD[12,26,9](close)
myRSI = RSI[8](close)
myDIm = DIminus[14](close)
myDIp = DIplus[14](close)
myADX = Adx[14]
c1 = myMACD CROSSES OVER 0
c2 = myRSI CROSSES OVER 70
c3 = myDIp < myDIm
c4 = myDIp CROSSES UNDER myDIm
c5 = myADX > myADX[1]
//
IF c1 AND Not LongOnMarket THEN
BUY 1 CONTRACT AT MARKET
ENDIF
//
IF c2 AND (c3 OR c4) AND c5 AND LongOnMarket THEN
SELL AT MARKET
ENDIF