Stock Portfolio Organizer
The ultimate porfolio management solution.
Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
FVE and NXC for Amibroker (AFL)
Copy & Paste Friendly
Back
_SECTION_BEGIN("FVE"); /* Volatility modified FVE chart ** plus Volatility color-coded Volume chart + trading system ** TJ for S&C Traders Tips Sep 2003, */ Period = Param("Period for FVE", 24, 5, 80, 1 ); Coeff = Param("Coeff for Cutoff", 0.1, 0, 2, 0.01 ); intra=log(H)-log(L); Vintra = StDev(intra, period ); inter = log(Avg)-log(Ref(Avg,-1)); Vinter = StDev(inter,period); Cutoff = Coeff * (Vinter+Vintra)*C; MF = C- (H+L)/2 + Avg - Ref( Avg, -1 ); VC = IIf( MF > Cutoff, V, IIf( MF < -Cutoff, -V, 0 )); FVE = 100 * Sum( VC, Period )/(MA( V, Period ) * Period ); Plot( FVE, "Modified FVE", colorRed, styleThick ); // volatility color-coded volume bars: BarColor = IIf( MF > Cutoff, colorGreen, /* up volume */ IIf( MF < -Cutoff, colorRed, /* down volume */ colorBlue /*otherwise*/ )); //Plot( Volume, "Volume", BarColor, styleHistogram | styleThick | styleOwnScale ); /* Trading system */ SetTradeDelays(0,0,0,0); PositionSize = 10000; // fixed position size - remove to enable compounding RoundLotSize = 10; BuyPrice = Close; SellPrice = Close; RAD_TO_DEG = 180/3.1415926; // radians to degrees LinRegAngleFVE = RAD_TO_DEG * atan( LinRegSlope( FVE, 20 ) ); Buy = FVE < 10 AND FVE > -20 AND LinRegAngleFVE > 30 AND FVE > EMA( FVE, 40 ) AND LinRegSlope( C, 30 ) < Ref(C, -30 ) *0.6/100 AND LinRegSlope( C, 30 ) > -Ref( C, -30 ) * 0.3/100; Sell = LinRegAngleFVE < -30; Short = Sell; Cover = Buy; _SECTION_END(); Plot( 60, "", colorwhite, styleThick ); Plot( 0, "", colorwhite, styleThick ); Plot( -60, "", colorwhite, styleThick ); //SetChartBkColor(ParamColor("Panel Color",colorBlack)); //SetChartBkGradientFill(ParamColor("Upper Chart",colorBlack),ParamColor("Lower Chart",colorBlack)); _SECTION_BEGIN("Ocean Theory"); NDX_period = Param("NDX Period",75,40,375); NDX_SmLen = round(NDX_Period*20/40); NST_period = round(NDX_Period*20/40); NST_SmLen = round(NDX_Period*10/40); SumWght = 0; SumDnom = 0; for(i = 1; i < NDX_period+1; i++) { DifAry = ln(Ref(Close,-i+1)) - ln(Ref(Close,-i)); if(i == 1) DnomAry = abs(DifAry); else DnomAry =DNomAry+ abs(DifAry); FracAry =IIf(DNomAry==0, 0,(ln(Close) - ln(Ref(Close,-i))) / DnomAry); TimeAry = 1 / (i^( 0.5)); WghtAry = FracAry * TimeAry; SumWght =SumWght+ WghtAry; SumDnom =SumDnom+ TimeAry; } RawNDX = 100 * SumWght / SumDnom; TemaNDX= TEMA(RawNDX,NDX_SmLen); SumWgt = 0; SumDnm = 0; for(i = 0; i <NST_period+1; i++) { if(i < 2) { HghAry = High; LowAry = Low; } HghAry = HHV(High, i); LowAry=LLV(Low,i); RngAry = HghAry - LowAry; FrcAry =IIf(RngAry==0, 0,(Close- LowAry) / RngAry); TmeAry = 1 / ((i+1)^(0.5)); WgtAry = TmeAry * FrcAry; SumWgt =SumWgt+ WgtAry; SumDnm =SumDnm+ TmeAry; } RawNST = Nz((200 * SumWgt / SumDnm) - 100); TemaNST= TEMA(RawNST,NST_SmLen); NAvg = (abs(TemaNDX) * TemaNST + abs(TemaNST) * TemaNDX) / 2; Nsign= IIf(NAvg>0,1,IIf(NAVG<0,-1,0)); NXC =round(Nsign * sqrt(abs(NAvg))); Plot(NXC,"NXC",coloryellow,styleLine|styleThick);