0

ストップリミット (ストップロス) ルールを変更するのを手伝ってくれる人がいるのだろうか. 指値を下回る価格ではなく、指値を下回る価格で販売するように変更するにはどうすればよいですか?

> #rules add.rule(strategy.st, name="ruleSignal", 
>          arguments=list(sigcol="buyTrigger", sigval=TRUE, ordertype="market", 
>                         orderside="long", replace=FALSE, prefer="Open", 
>                         osFUN=osDollarATR, tradeSize=tradeSize,
>                         pctATR=pctATR, atrMod="X"), 
>          type="enter", path.dep=TRUE,
>          label="newEntry")
> 
   add.rule(strategy.st, name="ruleSignal", 
         arguments=list(sigcol="buyTrigger", 
                        sigval=FALSE, 
                        ordertype="stoplimit", 
                        orderside="long", 
                        replace=FALSE, 
                        orderqty='all',
                        order.price=quote(mktdata$loss.stopLimit[timestamp]),
                        orderset="orders"),
         type="chain",
         parent="newEntry",
         label="takeProfitLong",
         path.dep=TRUE)
4

1 に答える 1

0

ソースをダウンロードし、tar.gz フォルダーを開いて ruleOrderProc.R を変更しました。

パッケージをアンインストールして再インストールしました。数回試行した後、コードを次のように変更できました。

if ((orderQty > 0 && orderType != "stoplimit") || 
                    (orderQty < 0 && (orderType == "stoplimit"))) {
                    if ((has.Cl(mktdata) && orderPrice > as.numeric(Cl(mktdataTimestamp)[, 
                      1])) || (!has.Cl(mktdata) && orderPrice > 
                      as.numeric(getPrice(mktdataTimestamp, prefer = prefer)[, 
                        1])))

...

于 2016-02-16T19:35:12.090 に答える