Hej!
Håller på att försöka bygga två olika indikatorer som jag inte riktigt får till som någon kanske har svar på.

  1. Försöker bygga en indikator som ger vissa antal poäng när några bestämda kriterier är uppfyllda, tex;
    local x = 0;
    if (RSI(2.0, 5.0)[0] < 10) x++;
    plot1[0] = x;
    Detta visar då en 1 om RSI är under 10, hur gör man för att ge variablen x värdet 55 istället?

  2. Försöker också få till en indikator som efter rapport visar antingen -1 eller 1 beroende på om rapportdagen var upp eller ner, och som visar detta värde tex 10 dagar framåt eller texfram till nästa rapport.

Tack på förhand!

Hej,
du menar att x alltid ska vara 55? Det blir x = 55;
Annars normalt används global variabel för det du gör där, lägg till sådan under Inställnignar, med typ Number, namn x
Då blir kod enbart:
if (RSI(2.0, 5.0)[0] < 10) x++;
plot1[0] = x;

  1. Kan se ut så här:
    if (Fa.Event_ReportDay()[0] == 1)
    {
    if (Close.isUp())
    plot1[0] = 1;
    else
    plot1[0] = -1;

    }
    else if (BarNumber > 10)
    {
    if ((plot1[-1] != 0) && (plot1[-9] == 0))
    plot1[0] = plot1[-1];
    }

Förklarade mig inte riktigt på den första insåg jag nu.
Vill egentligen bygga en indikator som poängsätter olika edgar med olika värden.
Idag har jag gjort följande:

if (RSI(2.0)[0] < 15) x++;
if (RSI(2.0)[0] < 10) x++;
if (RSI(2.0)[0] < 5) x++;
if (BBW(20.0, 2.0)[0] > 10) x++;
plot1[0] = x;
Och så vidare.
Alltså visar den värdet 4 om rsi2 är under 5 och BBW är över 10.

Det jag egentligen vill göra är något mer liknande:

if (RSI(2.0)[0] < 15) x + 10;
if (RSI(2.0)[0] < 10) x + 18;
if (RSI(2.0)[0] < 5) x + 32 ;
if (BBW(20.0, 2.0)[0] > 10) x * 1.1;
plot1[0] = x;

Och att då få värdet på X i detta fallet att bli 55 när rsi2 är under 5 och BBW över 10, går detta att lösa på något sätt?

Den andra fungerade precis som jag tänkt mig, tack för hjälpen Anders!🙂

    14 dagar senare

    DennisBlad Ok du behöver ej global variabel där (kan tas bort, alternativt lägg till x = 0; på första raden)
    Men annars blir
    local x = 0;
    if (RSI(2.0)[0] < 15) x = x + 10;
    if (RSI(2.0)[0] < 10) x = x + 18;
    if (RSI(2.0)[0] < 5) x = x + 32 ;
    if (BBW(20.0, 2.0)[0] > 10) x = x + * 1.1;
    plot1[0] = x;