Heinkin Ashi Smoothed indicator

Post Reply
Lima
Posts: 26
Joined: 17 Apr 2014 18:15

Heinkin Ashi Smoothed indicator

Post by Lima »

Hallo WHS Team und FS Gemeinde,

Ich versuche momentan den Heinkin Ashi Smoothed Indikator in der FS zu programieren. Folgende Code habe ich programiert:

Code: Select all

Express HeikinAshi_Smoothed

Vars
series haO, haC, haH, haL;
series Open_1, High_1, Low_1, Close_1;
series Open_2, High_2, Low_2, Close_2;

input $MA1(0,200,6);
Input $MA2(0,200,2);

Calculation

CalculateAtEveryTick(false);

if IsFirstBar() then
begin

  Open_1 = o;
  High_1 = h;
  Low_1 = l;
  Close_1 = c;
end
else
begin

  MovingAverage(open,Open_1,$MA1);
  MovingAverage(high,High_1,$MA1);
  MovingAverage(low,Low_1,$MA1);
  MovingAverage(close,Close_1,$MA1);

  haC = (Open_1 + High_1 + Low_1 + Close_1) / 4;
  haO = (haO[1] + haC[1]) / 2;
  haH = max(High_1, max (haO,haC));
  haL = min(Low_1, min (haO, haC));

  MovingAverage(hao,Open_2,$MA2);
  MovingAverage(haH,High_2,$MA2);
  MovingAverage(hal,Low_2,$MA2);
  MovingAverage(hac,Close_2,$MA2);

end

interpretation
begin
end

plotcandles (Open_2, Close_2, High_2, Low_2);

Leider funktioniert die code nicht. Nach viele Debuggen, habe ich herausgefunden, dass die Zeile "haO = (haO[1] + haC[1]);¨ keinen Wert zurückgibt, um genau zu sein, der Wert von "haO[1]" wird nicht zurückgegeben und somit funktionieren die weiteren Berechnungen nicht.

Ich habe die Code dann so umgeschrieben:

Code: Select all

Express HeikinAshi_Smoothed

Vars
series haO, haC, haH, haL;
series Open_1, High_1, Low_1, Close_1;
series Open_2, High_2, Low_2, Close_2;

input $MA1(0,200,6);
Input $MA2(0,200,2);

Calculation

CalculateAtEveryTick(false);

 haO = o;
 haC = c;
 haH = h;
 haL = l;

if IsFirstBar() then
begin

 MovingAverage(open,Open_1,$MA1);
 MovingAverage(high,High_1,$MA1);
 MovingAverage(low,Low_1,$MA1);
 MovingAverage(close,Close_1,$MA1);

  haC = (Open_1 + High_1 + Low_1 + Close_1) / 4;
  haO = (haO[1] + haC[1]) / 2;
  haH = max(High_1, max (haO,haC));
  haL = min(Low_1, min (haO, haC));

end

 MovingAverage(hao,Open_2,$MA2);
 MovingAverage(haH,High_2,$MA2);
 MovingAverage(hal,Low_2,$MA2);
 MovingAverage(hac,Close_2,$MA2);

interpretation
begin
end

plotcandles (Open_2, Close_2, High_2, Low_2);
Nun bekomme ich ein besseres Ergebniss. Alle Werte werden berechnet, aber egal was ich für die Periode der MA1 eintrage, wird der Wert nicht bei der Berechnung berücksichtigt.

Kann Jemand mir weiterhelfen? Was mache ich falsch bei der Programierung? Oder gibt es schon den Heinkin Ashi Smoothed Indikator für die FutureStation Nano?

Vielen Dank für eure Unterstüzung,

Lima
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: Heinkin Ashi Smoothed indicator

Post by WHS Support »

Hallo Lima,

wie ist die genaue Programmierung bzw. die Formel? Müssen die Preise vorab geglättet werden oder erst die Heikin Ashi Kerzen am Ende?

Mit freundlichen Grüßen,
Timo
WH SELFINVEST
Lima
Posts: 26
Joined: 17 Apr 2014 18:15

Re: Heinkin Ashi Smoothed indicator

Post by Lima »

Hallo Timo,

Danke für die Antwort.

Die Formel lautet:

Open_1 = MA_1(Open)
High_1 = MA_1(High)
Low_1 = MA_1(Low)
Close_1 = MA_1(Close)

haClose = (Open_1 + High_1 + Low_1 + Close_1) / 4.
haOpen = (haOpen(previous bar) + haClose(previous bar)) / 2
haHigh = max(High_1, haOpen)
haLow = min(Low_1, haOpen)

Open_2 = MA_2(haOpen)
Hight_2 = MA_2(haHigh)
Low_2 = MA_2(haLow)
Close_2=MA_2(haClose)

Zuerst wird der Preis geglättet, danach wird Heinki Ashi verwenden und zum letzten noch mal geglättet.

Mein Versuch, diese Formel in die FuturesStation zu implementieren, hat es bisher nicht funktioniert. Bitte um Hilfe.

Mit freundlichen Grüßen,

Lima
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: Heinkin Ashi Smoothed indicator

Post by WHS Support »

Hallo Lima,

nachfolgend ein Versuch diesen Indikator zu programmieren. Bitte beachten Sie, dass wir keinerlei Garantie oder Gewähr auf Richtigkeit übernehmen können. Die Verwendung dieses Codes ist daher auf eigene Gefahr. Danke für die Kenntnisnahme.

Mit freundlichen Grüßen,
Timo
WH SELFINVEST

Code: Select all

Express HeikinAshi_Smoothed

Vars

Series
hopen, hclose, hhigh, hlow, xhopen, xhclose, xhhigh, xhlow;

Numeric
ma_close, ma_open, ma_high, ma_low, zhigh, xlow, sm_close, sm_open, sm_high, sm_low;

Input
$span(1, 500, 10);

Calculation
if (CurrentBarIndex() < $span) then
begin
  hopen = o;
  hhigh = h;
  hlow = l;
  hclose = c;
  
  sm_close = sm_close + c;
  sm_open = sm_open + o;
  sm_high = sm_high + h;
  sm_low = sm_low + l;

  ma_close = void;
  ma_open = void;
  ma_high = void;
  ma_low = void;
end
else
begin
  sm_close = sm_close + c - c[$span];
  sm_open = sm_open + o - o[$span];
  sm_high = sm_high + h - h[$span];
  sm_low = sm_low + l - l[$span];

  ma_close = sm_close/$span;
  ma_open = sm_open/$span;
  ma_high = sm_high/$span;
  ma_low = sm_low/$span;

  hopen = (hopen[1] + hclose[1])/2;
  hclose = (ma_open + ma_high + ma_low + ma_close)/4;

  zhigh = Max(hopen, hclose);
  hhigh = Max(ma_High,zhigh);
  xlow = Min(hopen, hclose);
  hlow = Min(ma_low,xlow);
end

If IsFinalBar() then
begin
  MovingAverage(hopen, xhopen, $span);
  MovingAverage(hclose, xhclose, $span);
  MovingAverage(hlow, xhlow, $span);
  MovingAverage(hhigh, xhhigh, $span);
end


Interpretation
begin
end

plotcandles(xhopen, xhclose, xhhigh, xhlow);
Lima
Posts: 26
Joined: 17 Apr 2014 18:15

Re: Heinkin Ashi Smoothed indicator

Post by Lima »

Hallo Timo,

Vielen Dank für die schnelle Hilfe.

Ich habe die Code eingespielt. Es sieht gut aus. Ich werde sie nun genau anschauen, und sie zum meinen Zweck anpassen.

Alles gute.

Mit freundlichen Grüßen,

Lima
Post Reply

Return to “WHS NANOTRADER - EXPRESS PROGRAMMING”