Hola, pego tu código después del mío pero me da error, algo tengo que estar haciendo mal…puedes ayudarme por favor, lo que quiero es que haga la entrada tanto en corto como en largo al cierre de vela por encima (largo) o por debajo (corto) de la EMA 20, y si por ejemplo entro en NQ al precio de 11000, poner un stop loss de 50 puntos y un profit de 150, cuando el precio se haya ido a 11020, que el stop pase a breakeven +2, si el precio llega a 11025 que el stop pase a 11020 y ya vaya persiguiendo al precio a 5 puntos de distancia. cuando hago el backtesting me da error y no se porque, ya he cambiado mil cosas y nada…
saludos
Susana
// quitado filtro horario: AND Time > 143000 AND Time < 220000
periodos = 50
// Condiciones para entrada de posiciones largas
IF NOT LongOnMarket AND Open < ExponentialAverage[periodos](Close) AND Close > ExponentialAverage[periodos](Close) THEN
BUY lotes CONTRACTS AT MARKET
SET STOP LOSS sl pTRAILING tl
SET TARGET pPROFIT tp
ENDIF
// Condiciones de entrada de posiciones cortas
IF NOT ShortOnMarket AND Open > ExponentialAverage[periodos](Close) AND Close < ExponentialAverage[periodos](Close) THEN
SELLSHORT lotes CONTRACTS AT MARKET
SET STOP LOSS sl pTRAILING tl
SET TARGET pPROFIT tp
ENDIF
<span class=”crayon-c”>//*********************************************************************************</span>
<span class=”crayon-c”>// (lines 17- 56)</span>
<span class=”crayon-c”>//</span>
<span class=”crayon-c”>//trailing stop function</span>
trailingstart <span class=”crayon-o”>=</span> <span class=”crayon-cn”>20</span><span class=”crayon-h”> </span><span class=”crayon-c”>//trailing will start @trailinstart points profit</span>
trailingstep<span class=”crayon-h”> </span><span class=”crayon-o”>=</span> <span class=”crayon-cn”>5</span><span class=”crayon-h”> </span><span class=”crayon-c”>//trailing step to move the “stoploss”</span>
PointsToKeep<span class=”crayon-h”> </span><span class=”crayon-o”>=</span> <span class=”crayon-cn”>2</span><span class=”crayon-h”> </span><span class=”crayon-c”>//keep rhese points when it is first triggered</span>
<span class=”crayon-c”>//reset the stoploss value</span>
<span class=”crayon-st”>IF</span> <span class=”crayon-st”>NOT</span> <span class=”crayon-st”>ONMARKET</span> <span class=”crayon-st”>THEN</span>
newSL<span class=”crayon-o”>=</span><span class=”crayon-cn”>0</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-c”>//manage long positions</span>
<span class=”crayon-st”>IF</span> <span class=”crayon-st”>LONGONMARKET</span> <span class=”crayon-st”>THEN</span>
<span class=”crayon-c”>//first move (breakeven)</span>
<span class=”crayon-st”>IF</span> newSL<span class=”crayon-o”>=</span><span class=”crayon-cn”>0</span> <span class=”crayon-st”>AND</span> (<span class=”crayon-st”>close</span><span class=”crayon-o”>-</span><span class=”crayon-st”>tradeprice</span>(<span class=”crayon-cn”>1</span>)) <span class=”crayon-o”>>=</span> trailingstart<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span> <span class=”crayon-st”>THEN</span>
<span class=”crayon-h”> </span>newSL <span class=”crayon-o”>=</span> <span class=”crayon-st”>tradeprice</span>(<span class=”crayon-cn”>1</span>)<span class=”crayon-o”>+</span>PointsToKeep<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-c”>//next moves</span>
<span class=”crayon-st”>IF</span> newSL<span class=”crayon-o”>></span><span class=”crayon-cn”>0</span> <span class=”crayon-st”>AND</span> <span class=”crayon-st”>close</span><span class=”crayon-o”>-</span>newSL<span class=”crayon-o”>>=</span>trailingstep<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span> <span class=”crayon-st”>THEN</span>
<span class=”crayon-h”> </span>newSL <span class=”crayon-o”>=</span> newSL<span class=”crayon-o”>+</span>trailingstep<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-c”>//manage short positions</span>
<span class=”crayon-st”>IF</span> <span class=”crayon-st”>SHORTONMARKET</span> <span class=”crayon-st”>THEN</span>
<span class=”crayon-c”>//first move (breakeven)</span>
<span class=”crayon-st”>IF</span> newSL<span class=”crayon-o”>=</span><span class=”crayon-cn”>0</span> <span class=”crayon-st”>AND</span> <span class=”crayon-st”>tradeprice</span>(<span class=”crayon-cn”>1</span>)<span class=”crayon-o”>-</span><span class=”crayon-st”>close</span><span class=”crayon-o”>>=</span>trailingstart<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span> <span class=”crayon-st”>THEN</span>
<span class=”crayon-h”> </span>newSL <span class=”crayon-o”>=</span> <span class=”crayon-st”>tradeprice</span>(<span class=”crayon-cn”>1</span>)<span class=”crayon-o”>-</span>PointsToKeep<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-c”>//next moves</span>
<span class=”crayon-st”>IF</span> newSL<span class=”crayon-o”>></span><span class=”crayon-cn”>0</span> <span class=”crayon-st”>AND</span> newSL<span class=”crayon-o”>-</span><span class=”crayon-st”>close</span><span class=”crayon-o”>>=</span>trailingstep<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span> <span class=”crayon-st”>THEN</span>
<span class=”crayon-h”> </span>newSL <span class=”crayon-o”>=</span> newSL<span class=”crayon-o”>-</span>trailingstep<span class=”crayon-o”>*</span><span class=”crayon-st”>pipsize</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-c”>//stop order to exit the positions</span>
<span class=”crayon-st”>IF</span> newSL<span class=”crayon-o”>></span><span class=”crayon-cn”>0</span> <span class=”crayon-st”>THEN</span>
<span class=”crayon-st”>SELL</span> <span class=”crayon-st”>AT</span> newSL <span class=”crayon-st”>STOP</span>
<span class=”crayon-st”>EXITSHORT</span> <span class=”crayon-st”>AT</span> newSL <span class=”crayon-st”>STOP</span>
<span class=”crayon-st”>ENDIF</span>
<span class=”crayon-c”>//*********************************************************************************</span>