I copy the complete code and I hope to receive some useful help.
_SECTION_BEGIN("Price");
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 )) ));
Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
//Dato media movil 30 semanas
Plot(WMA(c,30),_DEFAULT_NAME(),IIf(WMA(c,30)>=Ref(WMA(c,30),-1),colorBlue,colorRed),styleLine + styleThick);
//Datos identificación valor y sector.
GfxSetTextColor(colorDarkGreen);
StrNombre=StrFormat(FullName());
ICBNombre=IcbID(mode=1);
GfxTextOut(StrNombre,50,50);
GfxTextOut(ICBNombre,50,65);
//Dibujo máximo y mínimo del periodo
maxi=HHV(Close,52);
mini=LLV(Close,52);
Plot(maxi,"Linea de máximos",colorGreen,styleLine+styleThick);
plot(mini,"Linea de mínimos",colorRed,styleLine+styleThick);
// Calculo RSCMAnsfield SP500
rsSymbolSP500=ParamStr("Base Index Symbol","SPX");
CocienteSP500=C/Foreign(rsSymbolSP500,"C");
countRSP500=Sum(CocienteSP500,52);
BasepriceSP500=countRSP500/52;
RSCSP500=((CocienteSP500/BasepriceSP500)-1)*10;
_SECTION_END();
SetTradeDelays(0,0,0,0);
//Calculo la inercia alcista
ROC26=ROC(C,26)*0.4;
ROC42=ROC(C,42)*0.2;
F1=ROC26+ROC42;
ATR61=ATR(61);
F2=(ATR61/MA(C,61))*0.4;
InerciaAlcista=F1/F2;
//------------------------------------------------
//Calculo el Riesgo Stop
wm=WMA(Close,30);
cero=0;
Rstop=IIf(C>=wm,(Close-wm)/Close*100,(abs(Close-wm))/Close*100);
/// Calculo RSCMansfield Sector
mercado="EUROPEO";
sector="STOXX50E";
if (MarketID()==1 OR MarketID()==2)
{
mercado="AMERICANO";
}
if (MarketID()==3)
{
mercado="EUROPEO";
}
if (MarketID()==4)
{
mercado="NORDICO";
}
if (MarketID()==5)
{
mercado="SUIZO";
}
//Buscamos el subsector ICB y en función del mercado se le asigna un índice sectorial u otro
if (mercado=="AMERICANO")
{
switch(IcbID(0))
{
//1010 Technology
case "10101010":
sector="DJUSDV";break;
case "10101020":
sector="DJUSNS";break;
case "10101015":
sector="DJUSSW";break;
case "10102030":
sector="DJUSCR";break;
case "10102015":
sector="DJUSOE";break;
case "10102010":
sector="DJUSSC";break;
//1510 Telecommunications
case "15102015":
sector="DJUSWC";break;
case "15101010":
sector="DJUSCT";break;
//2010 Health Care
case "20101025":
sector="DJUSHP";break;
case "20102010":
sector="DJUSAM";break;
case "20102015":
sector="DJUSMS";break;
case "20103010":
sector="DJUSBT";break;
case "20103015":
sector="DJUSPR";break;
//3010 Banks
case "30101010":
sector="DJUSBK";break;
//3020 Financial Services
case "30201030":
sector="DJUSFA";break;
case "302030":
sector="DJUSMR";break;
case "30202010":
sector="DJUSAG";break;
case "30201020":
sector="DJUSSF";break;
case "302020":
sector="DJUSSP";break;
case "30202015":
sector="DJUSSB";break;
case "30201025":
sector="DJUSMF";break;
case "30204000":
sector="DJUSFI";break;
case "30205000":
sector="DJUSFI";break;
//3030 Insurance
case "30302010":
sector="DJUSIF";break;
case "30302015":
sector="DJUSIB";break;
case "30302025":
sector="DJUSIP";break;
case "30302020":
sector="DJUSIU";break;
case "30301010":
sector="DJUSIL";break;
//3510 Real Estate
case "35101010":
sector="DJUSEH";break;
case "35101015":
sector="DJUSES";break;
case "35102020":
sector="DJUSIO";break;
case "35102045":
sector="DJUSRL";break;
case "35102040":
sector="DJUSRN";break;
case "351020":
sector="DJUSDT";break;
case "35102070":
sector="DJUSSR";break;
case "35102015":
sector="DJUSHL";break;
//4010 Automobiles and Parts
case "40101020":
sector="DJUSAU";break;
case "40101025":
sector="DJUSAT";break;
case "40101015":
sector="DJUSTR";break;
//4020 Consumer Products and Services
case "40202025":
sector="DJUSHD";break;
case "40202015":
sector="DJUSFH";break;
case "40202010":
sector="DJUSHB";break;
case "40203010":
sector="DJUSLE";break;
case "40203050":
sector="DJUSRP";break;
case "40203045":
sector="DJUSTY";break;
case "40204020":
sector="DJUSCF";break;
case "40204025":
sector="DJUSFT";break;
case "40201070":
sector="DJUSCS";break;
//4030 Media
case "40301010":
sector="DJUSBC";break;
case "40301020":
sector="DJUSAV";break;
case "40301030":
sector="DJUSPB";break;
//4040 Retail
case "40401020":
sector="DJUSRA";break;
case "40401010":
sector="DJUSRB";break;
case "40401025":
sector="DJUSHI";break;
case "40401030":
sector="DJUSRS";break;
//4050 Travel and Leisure
case "40501010":
sector="DJUSAR";break;
case "40501020":
sector="DJUSCA";break;
case "40501025":
sector="DJUSLG";break;
case "40501030":
sector="DJUSRQ";break;
case "40501040":
sector="DJUSRU";break;
case "40501015":
sector="DJUSTT";break;
//4510 Food, Beverage and Tobacco
case "45101010":
sector="DJUSDB";break;
case "45101015":
sector="DJUSVN";break;
case "45101020":
sector="DJUSSD";break;
case "45102010":
sector="DJUSFO";break;
case "45102020":
sector="DJUSFP";break;
case "45103010":
sector="DJUSTB";break;
//4520 Personal Care, Drug and Grocery Stores
case "45201030":
sector="DJUSHN";break;
case "45201020":
sector="DJUSCM";break;
case "45201015":
sector="DJUSRD";break;
case "45201010":
sector="DJUSFD";break;
//5010 Construction and Materials
case "50101035":
sector="DJUSBD";break;
case "50101010":
sector="DJUSHV";break;
//5020 Industrial Goods and Services
case "50201010":
sector="DJUSAS";break;
case "50201020":
sector="DJUSDN";break;
case "50203030":
sector="DJUSCP";break;
case "502030":
sector="DJUSID";break;
case "50202010":
sector="DJUSEC";break;
case "50202040":
sector="DJUSAI";break;
case "50206015":
sector="DJUSHR";break;
case "502040":
sector="DJUSFE";break;
case "50206040":
sector="DJUSAF";break;
case "50206030":
sector="DJUSMT";break;
case "50206020":
sector="DJUSRR";break;
case "50206060":
sector="DJUSTS";break;
case "50206010":
sector="DJUSTK";break;
case "50205020":
sector="DJUSIV";break;
case "50205025":
sector="DJUSBE";break;
case "50205010":
sector="DJUSDS";break;
//5510 Basic Resources
case "55101010":
sector="DJUSFR";break;
case "55101015":
sector="DJUSPP";break;
case "55102035":
sector="DJUSAL";break;
case "55102050":
sector="DJUSNF";break;
case "55102010":
sector="DJUSST";break;
case "55103020":
sector="DJUSMG";break;
case "551020":
sector="DJUSMG";break;
case "55103025":
sector="DJUSPM";break;
case "55103030":
sector="DJCIPM";break;
//5520 Chemicals
case "552010":
sector="DJUSCC";break;
case "55201020":
sector="DJUSCX";break;
//6010 Energy
case "60101010":
sector="DJUSOS";break;
//En Amibroker no contempla el 60101000
case "601010":
sector="DJUSOL";break;
case "60101030":
sector="DJUSOI";break;
case "60101035":
sector="DJUSPL";break;
case "60102020":
sector="DWCREE";break;
case "60102010":
sector="DWCAFL";break;
case "60101040":
sector="DJUSCL";break;
//6510 Utilities
case "65103035":
sector="DJUSPC";break;
case "65101015":
sector="DJUSVE";break;
case "65101010":
sector="DWCAEG";break;
case "65102020":
sector="DJUSGU";break;
case "651020":
sector="DJUSMU";break;
case "65102030":
sector="DJUSWU";break;
default: sector="SPX";
}
}
if ((mercado=="EUROPEO") OR (mercado=="NORDICO") OR (mercado=="SUIZO"))
{
switch(IcbID(0))
{
//1010 Technology
case "10101010":
sector="T9533P";break;
case "10101020":
sector="T9530P";break;
case "10101015":
sector="T9537P";break;
case "10102030":
sector="T9570P";break;
case "10102015":
sector="T9570P";break;
case "10102010":
sector="T9576P";break;
//1510 Telecommunications
case "15102015":
sector="BTEP";break;
case "15101010":
sector="T9578P";break;
//2010 Health Care
case "20101025":
sector="BPHP";break;
case "20102010":
sector="BPHP";break;
case "20102015":
sector="BPHP";break;
case "20103010":
sector="T4573P";break;
case "20103015":
sector="T4577P";break;
//3010 Banks
case "30101010":
sector="BBAP";break;
//3020 Financial Services
case "30201030":
sector="BIGP";break;
case "302030":
sector="T8670P";break;
case "30202010":
sector="SXFP";break;
case "30201020":
sector="SXFP";break;
case "302020":
sector="SXFP";break;
case "30202015":
sector="SXFP";break;
case "30201025":
sector="SXFP";break;
case "302040":
sector="SXFP";break;
case "302050":
sector="SXFP";break;
//3030 Insurance
case "30302010":
sector="BINP";break;
case "30302015":
sector="BINP";break;
case "30302025":
sector="BINP";break;
case "30302020":
sector="BINP";break;
case "30301010":
sector="T8570P";break;
//3510 Real Estate
case "35101010":
sector="T8633P";break;
case "35101015":
sector="T8630P";break;
case "35102020":
sector="SETTRP";break;
case "35102045":
sector="T8672P";break;
case "35102040":
sector="T8670P";break;
case "351020":
sector="T8670P";break;
case "35102070":
sector="T8670P";break;
case "35102015":
sector="T8670P";break;
//4010 Automobiles and Parts
case "40101020":
sector="BATP";break;
case "40101025":
sector="BATP";break;
case "40101015":
sector="BATP";break;
//4020 Consumer Products and Services
case "40202025":
sector="T3720P";break;
case "40202015":
sector="T3720P";break;
case "40202010":
sector="T3720P";break;
case "40203010":
sector="T3740P";break;
case "40203050":
sector="T3740P";break;
case "40203045":
sector="T3740P";break;
case "40204020":
sector="T3760P";break;
case "40204025":
sector="T3760P";break;
case "40201070":
sector="SXTDP";break;
//4030 Media
case "40301010":
sector="BMDP";break;
case "40301020":
sector="BMDP";break;
case "40301030":
sector="BMDP";break;
//4040 Retail
case "40401020":
sector="SXTDP";break;
case "40401010":
sector="SXTDP";break;
case "40401025":
sector="SXTDP";break;
case "40401030":
sector="SXTDP";break;
//4050 Travel and Leisure
case "40501010":
sector="T5751P";break;
case "40501020":
sector="T5700P";break;
case "40501025":
sector="T5700P";break;
case "40501030":
sector="T5700P";break;
case "40501040":
sector="T5700P";break;
case "40501015":
sector="T5700P";break;
//4510 Food, Beverage and Tobacco
case "45101010":
sector="SIPBVG";break;
case "45101015":
sector="SIPBVG";break;
case "45101020":
sector="SIPBVG";break;
case "45102010":
sector="SXPFOA";break;
case "45102020":
sector="SXPFOA";break;
case "45103010":
sector="SETTFP";break;
//4520 Personal Care, Drug and Grocery Stores
case "45201030":
sector="T3720P";break;
case "45201020":
sector="T3760P";break;
case "45201015":
sector="SXTDP";break;
case "45201010":
sector="SXTDP";break;
//5010 Construction and Materials
case "50101035":
sector="BCNP";break;
case "50101010":
sector="BCNP";break;
//5020 Industrial Goods and Services
case "50201010":
sector="SXPARO";break;
case "50201020":
sector="SXPARO";break;
case "50203030":
sector="T2720P";break;
case "502030":
sector="T2720P";break;
case "50202010":
sector="T2730P";break;
case "50202040":
sector="T2730P";break;
case "50206015":
sector="SXPIEQ";break;
case "502040":
sector="SXPIEQ";break;
case "50206040":
sector="SIPTRA";break;
case "50206030":
sector="SIPTRA";break;
case "50206020":
sector="SIPTRA";break;
case "50206060":
sector="SIPTRA";break;
case "50206010":
sector="SIPTRA";break;
case "50205020":
sector="BIGP";break;
case "50205025":
sector="BIGP";break;
case "50205010":
sector="BIGP";break;
//5510 Basic Resources
case "55101010":
sector="SIPFRP";break;
case "55101015":
sector="SIPFRP";break;
case "55102035":
sector="T1750P";break;
case "55102050":
sector="T1750P";break;
case "55102010":
sector="T1750P";break;
case "55103020":
sector="T1750P";break;
case "551020":
sector="T1750P";break;
case "55103025":
sector="T1750P";break;
case "55103030":
sector="T1750P";break;
//5520 Chemicals
case "552010":
sector="SX4E";break;
case "55201020":
sector="BCHP";break;
//6010 Energy
case "60101010":
sector="SXEP";break;
//En Amibroker no contempla el 60101000
case "601010":
sector="SXEP";break;
case "60101030":
sector="SXEP";break;
case "60101035":
sector="SXEP";break;
case "60102020":
sector="T0583P";break;
case "60102010":
sector="T0583P";break;
case "60101040":
sector="T1750P";break;
//6510 Utilities
case "65103035":
sector="BIGP";break;
case "65101015":
sector="SXPELC";break;
case "65101010":
sector="SXPELC";break;
case "65102020":
sector="T7570P";break;
case "651020":
sector="T7570P";break;
case "65102030":
sector="T7570P";break;
default: sector="STOXX50E";
}
}
SetForeign(sector);
rsSymbol=ParamStr("Base Index Symbol","SPX");
//Comienza el cálculo del RSC Mansfield del subsector.
Cociente=C/Foreign(rsSymbol,"C");
countR=Sum(Cociente,52);
Baseprice=CountR/52;
RSCSector=((Cociente/Baseprice)-1)*10;
Buy=0;
Sell=0;
//Condiciones de entrada Sistema Inercia
//Entrada:Cruce por encima de 810, RSC SP500 por encima de cero, RSSector por encima de cero y Riesgo no superior a 10 pero sí a 3
//Salida:Cruce por debajo de 420, RS SP500 por debajo de cero, RSSector por debajo de cero o riesgo stop superior a 30
IAOK=InerciaAlcista>810 AND Ref(InerciaAlcista,-1)<810 AND RStop<=11 AND RStop>=3 AND RSCSP500>0 AND RSCSector>0;
IANOK=inerciaalcista<420 AND Ref(InerciaAlcista,-1)>420 AND RSCSP500<-0.1 AND RSCSector<-0.1;
Buysetup=IAOK;
Buystop=Close;
Buy=Buysetup;
BuyPrice=Buystop;
sellsetup=IANOK;
sellstop=Close;
sell=sellsetup;
sellPrice=sellstop;
Sell=ExRem(Sell,Buy);
fntsize = 8;// font size
dist = 35;// y-offset
bi = Barindex();
fvb = FirstVisiblevalue( bi );
lvb = LastVisiblevalue( bi );
dt = DateTime();
dtformat = "\n%d-%m-%y\n";
bkcolor = -1;// text background color, -1 means default color (transparent)
PlotTextSetFont( "", "ARIAL", fntsize, BarCount-1, 0, -1 );
PlotShapes(Buy*shapeUpArrow,colorLightBlue,0,Graph0,-12);
PlotShapes(Sell*shapeDownArrow,colorRed);
for ( i = fvb; i <= lvb; i++ ) {
if( Buy[i] || Sell[i] ) {
var = "\n" + c[i] + DateTimeFormat(dtformat, dt[i]);
if( Buy[i] ) PlotText( "Compra " + var, i, L[i], colorGreen, bkcolor, -dist+3*fntsize );
if( Sell[i] ) PlotText( "Venta " + var, i, H[i], colorRed, bkcolor, dist );
}
}