Hi guys,

I've got some performance troubles with my trading signal generator, which indicates when the system goes long or short. I'm playing with some historical data and the for-loop isn't doing his job very efficient. Is there some vectorial solution for this?

Here the for-loop:

> trade.long  <- 0
> trade.short <- 0
> for (j in peak.days : dim(commodities[[i]])[1]) {
>    # Trading Signal Long
> if (commodities[[i]][j, "High"] >= commodities[[i]][j, "HighestHigh"] && trade.long == 0) {
>            commodities[[i]][j, "Long"] <- 1
>            trade.long <- 1
>    }
> if (commodities[[i]][j, "Low"] <= commodities[[i]][j, "emaH"] && trade.long == 1) {
>            commodities[[i]][j, "Long"] <- -1
>            trade.long <- 0
>    }
>    # Trading Signal Short
> if (commodities[[i]][j, "Low"] <= commodities[[i]][j, "LowestLow"] && trade.short == 0) {
>            commodities[[i]][j, "Short"] <- 1
>            trade.short <- 1
>    }
> if (commodities[[i]][j, "High"] >= commodities[[i]][j, "emaL"] && trade.short == 1) {
>            commodities[[i]][j, "Short"] <- -1
>            trade.short <- 0
>    }
> } # for (j in peak.days : dim(commodities[[i]])[1])


Any ideas are very appreciated, because this for-loop takes about 2 - 3 hours to finish...

Thank you, Michael

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to