# Hilbert Sine Wave Support and Resistance

10077瀏覽
Support and Resistance plotted to match John Ehler's Hilbert Sine Wave

## 評論

Great work on a brillant transcription of some beautiful math.
Getting the occasional following error: Index can't be a negative value (-1)
Only on some price charts though, so might be difficult to recreate.
Pine points to plot(currdotvalue, ... as having the Index error.
Been having a play myself, and thought maybe it's when nz(currdotvalue) gets initialised ...

some error is coming while compliaton Script could not be translated from: |B|DeltaPhase := iff(DeltaPhase <

prashu1
@prashu1,
The indicator works fine with me, but I will not use it for it's a bad try of the Better Sine Wave. See http://emini-watch.com/
Did you put //@version=2 on the first line? It's a must, see below an excerpt of the tutorial manual. We should avoid the use of the operator ":=" whenever possible. This was translated from another language and it's easier to do it this way using just one mutable variable DeltaPhase but in the future there will be problems using mutable variables within functions.

Variable Assignment

Mutable variable is such a variable which can be given a new value.

The operator ‘:=’ must be used to give a value to a variable. To use this operator, a special attribute must be used in the first line of a code: //@version=2. This attribute identifies the version of Pine Script. Mutable variables were introduced in version 2.

A variable must be declared before you can set a value for it (declaration of variables has been described above).

Type of a variable is identified on the declaration step. A variable can be given a value of expression only if both the expression and the variable belong to the same type, otherwise it will give you a compilation error.

Variable assignment example:
//@version=2
study("My Script")
price = close
if hl2 > price
price := hl2
plot(price)

Can you explain the Drawing Lines? why (DCPeriod/8) and not straight DCPeriod ?