System in AFL

#1
Hola,
Necesito desarrollar el siguiente sitema:

a) El cdigo bsico es el siguiente:
_SECTION_BEGIN("SWINGN");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g,
Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +"
{{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
COLOR1=IIf(EMA(C,5)>EMA(C, 34), colorBlue, colorRed);

Plot( C, "Close", COLOR1, styleNoTitle |
ParamStyle("Style") | GetPriceStyle() );

//SWING FORMULA//
function stoploss (no) {
res=HHV(H,no);
sup=LLV(L,no);
avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));
avn=ValueWhen(avd!=0,avd,1);
tsl=IIf(avn==1,sup,res);
return tsl;
}
Plot(stoploss(2),"Stop Loss",colorYellow,styleStaircase);
//Plot(stoploss(5),"Stop Loss",colorBlack,styleStaircase);

El stoploss se mueve en funcin del precio. En ocasiones cuando estoy largo el stoploos baja si el precio ha ido corto, esto no es posible. Yo no quiero que en una posicion largo el stop baje una vez que ha alcanzado un determinado valor. Como puedo corregir esto?. Pasa lo mismo en sentido corto.

b) Las condiciones de ir largo o corto:

- Largo:
Buy=Cross (EMA(C, 5), EMA(C, 34));
Buyprice = Max (Ref(H, -1), Open);
Sell=Cross(stoploss(2),C);
// En lugar de C, necesito salir en el punto en que stoploss = precio. Como puedo programar esta condicion?.

shape=Buy*shapeUpArrow + Sell*shapeDownArrow;
PlotShapes(shape,IIf(Buy,colorBlue,colorRed),0,IIf(Buy,Low,High));

- Corto:

Short = Cross (EMA (C, 34), EMA (C, 5));
Shortprice = Min (Ref (L, -1), Open);
Cover = Croos (stoploss(2), C);
// En lugar de C, necesito salir en el punto en que stoploss = precio.Como puedo programar esta condicion?.
_SECTION_END();

No se si alguien me puede ayudar pero lo agradecera muchisimo. Gracias.

Saludos.


Hello,
I need to develop following sitema:

a) The basic code is the following one:
_SECTION_BEGIN("SWINGN");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g,
Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +"
{{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
COLOR1=IIf(EMA(C,5)>EMA(C, 34), colorBlue, colorRed);

Plot( C, "Close", COLOR1, styleNoTitle |
ParamStyle("Style") | GetPriceStyle() );

//SWING FORMULA//
function stoploss (no) {
res=HHV(H,no);
sup=LLV(L,no);
avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));
avn=ValueWhen(avd!=0,avd,1);
tsl=IIf(avn==1,sup,res);
return tsl;
}
Plot(stoploss(2),"Stop Loss",colorYellow,styleStaircase);
//Plot(stoploss(5),"Stop Loss",colorBlack,styleStaircase);

Stoploss moves based on the price. Sometimes when I am long the stoploos ones lowers if the price has gone short, this is not possible. I do not want that in a long position stop lowers once it has reached a certain value. As I can correct this. He passes the same in short sense.

b) The conditions for going long or short:

- Long:
Buy=Cross (EMA (C, 5), EMA (C, 34));
Buyprice = Max (ref (H, -1), Open);
Sell=Cross (stoploss (2), C);
// Instead of C, I need to leave in the point in which stoploss = price. As I can program this condition.

shape=Buy*shapeUpArrow + Sell*shapeDownArrow;
PlotShapes (shape, IIf (Buy, colorBlue, colorRed), 0, IIf (Buy, Low, High));

- Short:

Short = Cross (EMA (C, 34), EMA (C, 5));
Shortprice = Min (ref (L, -1), Open);
Cover = Croos (stoploss (2), C);
// Instead of C, I need to leave in the point in which stoploss = price. As I can program this condition.
_SECTION_END ();

If somebody can help me but would not be thanked for very enormously it. Thanks.

Greetings.
 

Similar threads