HURST CHANNELS

Stel hier uw vragen over TA-script, of help anderen met het oplossen van hun probleem
vincent
Berichten: 389
Lid geworden op: di jan 04, 2011 12:20 pm

Re: HURST CHANNELS

Bericht door vincent »

Eric,

Ik weet op jouw insteek is 'de koers een n-candles niet laten weergeven en daarmee de indicator ook minder candles laten doorrekeken', of 'wel de koers weergeven tot 'nu' en enkel de indicator de laaste n-candles niet laten doorrekenen'.
Visueel denk ik dat 2de optie kan zijn, maar beide ideeën bereiken hetzelfde doel, dus 'wat het makkelijkst is' denk ik zo :-)
vincent
Berichten: 389
Lid geworden op: di jan 04, 2011 12:20 pm

Re: HURST CHANNELS

Bericht door vincent »

Beste Eric,

Ik weet niet wat jouw insteek is:
A: De koers de laaste n-candles niet laten weergegeven en daarmee zal de indicator dat ook niet doen, of
B: De koers wel tot 'nu' weergeven en enkel de indicator n-candles niet laten doorrekenen

Ik denk dat B visueel duidelijker zou kunnen uitpakken, maar beide opties bereiken hetzelfde doel, ik ben al blij met welke dan ook...dus oftewel welke makkelijker is uit te werken

Gegroet, Vincent
Laatst gewijzigd door vincent op di dec 22, 2020 11:54 am, 3 keer totaal gewijzigd.
Eric
Berichten: 3604
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: HURST CHANNELS

Bericht door Eric »

Ik had optie A voor ogen, wysiwyg.

---
Eric
vincent
Berichten: 389
Lid geworden op: di jan 04, 2011 12:20 pm

Re: HURST CHANNELS

Bericht door vincent »

Beste Eric, ik was nog met de Hurst Oscillator aan het stoeien en liep tegen dezelfde 'onbetrouwbaarheid' aan als dat de laatste quote (en delen daarvoor) besproken werd.
Is het mogelijk om te kijken of de indicator een toevoeging kan krijgen qua in te stellen "verberg x-bars"?

Nog een ander ding is dat ik zie dat als ik er een horizontale lijn inzet het nu niet mogelijk is daar een 'signalering op doorkruising' aan te laten geven, ook al geef ik in de instelling van de lijn die wens wel aan.
Is dat deel hier 'aan te zetten?

Bij voorbaat dank en gegroet, Vincent

Afbeelding
Eric schreef: zo dec 20, 2020 11:22 pm Ik vind het wel een creatief idee. Je zou kunnen denken aan een soort "verberg x bars" functie in de grafiek, waarbij de indicator wordt berekend zonder dat de laatste x bars worden meegenomen. Door met dat aantal te spelen zie je dan het effect op de signalen in het verleden.

Is dat een beetje wat je bedoelt?

---
Eric
Eric
Berichten: 3604
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: HURST CHANNELS

Bericht door Eric »

Dit is een aangepaste versie, waarmee je de laatste n bars kunt weglaten voordat de indicator wordt berekend. Het kunnen signaleren van een kruising met een trendlijn is hierin ook opgelost.

Code: Selecteer alles

{- Filename: Hurst Oscillator -}

(* ORIGINAL CODE
# Hurst_Oscillator
#
# www.trendxplorer.info
# trendxplorer@gmail.com
#
# Build: July 25, 2012
# Rev 2: July 29, 2012: FlowPrice value to better reflect extremes
#

#
# --- script begin ----
#

declare lower;

input price = hl2;
input length = 10;
input InnerValue = 1.6;
input OuterValue = 2.6;
input ExtremeValue = 4.2;

def displacement = (-length / 2) + 1;
def dPrice = price[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);

#Rev 2: July 29, 2012: improved FlowPrice for better extremes
#def OscValue = if close > close[1] then high else if close < close[1] then low else (high + low)/2;
def OscValue =
if high >= high[1] and low <= low[1]
then
if close >= close[1] # high >= high[2]
then high
else low
else
if high > high[1]
then high
else
if low < low[1]
then low
else
if close > close[1]
then high
else
if close < close[1]
then low
else (high + low) / 2;

plot HurstOsc = (100 * OscValue / CMA) - 100;

HurstOsc.SetDefaultColor(GetColor(1));
HurstOsc.SetLineWeight(2);

plot CenterLine = 0;
plot UpperExtremeBand = ExtremeValue;
plot LowerExtremeBand = - ExtremeValue;
plot UpperOuterBand = OuterValue;
plot LowerOuterBand = - OuterValue;
plot UpperInnerBand = InnerValue;
plot LowerInnerBand = - InnerValue;

CenterLine.SetDefaultColor(GetColor(7));
CenterLine.SetLineWeight(1);

UpperExtremeBand.SetDefaultColor(GetColor(4));
UpperExtremeBand.SetLineWeight(1);
LowerExtremeBand.SetDefaultColor(GetColor(4));
LowerExtremeBand.SetLineWeight(1);
UpperExtremeBand.hide();
LowerExtremeBand.hide();

UpperOuterBand.SetDefaultColor(GetColor(5));
UpperOuterBand.SetLineWeight(1);
LowerOuterBand.SetDefaultColor(GetColor(6));
LowerOuterBand.SetLineWeight(1);

UpperInnerBand.SetDefaultColor(GetColor(5));
UpperInnerBand.SetLineWeight(1);
UpperInnerBand.SetStyle(Curve.SHORT_DASH);
LowerInnerBand.SetDefaultColor(GetColor(6));
LowerInnerBand.SetLineWeight(1);
LowerInnerBand.SetStyle(Curve.SHORT_DASH);

# Turn AddClouds off by putting a #-sign at the first position of the lines
AddCloud(UpperOuterBand, UpperInnerBand, color.red);
AddCloud(LowerInnerBand, LowerOuterBand, color.green);

#
# --- script end ----
#
*)

var
  Length, Displacement, i, HiddenBars: integer;
  InnerValue, OuterValue, ExtremeValue, CMA, CMA_1, OscValue: real;
  sPrice, sDPrice, sMA, sOsc, nHigh, nLow, nClose: TSeries;
begin
{ Parameters }
  Length := CreateParameterInteger('Periode', 1, 999, 80, true);
  InnerValue := CreateParameterReal('Inner value', 0, 999, 1.6, true);
  OuterValue := CreateParameterReal('Outer value', 0, 999, 2.6, true);
  ExtremeValue := CreateParameterReal('Extreme value', 0, 999, 4.2, true);
  HiddenBars := CreateParameterInteger('Hide last n bars', 0, 999, 0, true);

{ Indicator eigenschappen }
  with Indicator do 
  begin
    RequiredBars := 2*Length;    // Aantal benodigde koersen om eerste indicatorwaarde te berekenen
    NewBand := true;            // indicator standaard in nieuwe sectie plaatsen
    ScaleRange := srAuto;       // indicatorschaal automatisch
  end;

{ Berekening }
  if HiddenBars > 0 then
  begin
    nHigh := ShiftSeries(High, HiddenBars);
    nLow := ShiftSeries(Low, HiddenBars);
    nClose := ShiftSeries(Close, HiddenBars);
  end else
  begin
    nHigh := High;
    nLow := Low;
    nClose := Close;
  end;
  sPrice := DivideSeriesBy(AddSeries(nHigh, nLow), 2);
//def displacement = (-length / 2) + 1;
  Displacement := trunc(-length/2) + 1;
  sDPrice := ShiftSeries(sPrice, Displacement);
//def dPrice = price[displacement];
  sMA := MA(sDPrice, maSimple, Length);
//rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);
  sOsc := CreateSeries(BarCount);
  for i:=FirstValidIndex(nHigh)+1 to BarCount-1 do
  begin
    CMA_1 := CMA;
    if IsNaN(sDPrice[i]) then
      CMA := CMA + (CMA-CMA_1)
    else
      CMA := sMA[i];
      
    if (nHigh[i] >= nHigh[i-1]) and (nLow[i] <= nLow[i-1]) then
    begin
      if (nClose[i] >= nClose[i-1]) then
        OscValue := nHigh[i]
      else
        OscValue := nLow[i];
    end else
    if (nHigh[i] >= nHigh[i-1]) then
      OscValue := nHigh[i]
    else
    if (nLow[i] <= nLow[i-1]) then
      OscValue := nLow[i]
    else
    if (nClose[i] > nClose[i-1]) then
      OscValue := nHigh[i]
    else
    if (nClose[i] < nClose[i-1]) then
      OscValue := nLow[i]
    else
      OscValue := (nHigh[i]+nLow[i])/2;

    sOsc[i] := (100 * OscValue / CMA) - 100;
  end;

  if HiddenBars > 0 then
  begin
    sOsc := ShiftSeries(sOsc, -HiddenBars);
  end;

{ Weergave }
  with CreateLine(sOsc) do
  begin
    Name := 'Hurst Oscillator';
    Color := RGB(0, 255, 255);
    LineContent := lcTAR;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), 0)) do
  begin
    Name := '0';
    Color := clSilver;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), InnerValue)) do
  begin
    Name := '+Inner';
    Color := clRed;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -InnerValue)) do
  begin
    Name := '-Inner';
    Color := clLime;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), OuterValue)) do
  begin
    Name := '+Outer';
    Color := clRed;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -OuterValue)) do
  begin
    Name := '-Outer';
    Color := clLime;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), ExtremeValue)) do
  begin
    Name := '+Extreme';
    Color := clYellow;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -ExtremeValue)) do
  begin
    Name := '-Extreme';
    Color := clYellow;
  end;
  FillLinesRegion(2, 4, RGB(128,0,0), RGB(128,0,0), bsSolid);
  FillLinesRegion(3, 5, RGB(0,128,0), RGB(0,128,0), bsSolid);
end.
---
Eric
vincent
Berichten: 389
Lid geworden op: di jan 04, 2011 12:20 pm

Re: HURST CHANNELS

Bericht door vincent »

Dank Eric, ik ga er mee stoeien :)
vincent
Berichten: 389
Lid geworden op: di jan 04, 2011 12:20 pm

Re: HURST CHANNELS

Bericht door vincent »

Beste Eric,

is het mogelijk om in de Hurst Oscillator (zie code) een horizontale lijn te kunnen toevoegen waar een het kruissingsignaal van aangezet kan worden? Op 1 of andere manier werkt die functie nu niet in deze indicator (via tekenen->horizontale lijn). Met dank en groet, Vincent

Afbeelding

Code:

Code: Selecteer alles

{- Filename: Hurst Oscillator -}

(* ORIGINAL CODE
# Hurst_Oscillator
#
# www.trendxplorer.info
# trendxplorer@gmail.com
#
# Build: July 25, 2012
# Rev 2: July 29, 2012: FlowPrice value to better reflect extremes
#

#
# --- script begin ----
#

declare lower;

input price = hl2;
input length = 10;
input InnerValue = 1.6;
input OuterValue = 2.6;
input ExtremeValue = 4.2;

def displacement = (-length / 2) + 1;
def dPrice = price[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);

#Rev 2: July 29, 2012: improved FlowPrice for better extremes
#def OscValue = if close > close[1] then high else if close < close[1] then low else (high + low)/2;
def OscValue =
if high >= high[1] and low <= low[1]
then
if close >= close[1] # high >= high[2]
then high
else low
else
if high > high[1]
then high
else
if low < low[1]
then low
else
if close > close[1]
then high
else
if close < close[1]
then low
else (high + low) / 2;

plot HurstOsc = (100 * OscValue / CMA) - 100;

HurstOsc.SetDefaultColor(GetColor(1));
HurstOsc.SetLineWeight(2);

plot CenterLine = 0;
plot UpperExtremeBand = ExtremeValue;
plot LowerExtremeBand = - ExtremeValue;
plot UpperOuterBand = OuterValue;
plot LowerOuterBand = - OuterValue;
plot UpperInnerBand = InnerValue;
plot LowerInnerBand = - InnerValue;

CenterLine.SetDefaultColor(GetColor(7));
CenterLine.SetLineWeight(1);

UpperExtremeBand.SetDefaultColor(GetColor(4));
UpperExtremeBand.SetLineWeight(1);
LowerExtremeBand.SetDefaultColor(GetColor(4));
LowerExtremeBand.SetLineWeight(1);
UpperExtremeBand.hide();
LowerExtremeBand.hide();

UpperOuterBand.SetDefaultColor(GetColor(5));
UpperOuterBand.SetLineWeight(1);
LowerOuterBand.SetDefaultColor(GetColor(6));
LowerOuterBand.SetLineWeight(1);

UpperInnerBand.SetDefaultColor(GetColor(5));
UpperInnerBand.SetLineWeight(1);
UpperInnerBand.SetStyle(Curve.SHORT_DASH);
LowerInnerBand.SetDefaultColor(GetColor(6));
LowerInnerBand.SetLineWeight(1);
LowerInnerBand.SetStyle(Curve.SHORT_DASH);

# Turn AddClouds off by putting a #-sign at the first position of the lines
AddCloud(UpperOuterBand, UpperInnerBand, color.red);
AddCloud(LowerInnerBand, LowerOuterBand, color.green);

#
# --- script end ----
#
*)

var
  Length, Displacement, i: integer;
  InnerValue, OuterValue, ExtremeValue, CMA, CMA_1, OscValue, TriggerLevel: real;
  sPrice, sDPrice, sMA, sOsc: TSeries;
begin
{ Parameters }
  Length := CreateParameterInteger('Periode', 1, 999, 80, true);
  InnerValue := CreateParameterReal('Inner value', 0, 999, 1.6, true);
  OuterValue := CreateParameterReal('Outer value', 0, 999, 2.6, true);
  ExtremeValue := CreateParameterReal('Extreme value', 0, 999, 4.2, true);
  TriggerLevel := CreateParameterReal('Signal value', 0, 999, 1.6, true);

{ Indicator eigenschappen }
  with Indicator do 
  begin
    RequiredBars := 2*Length;    // Aantal benodigde koersen om eerste indicatorwaarde te berekenen
    NewBand := true;            // indicator standaard in nieuwe sectie plaatsen
    ScaleRange := srAuto;       // indicatorschaal automatisch
  end;

{ Berekening }
//def displacement = (-length / 2) + 1;
  Displacement := trunc(-length/2) + 1;
  sPrice := DivideSeriesBy(AddSeries(High, Low), 2);
  sDPrice := ShiftSeries(sPrice, Displacement);
//def dPrice = price[displacement];
  sMA := MA(sDPrice, maSimple, Length);
//rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);
  sOsc := CreateSeries(BarCount);
  for i:=1 to BarCount-1 do
  begin
    CMA_1 := CMA;
    if IsNaN(sDPrice[i]) then
      CMA := CMA + (CMA-CMA_1)
    else
      CMA := sMA[i];
      
    if (High[i] >= High[i-1]) and (Low[i] <= Low[i-1]) then
    begin
      if (Close[i] >= Close[i-1]) then
        OscValue := High[i]
      else
        OscValue := Low[i];
    end else
    if (High[i] >= High[i-1]) then
      OscValue := High[i]
    else
    if (Low[i] <= Low[i-1]) then
      OscValue := Low[i]
    else
    if (Close[i] > Close[i-1]) then
      OscValue := High[i]
    else
    if (Close[i] < Close[i-1]) then
      OscValue := Low[i]
    else
      OscValue := (High[i]+Low[i])/2;

    sOsc[i] := (100 * OscValue / CMA) - 100;
  end;

{ signalen }
  for i:=FirstValidIndex(sOsc) to BarCount-1 do
  begin
    if sOsc[i] < -TriggerLevel then EnterLong(i) else
      if sOsc[i] > TriggerLevel then EnterShort(i);
  end;
  
{ Weergave }
  with CreateLine(FillSeries(CreateSeries(BarCount), 0)) do
  begin
    Name := '0';
    Color := clSilver;
  end;
  with CreateLine(sOsc) do
  begin
    Name := 'Hurst Oscillator';
    Color := RGB(0, 255, 255);
    LineContent := lcTAR;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), InnerValue)) do
  begin
    Name := '+Inner';
    Color := clRed;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -InnerValue)) do
  begin
    Name := '-Inner';
    Color := clLime;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), OuterValue)) do
  begin
    Name := '+Outer';
    Color := clRed;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -OuterValue)) do
  begin
    Name := '-Outer';
    Color := clLime;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), ExtremeValue)) do
  begin
    Name := '+Extreme';
    Color := clYellow;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -ExtremeValue)) do
  begin
    Name := '-Extreme';
    Color := clYellow;
  end;
  FillLinesRegion(2, 4, RGB(128,0,0), RGB(128,0,0), bsSolid);
  FillLinesRegion(3, 5, RGB(0,128,0), RGB(0,128,0), bsSolid);
end.
Eric
Berichten: 3604
Lid geworden op: za sep 10, 2005 2:41 am
Locatie: Den Haag

Re: HURST CHANNELS

Bericht door Eric »

Jazeker:

Code: Selecteer alles

{- Filename: Hurst Oscillator -}

(* ORIGINAL CODE
# Hurst_Oscillator
#
# www.trendxplorer.info
# trendxplorer@gmail.com
#
# Build: July 25, 2012
# Rev 2: July 29, 2012: FlowPrice value to better reflect extremes
#

#
# --- script begin ----
#

declare lower;

input price = hl2;
input length = 10;
input InnerValue = 1.6;
input OuterValue = 2.6;
input ExtremeValue = 4.2;

def displacement = (-length / 2) + 1;
def dPrice = price[displacement];

rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);

#Rev 2: July 29, 2012: improved FlowPrice for better extremes
#def OscValue = if close > close[1] then high else if close < close[1] then low else (high + low)/2;
def OscValue =
if high >= high[1] and low <= low[1]
then
if close >= close[1] # high >= high[2]
then high
else low
else
if high > high[1]
then high
else
if low < low[1]
then low
else
if close > close[1]
then high
else
if close < close[1]
then low
else (high + low) / 2;

plot HurstOsc = (100 * OscValue / CMA) - 100;

HurstOsc.SetDefaultColor(GetColor(1));
HurstOsc.SetLineWeight(2);

plot CenterLine = 0;
plot UpperExtremeBand = ExtremeValue;
plot LowerExtremeBand = - ExtremeValue;
plot UpperOuterBand = OuterValue;
plot LowerOuterBand = - OuterValue;
plot UpperInnerBand = InnerValue;
plot LowerInnerBand = - InnerValue;

CenterLine.SetDefaultColor(GetColor(7));
CenterLine.SetLineWeight(1);

UpperExtremeBand.SetDefaultColor(GetColor(4));
UpperExtremeBand.SetLineWeight(1);
LowerExtremeBand.SetDefaultColor(GetColor(4));
LowerExtremeBand.SetLineWeight(1);
UpperExtremeBand.hide();
LowerExtremeBand.hide();

UpperOuterBand.SetDefaultColor(GetColor(5));
UpperOuterBand.SetLineWeight(1);
LowerOuterBand.SetDefaultColor(GetColor(6));
LowerOuterBand.SetLineWeight(1);

UpperInnerBand.SetDefaultColor(GetColor(5));
UpperInnerBand.SetLineWeight(1);
UpperInnerBand.SetStyle(Curve.SHORT_DASH);
LowerInnerBand.SetDefaultColor(GetColor(6));
LowerInnerBand.SetLineWeight(1);
LowerInnerBand.SetStyle(Curve.SHORT_DASH);

# Turn AddClouds off by putting a #-sign at the first position of the lines
AddCloud(UpperOuterBand, UpperInnerBand, color.red);
AddCloud(LowerInnerBand, LowerOuterBand, color.green);

#
# --- script end ----
#
*)

var
  Length, Displacement, i, HiddenBars: integer;
  InnerValue, OuterValue, ExtremeValue, CMA, CMA_1, OscValue, Trigger: real;
  sPrice, sDPrice, sMA, sOsc, nHigh, nLow, nClose, sTrigger: TSeries;
begin
{ Parameters }
  Length := CreateParameterInteger('Periode', 1, 999, 80, true);
  InnerValue := CreateParameterReal('Inner value', 0, 999, 1.6, true);
  OuterValue := CreateParameterReal('Outer value', 0, 999, 2.6, true);
  ExtremeValue := CreateParameterReal('Extreme value', 0, 999, 4.2, true);
  HiddenBars := CreateParameterInteger('Hide last n bars', 0, 999, 0, true);
  Trigger := CreateParameterReal('Signaal waarde', -10, 10, 0, true);

{ Indicator eigenschappen }
  with Indicator do 
  begin
    RequiredBars := 2*Length;    // Aantal benodigde koersen om eerste indicatorwaarde te berekenen
    NewBand := true;            // indicator standaard in nieuwe sectie plaatsen
    ScaleRange := srAuto;       // indicatorschaal automatisch
  end;

{ Berekening }
  if HiddenBars > 0 then
  begin
    nHigh := ShiftSeries(High, HiddenBars);
    nLow := ShiftSeries(Low, HiddenBars);
    nClose := ShiftSeries(Close, HiddenBars);
  end else
  begin
    nHigh := High;
    nLow := Low;
    nClose := Close;
  end;
  sPrice := DivideSeriesBy(AddSeries(nHigh, nLow), 2);
//def displacement = (-length / 2) + 1;
  Displacement := trunc(-length/2) + 1;
  sDPrice := ShiftSeries(sPrice, Displacement);
//def dPrice = price[displacement];
  sMA := MA(sDPrice, maSimple, Length);
//rec CMA = if !IsNaN(dPrice) then Average(dPrice, AbsValue(length)) else CMA[1] + (CMA[1] - CMA[2]);
  sOsc := CreateSeries(BarCount);
  for i:=FirstValidIndex(nHigh)+1 to BarCount-1 do
  begin
    CMA_1 := CMA;
    if IsNaN(sDPrice[i]) then
      CMA := CMA + (CMA-CMA_1)
    else
      CMA := sMA[i];
      
    if (nHigh[i] >= nHigh[i-1]) and (nLow[i] <= nLow[i-1]) then
    begin
      if (nClose[i] >= nClose[i-1]) then
        OscValue := nHigh[i]
      else
        OscValue := nLow[i];
    end else
    if (nHigh[i] >= nHigh[i-1]) then
      OscValue := nHigh[i]
    else
    if (nLow[i] <= nLow[i-1]) then
      OscValue := nLow[i]
    else
    if (nClose[i] > nClose[i-1]) then
      OscValue := nHigh[i]
    else
    if (nClose[i] < nClose[i-1]) then
      OscValue := nLow[i]
    else
      OscValue := (nHigh[i]+nLow[i])/2;

    sOsc[i] := (100 * OscValue / CMA) - 100;
  end;

  if HiddenBars > 0 then
  begin
    sOsc := ShiftSeries(sOsc, -HiddenBars);
  end;

{ Signalen }
  sTrigger := FilLSeries(CreateSeries(BarCount), Trigger);
  Signals := CrossingsToEntrySignals(Crossings(sOsc, sTrigger));

{ Weergave }
  with CreateLine(sOsc) do
  begin
    Name := 'Hurst Oscillator';
    Color := RGB(0, 255, 255);
    LineContent := lcTAR;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), 0)) do
  begin
    Name := '0';
    Color := clSilver;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), InnerValue)) do
  begin
    Name := '+Inner';
    Color := clRed;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -InnerValue)) do
  begin
    Name := '-Inner';
    Color := clLime;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), OuterValue)) do
  begin
    Name := '+Outer';
    Color := clRed;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -OuterValue)) do
  begin
    Name := '-Outer';
    Color := clLime;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), ExtremeValue)) do
  begin
    Name := '+Extreme';
    Color := clYellow;
  end;
  with CreateLine(FillSeries(CreateSeries(BarCount), -ExtremeValue)) do
  begin
    Name := '-Extreme';
    Color := clYellow;
  end;
  with CreateLine(sTrigger) do
  begin
    Name := 'Trigger';
    Color := RGB(255, 128, 0);
  end;
  FillLinesRegion(2, 4, RGB(128,0,0), RGB(128,0,0), bsSolid);
  FillLinesRegion(3, 5, RGB(0,128,0), RGB(0,128,0), bsSolid);
end.
---
Eric
vincent
Berichten: 389
Lid geworden op: di jan 04, 2011 12:20 pm

Re: HURST CHANNELS

Bericht door vincent »

Het werkt... Top... Dank
Plaats reactie