| Coding Forum Collaborate, receive help, or discuss coding related issues. |
![]() | | Tweet | |
| | #1 | ||
![]() | Easylanguage Displaying Additional Decimal This is the easylanguage code for the ADXVMA: Code: Inputs:
ADX_Bars(5),
MA_SMA_1_EMA_2_HMA_3(1),
Extra_MA_Length(1),
DownColor(Red),
UpColor(Blue),
ChopColor(Yellow);
Vars:
TR(0),DI_Diff(0), DI_Sum(0),ma(0),pdm(0),mdm(0),pdi(0),mdi(0), DI_Factor(0), VI(0), diff(0), HHV(0), LLV(0),WeightDM(ADX_Bars),
WeightDI(ADX_Bars), WeightDX(ADX_Bars),ChandeEMA(ADX_Bars),out(0),j(0),MAPlot(0);
ma=Close;
pdm=0;
mdm=0;
pdi=0;
mdi=0;
out=0;
pdm=0;
mdm=0;
if(Close>Close[1]) then pdm=Close-Close[1] else mdm=Close[1]-Close;//This array is not displayed.
pdm=((WeightDM-1)*pdm[1] + pdm)/WeightDM;//ema.
mdm=((WeightDM-1)*mdm[1] + mdm)/WeightDM;//ema.
TR=pdm+mdm;
if (TR>0) then begin
pdi=pdm/TR;
mdi=mdm/TR; end else begin
pdi=0;
mdi=0;
end;
pdi=((WeightDI-1)*pdi[1] + pdi)/WeightDI;//ema.
mdi=((WeightDI-1)*mdi[1] + mdi)/WeightDI;//ema.
DI_Diff=pdi-mdi;
if (DI_Diff<0) then DI_Diff= -DI_Diff;//Only positive momentum signals are used.
DI_Sum=pdi+mdi;
DI_Factor=0;//Zero case, DI_Diff will also be zero when DI_Sum is zero.
if (DI_Sum>0) then out=DI_Diff/DI_Sum else out=0;
out=((WeightDX-1)*out[1] + out)/WeightDX;
if (out>out[1]) then begin
HHV=out;
LLV=out[1]; end else begin
HHV=out[1];
LLV=out;
end;
for j = 1 to adx_bars-1 begin
if(out[j+1]>HHV)then HHV=out[j+1];
if(out[j+1]<LLV) then LLV=out[j+1];
end;
diff = HHV - LLV;
VI=0;
if (diff>0) then VI=(out-LLV)/diff;
ma=((ChandeEMA-VI)*ma[1]+VI*Close)/ChandeEMA;//Chande VMA formula with ema built in.
if MA_SMA_1_EMA_2_HMA_3 = 1 then MAPlot = average(ma,Extra_MA_Length);
if MA_SMA_1_EMA_2_HMA_3 = 2 then MAPlot = xaverage(ma,Extra_MA_Length);
if MA_SMA_1_EMA_2_HMA_3 = 3 then MAPlot = JTHMA(ma,Extra_MA_Length);
Plot1(ma,"ADXVMA");
Plot2(MAPlot,"ExtraMA");
#function jtHMA
Inputs: price(NumericSeries), length(NumericSimple);
Vars: halvedLength(0), sqrRootLength(0);
{
Original equation is:
---------------------
waverage(2*waverage(close,period/2)-waverage(close ,period), SquareRoot(Period)
Implementation below is more efficient with lengthy Weighted Moving Averages.
In addition, the length needs to be converted to an integer value after it is halved and
its square root is obtained in order for this to work with Weighted Moving Averaging
}
if ((ceiling(length / 2.00) - (length / 2.00)) <= 0.50) then
halvedLength = ceiling(length / 2.00)
else
halvedLength = floor(length / 2.00);
if ((ceiling(SquareRoot(length)) - SquareRoot(length)) <= 0.50) then
sqrRootLength = ceiling(SquareRoot(length))
else
sqrRootLength = floor(SquareRoot(length));
Value1 = 2.00 * WAverage(price, halvedLength);
Value2 = WAverage(price, length);
Value3 = WAverage((Value1 - Value2), sqrRootLength);
jtHMA = Value3; *and i guess I should mention that the attached code is in OEC version... it won't import to TS unless you copy/paste the function and compile it separately...* I was just hoping this was an obvious quick fix that wouldn't require importing it. Cheers!* | ||
| |
|
| | #2 | ||
![]() | Re: Easylanguage Displaying Additional Decimal Also, using this word "round", gives you the ability to round the number to 3 decimals in the code: plot1( round(close, 3)); | ||
| |
|
| The Following User Says Thank You to zapisy For This Useful Post: | ||
daedalus (03-01-2010) | ||
| | #3 | ||
![]() | Re: Easylanguage Displaying Additional Decimal I also did the rounding change to the plots and again nothing. I would just do a numtstr tag and manually change the print.... but OEC doesn't support that. Anyone know of an OEC supported print function that I can added decimals to? | ||
| |
|
| | #4 | ||
![]() | Re: Easylanguage Displaying Additional Decimal Quote:
Hope it helps you Best regards aaa | ||
| |
|
| | #5 | ||
![]() | Re: Easylanguage Displaying Additional Decimal Cheers! | ||
| |
|
| | #6 | ||
![]() | Re: Easylanguage Displaying Additional Decimal | ||
| |
|
| | #7 | ||
| | Re: Easylanguage Displaying Additional Decimal I would like to have some help with ADXVMA indicator. 1) If somebody can help to have the Metastock version. 2) OR if somebody could "explain - describe step by step the code of the indicator" so i could try to ..... Thanks in advance for any help. Best Regards Dimitri | ||
| |
|
| | #8 | ||
![]() | Re: Easylanguage Displaying Additional Decimal
__________________ ..........This is a terribly difficult question to answer. The only satisfactory answer is: "It depends"... Last edited by Tams; 08-07-2011 at 10:27 PM. | ||
| |
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
| ∧ Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Trendline (EasyLanguage) | Tams | Coding Forum | 43 | 07-09-2011 01:36 AM |
| Antonio: Please help me on MP for easylanguage | nasdaq5048 | Market Profile | 13 | 09-23-2010 10:50 AM |
| Loops (EasyLanguage) | Tams | Coding Forum | 26 | 11-27-2009 08:23 PM |
| Some EasyLanguage Help Please | jjthetrader | Coding Forum | 8 | 06-02-2008 05:20 PM |
| Using Outside Sources to Build Track Record And/or Make Additional Money... | brownsfan019 | Market Analysis | 24 | 04-30-2008 08:12 PM |