[Blotter-commits] r343 - in pkg/quantstrat: R man
    noreply at r-forge.r-project.org 
    noreply at r-forge.r-project.org
       
    Wed Jun 16 17:39:36 CEST 2010
    
    
  
Author: braverock
Date: 2010-06-16 17:39:36 +0200 (Wed, 16 Jun 2010)
New Revision: 343
Modified:
   pkg/quantstrat/R/signals.R
   pkg/quantstrat/man/sigThreshold.Rd
Log:
- add 'cross'-over argument to sigThreshold
Modified: pkg/quantstrat/R/signals.R
===================================================================
--- pkg/quantstrat/R/signals.R	2010-06-15 17:47:23 UTC (rev 342)
+++ pkg/quantstrat/R/signals.R	2010-06-16 15:39:36 UTC (rev 343)
@@ -222,8 +222,9 @@
 #' @param column named column to apply comparison to
 #' @param threshold numeric threhold to test for
 #' @param relationship one of c("gt","lt","eq","gte","lte") or reasonable alternatives
+#' @param cross if TRUE, will return TRUE only for the first observation to cross the threshold in a run
 #' @export
-sigThreshold <- function(label, data, column, threshold=0, relationship=c("gt","lt","eq","gte","lte")) {
+sigThreshold <- function(label, data, column, threshold=0, relationship=c("gt","lt","eq","gte","lte"),cross=FALSE) {
     relationship=relationship[1] #only use the first one
     ret_sig=NULL
     colNum <- match.names(column, colnames(data))
@@ -241,6 +242,7 @@
             'le'     = {ret_sig = data[,colNum] <= threshold}
     )
     colnames(ret_sig)<-label
+    if(isTRUE(cross)) ret_sig <- diff(ret_sig)==1
     return(ret_sig)
 }
 
Modified: pkg/quantstrat/man/sigThreshold.Rd
===================================================================
--- pkg/quantstrat/man/sigThreshold.Rd	2010-06-15 17:47:23 UTC (rev 342)
+++ pkg/quantstrat/man/sigThreshold.Rd	2010-06-16 15:39:36 UTC (rev 343)
@@ -2,7 +2,7 @@
 \alias{sigThreshold}
 \title{generate a threshold signal...}
 \usage{sigThreshold(label, data, column, threshold=0, relationship=c("gt",
-    "lt", "eq", "gte", "lte"))}
+    "lt", "eq", "gte", "lte"), cross=FALSE)}
 \description{generate a threshold signal}
 \details{Many strategies, including RSI or MACD styles, make trading decisions when an indicator 
 is over or under a specific threshold.  
@@ -11,4 +11,5 @@
 \item{data}{data to apply comparison to}
 \item{column}{named column to apply comparison to}
 \item{threshold}{numeric threhold to test for}
-\item{relationship}{one of c("gt","lt","eq","gte","lte") or reasonable alternatives}}
+\item{relationship}{one of c("gt","lt","eq","gte","lte") or reasonable alternatives}
+\item{cross}{if TRUE, will return TRUE only for the first observation to cross the threshold in a run}}
    
    
More information about the Blotter-commits
mailing list