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 ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

90% accurate system for Amibroker (AFL)

Copy & Paste Friendly
/*

90% accurate system
you may confused with my english. observe after downloading AFL into amibroker


devide screen1 screen2 screen3 as 3 different indicators. 
buy sell decisions are based on following observations

terminology  
bar -> start of green/red horizontal in screen2
nl+elder+si -> in screen1  (non linear , alexander elder, si) indicators

screen2-> ROCEMA
screen3 -> ROCLEMA

sure way

nl+elder+si >=3 have better at a time *******  in screen1 

sure shot 1) screen1 nl+elder+(si or roc) and cross2 at bar2 *** 

screen4 rocSi value around 300-900 

step1)cross2 at bars or ref(-1) bars(horizontal red green in screen2 ) in screen2 priority1 
        volume considerations better

TSI(true strength index) and near cross3 
or TSI near cross2 & step1 

step1.5) cross3 and TSI better signal 
    or TSI near cross2 with screen1 suppport better
sep2)cross3 at bars or TSI & bars3 or cross at Bars3 check ****



always screen1 support for TSI or screen2 cross is best signal of all

step 1.5 or step2 are late but longer **

note  TSi & bar3 & screen1>=3  and cross3 misses completel may be its very slow growh 


///////////////////
other sure way
sure way ************

roc(si) (300-800) + screen1 SI change in sign + 
+ nl screen1 (4) + rocEMA screen2 bar start 

long
roc(si) (300-800) + screen1 SI change in sign + 
+ nl screen1 (4) + screen3 LEMA cross3 bar start

/////////////////////////////////////////////
when to buy when to  sell ************

follow up in screen3  see any cross3 or cross2 divergences of trend direction
if finds screen1 scores divergence look screen2 roc , screen3 LEMA(must,major)*****
  screen3 -ves or divergences(crosses)in -LEMA or +LEMA also may cause sell pressure 

in when to sell when to buy  priority follows as
scree1 high, screen3 LEMAmedium, screen2 low (crosses,sign changes etc..)??????
most of times  screen3 LEMA & MFI decides more than screen1 nl,elder scores????
   in trend if you find screen3 LEMA divergence look  MFI ********** ????? for confirmation
-------------------------------------------------

///////////////////////////////////////////////

other sure way for accuracy

step1 look bars parallel IN SCREEN2

 volume considerations is must ******


NOTE1: scree1 score>=3 and screen2 bar at atime at atime  - definite ***
NOTE:  real movement starts at screen1 scores
NOTE2: 2ema ,2 lema(surely it will turn even minor or medium) - definite **

NOTE screen1,screen2 + volume combination + TSI
NOTE screen3 bigmoves + MFI + TSI ****


NOTE3: big money screen3 (not necessary bar3) when change sign in screen3 
(green to red or red to green) see screen2 ROCEMA>=190(avg 260), ROCLEMA(avg 30) 

              see screen2 ROCEMA around 150-160 is short move ****** look MFI also 
             
            screen2 ROCEMA>-2000 or -1000   at NOTE3 careful its short move *******
            iif scrren2 2ROCLEMA > 2ROCEMA  or 2ROCLEMA>30 fast move 


            screen2 ROCEMA>-2000 or -1000   at NOTE3 careful its short move *******
NOTe3: always considder MFi,EM(MFI) for shorter/longer moves 

NOTE4: Along with  NOTE3 + if too much change in screen2 ROCEMA , ROCLEMA(>80 genarally 130 like that)
 its big BAR it falls
          called GAPUP OR GAPDOWN  ****


old rose way 
screen1 coincidence(nl,elder,si(roc(si)) at atime ) with screen2 bars- definite 

----------
screen2 rocEMA 2ema synch with sceen3 EMA(LEMA better) 
screen2 2lema synch with screen3 LEMA 
-------
this is add more confirmation to old rose way 
screen2 2lema synch with screen3 LEMA 
observation-> real movement starts after +2lema inscreen2

---------------------------------------------
                                               - definite ***
this is one more one more add more confirmation to old rose way 
scree1 score>=3 and screen2 bar at atime at atime  - definite ***
--------


+2ema, foloowed by +2lema  - is it definite????
very few times +2cross,+2ema,+2lema - all at times also fail 

medium take chances even when screen1 nl,elder,si not at atime (one after other)with  3 sum
or even not considering screen at bar2 crosses 

note: wheneever looking at screen1,2 major turns look at screen3 ********
MFI 

2ema ,2 lema(surely it will turn even minor or medium) - definite 

note: important iff too many noise signals appear in screen2 look screen3 ***** (better than MFI)
note : sometimes even screen2 cross,ema,lema all at atime it fails if screen3 lema 

2)  screen3 ,TSI  fails too 

need screen1 ? better even it appear at bar2 2lema .
not necessary before +ema2 or -ema2 of screen2 

major deviations *****
minor pullbacks-- GBPNZD 16/3/2015 17:30 hourly 

screen1 , screen2 , screen3 ,(si) missing but EMA(MFI) fails ?????????

 minor pullbacks-- GBPNZD 17/3/2015 5:30 hourly 
USDCAD 17/2/ 17:30 sell screen1(but not SI),screen2,screen3 supports , MFI,EM(MFI) also supports 
but shorter move TSI not supporting 
--------------------------------------------------
**********

in stocks finding GAPUP GAPDOWN see NL red or green and screen3 
hint 1)after screen3 sign change  , look screen2 rocLEMA (if >90 or 100) its GAPUP or GAPDOWN)
hint 2)  after screen3 sign change LEMA negative sign divergence, 
              look screen2 also for rocLEMA sign divergence 


///////////////////////////////////////////



*/

/////////////////   scrren1  screen1 indicator////////////
EMA_Type		= Param("EMA-1, TEMA-2, JMA-3", 2, 1, 3, 1);
EMA_prds 		= Param("EMA_periods", 7, 1, 30, 1);
Std_MACD		= Param("Standard MACD? No-0, Yes-1", 1, 0, 1, 1);
Plot_fashion	= Param("Bar+Arrows-1, Impulse  Bars-2", 2, 1, 2, 1);


// Allow user to define Weekly and Monthly Ribbon Location and Height
WR_P1 = Param("Weekly Ribbon Location", -10.5, -1000, 1000, 0.1);
WR_P2 = Param("Weekly Ribbon Height", 366.5, -0.001, 500, 0.1);

MR_P1 = Param("Monthly Ribbon Location", 5.2, -1000, 1000, 0.1);
MR_P2 = Param("Monthly Ribbon Height", 199, -0.001, 500, 0.1);


// Compute EMA and MACD Histogram
if(EMA_Type == 1)
{
	DayEMA	= EMA(Close, EMA_prds);
}
if (EMA_Type == 2)
{
	DayEMA	= TEMA(Close, EMA_prds);
}

if(EMA_Type == 3)
{
	// Line below to be used with Jurik JMA
	// DayEMA = JurikJMA(C, EMA_Prds);
}

Histogram	= MACD() - Signal();

// Determine if we have an Impulse UP, DOWN or None
Impulse_Up		=	DayEMA > Ref(DayEMA, -1) AND Histogram > Ref(Histogram, -1);
Impulse_Down	=	DayEMA < Ref(DayEMA, -1) AND Histogram < Ref(Histogram, -1);   
Impulse_None		=	(NOT Impulse_UP) AND (NOT Impulse_Down);

// Compute Weekly MACD and determine whether rising or falling
// Note: uses "non-standard"  parameters!
TimeFrameSet(inWeekly);

if (Std_MACD == 0)
{
MACD_val		=	MACD(5, 8);
Signal_val		=	Signal(5, 8, 5);
}
else
{
MACD_val		=	MACD(12, 26);
Signal_val		=	Signal(12, 26, 9);
}

Hist_in_w		=	MACD_val - Signal_val;

wh_rising = Hist_in_w > Ref(Hist_in_w, -1);
wh_falling = Hist_in_w < Ref(Hist_in_w, -1);

TimeFrameRestore();

// Now get Monthly MACD Histogram....
TimeFrameSet(inMonthly);
MACD_val		=	MACD(5, 8);
Signal_val		=	Signal(5, 8, 5);
Hist_in_m		=	MACD_val - Signal_val;

mh_rising = Hist_in_m > Ref(Hist_in_m, -1);
mh_falling = Hist_in_m < Ref(Hist_in_m, -1);

TimeFrameRestore();

wh_rising 		= TimeFrameExpand( wh_rising, inWeekly, expandLast ); 
wh_falling 		= TimeFrameExpand( wh_falling, inWeekly, expandLast); 
mh_rising 	= TimeFrameExpand(mh_rising, inMonthly, expandLast);
mh_falling 	= TimeFrameExpand(mh_falling, inMonthly, expandLast);

kol 	= IIf( wh_rising, colorGreen,  IIf(wh_falling, colorRed, colorLightGrey));
mkol 	= IIf( mh_rising, colorBlue,  IIf(mh_falling, colorYellow,
colorLightGrey));

// Plot them all!
if (Plot_fashion == 1)
{
	//Plot(Close, "Close", colorTeal, styleBar);
	//PlotShapes(shapeUpArrow * Impulse_Up, colorBlue, 0, Low, -12);
	//PlotShapes(shapeDownArrow * Impulse_Down, colorRed, 0, High, -12);
	//PlotShapes(shapeSmallCircle * Impulse_None, colorWhite, 0, High, 5);
}
else
{
	bar_kol	=	IIf(impulse_UP, colorBlue, IIf(impulse_Down, colorRed, colorWhite));
	//Plot(C, "Close", bar_kol, styleBar);
}

//Plot(10, "ribbon", kol, styleOwnScale|styleArea|styleNoLabel, WR_P1, WR_P2);	//
//Weekly trend
//Plot(10, "ribbon", mkol, styleOwnScale|styleArea|styleNoLabel, MR_P1, MR_P2);	//
//Monthly Trend

// Explorer Section
// Determine if Impulse status is bullish, neutral or bearish.  Display as Text
//Column.
Impulse_State		=	WriteIf(Impulse_Up, "Bulllish", WriteIf(Impulse_Down,
"Bearish", "Neutral"));

// Set the background color for Impulse Status Column
Impulse_Col		=	IIf(Impulse_Up, colorGreen, IIf(Impulse_Down, colorRed,
colorLightGrey));

// Determine Weekly Trend. Display as Text Column
Weekly_Trend		=	WriteIf(wh_rising, "Rising", WriteIf(wh_falling, "Falling",
"Flat!"));
Weekly_Col		=	IIf(wh_rising, colorGreen, IIf(wh_falling, colorRed,
colorLightGrey));

// Determine Monthly Trend. Display as Text Column
Monthly_Trend	=	WriteIf(mh_rising, "Rising", WriteIf(mh_falling, "Falling",
"Flat!"));
Monthly_Col		=	IIf(mh_rising, colorGreen, IIf(mh_falling, colorRed,
colorLightGrey));

// Determine how many bars has the current state existed
bars_in_bull	=	Min(BarsSince(impulse_none), BarsSince(impulse_down));
bars_in_bear	=	Min(BarsSince(impulse_up), BarsSince(impulse_none));
bars_in_neut	=	Min(BarsSince(impulse_down), BarsSince(impulse_up));

// Set a single variable to show number of bars in current state depending upon

// actual Impulse Status - Bullish, Bearish or Neutral
bars_in_state	=	IIf(Impulse_Up, bars_in_bull, IIf(Impulse_down, bars_in_bear,
bars_in_neut));

// Columns for display in Explorer 
//AddTextColumn(Impulse_State, "Impulse Status", 1, colorWhite, Impulse_Col);
//AddColumn(bars_in_state, "Bars in this state", 1, colorWhite, Impulse_col);
//AddTextColumn(Weekly_Trend, "Weekly Trend", 1, colorWhite, Weekly_Col);
//AddTextColumn(Monthly_Trend, "Monthly Trend", 1, colorWhite, Monthly_Col);



impBuyCond1= Impulse_Col ==colorGreen AND Ref(Impulse_Col !=colorGreen ,-1);
impShortCond1=Impulse_Col==colorRed  AND Ref(Impulse_Col !=colorRed ,-1);


Buysum=0;
Sellsum=0;
BuySum=impBuyCond1;
Sellsum=impShortCond1;

/*




*/
_SECTION_END();


//////////////////////////////

//non linear

Price = (H+L)/2;
CoefLookback = 5;

Coef = (Price-Ref(Price, -1))^2+(Price-Ref(Price, -2))^2+(Price-Ref(Price, -3))^2+(Price-Ref(Price, -4))^2+(Price-Ref(Price, -5))^2;

SumCoef=0;
SumCoefPrice=0;
for(i=0; i < CoefLookback; i++) {
	SumCoef = SumCoef + Ref(Coef, -i);
	SumCoefPrice = SumCoefPrice + (Ref(Coef, -i) * Ref(Price, -i));
}

DCEF = SumCoefPrice / SumCoef;



//Title = "nonlinear: " + IIf(Close>DCEF, colorGreen, colorRed)+ NumToStr( DCEF, 1.6 );



//Plot(Close, "Close", colorWhite, styleLine);
//Plot(DCEF, "NonLinear Ehlers Filter", IIf(Close>DCEF, colorGreen, colorRed), styleLine);
///////////////////////////////

//Swim

/* SWIM INDEX 
 coded by KAILASH K PAREEK - INDIA .

As the name of indicator explains it self, It measures the
swim of Price. Day Trader may find it very useful as it gives
trend reversal in next 2-3 trading.

INTERPATION: 

Expect trend reversal or at least consolidation when SI 
Spikes higher, (for Peak) OR lower, (for bottom), than 
Relative spikes and turns back. I have found couple of times
The thing called "HING" which appears 1-2 day before the
Price reversal and common in Stochastic Oscillator.


*/

C1 = Ref ( C , -1 ) ;
O1 = Ref ( O, -1 ) ;
K   = HHV ( ( H - C1 ) OR ( L - C1 ) , 1 ) ;
L   =  C1 * 0.20;
R  =  ATR ( 1 );

SI  =  ( ( C-C1+0.5*(C-O)+0.25*(C1-O1))/R)*(K/L);

//Graph0 = SI;


//Plot(SI, "SWIM index",colorGreen , styleArea);

//PlotOHLC( 1.1*SI, 1.1* SI, 1.1* SI, 1.1* SI, 

 //  "Price chart shifted 10% up", colorRed, styleGradient ); 





//Title = "SI: " +EncodeColor( colorRed ) + NumToStr( SI, 1.6 );
/*
_N(Title = StrFormat("{{NAME}} - " +FullName() +
   " - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) SI " +
   WriteVal( SI, 1.6 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( SI,1,True )) )); 


*/


 

Buy1=Cross(Close,DCEF) AND ( SI>0 AND Ref(SI,-1)<0 ) AND (ROC(SI)>0 AND ROC(Ref(SI,-1))<0  );
Sell1=Cross(DCEF,Close) AND ( SI<0 AND Ref(SI,-1)>0 ) AND (ROC(SI)<0 AND ROC(Ref(SI,-1))>0  );



BuySum=BuySum+Cross(Close,DCEF);
Sellsum=Sellsum+Cross(DCEF,Close);



BuySum=BuySum+(( SI>0 AND Ref(SI,-1)< 0.0 ));
Sellsum=Sellsum+(( SI<0 AND Ref(SI,-1)> 0.0 ));



//BuySum=BuySum +(( sign( ROC(SI,1) ) != sign( ROC(Ref(SI,-1),1)) ));
//Sellsum=Sellsum+(( sign( ROC(SI,1)) != sign(ROC(Ref(SI,-1), 1))));

/*
PlotShapes(Buy1*shapeUpArrow,colorGreen,0,DCEF);
PlotShapes(Sell1*shapeDownArrow,colorRed,0,DCEF);
*/

///////////////////
//gmma


/* ------------------------------------------------------------------------------------------------- GUPPY MULTIPLE MOVING AVEREGES ------------------
   Guppy GMMA from AmiBroker Library, enhanced with "derived" Indicators 
 ---------------------------------------------------------------------------*/
EnableTextOutput(False);
GuppyGraphType  = ParamList("Type of Guppy Graphic","Guppy GMMA,Guppy Compressions,Guppy Sonar",0);
// Normalization   = ParamToggle("Normalization Array","CLOSE,EMA30",0);
LocalBuySignal  = LocalSellSignal = 0;
MinMaxPeriod    = 20;
// --- DEFINE/CALCULATE ALL DATA NEEDED FOR BUY & SELL COMPOSITE SIGNALS outside the IndicatorType IF --- 
EMA03           = EMA(Close,3); 
EMA15           = EMA(Close,15);
EMA30           = EMA(Close,30);
EMA60           = EMA(Close, 60);
NormalizerArray = EMA30;   // IIf(Normalization == 0, Close, EMA30);
//
GMMADeltaPerc   = ((EMA(Close,9)- EMA(Close,35)) / EMA(Close,35)) * 100;  //default 15,30

      
       GMMAUP    = GMMADeltaPerc > Ref(GMMADeltaPerc,-1);
       GMMADOWN  = GMMADeltaPerc < Ref(GMMADeltaPerc,-1);
       BarColor  = IIf(GMMAUP AND GMMADeltaPerc >= 0,colorBrightGreen, IIf(GMMADOWN AND GMMADeltaPerc > 0,colorGreen, IIf(GMMAUP AND GMMADeltaPerc < 0, colorRed, colorDarkRed)));
      // Plot(GMMADeltaPerc, "\\c16, % Gap \\c29T\\c16 - \\c32INV\\c16 vs EMA(30)", BarColor, styleHistogram | styleThick );   
		// Plot(GMMADeltaPerc ,"up",colorAqua);
  /*    Title = "sonar: "  + "UP "+NumToStr( GMMAUP, 1.2 )+
					"  DOWN "+NumToStr( GMMADOWN  , 1.2 );
*/
        


BuySum=BuySum+ ((GMMAUP==1)&& (Ref(GMMAUP,-1)==0));
Sellsum=Sellsum+((GMMADOWN==1)&& (Ref(GMMADOWN,-1)==0));

AddColumn(Close,"close");
AddColumn(BuySum,"BuyPoints");
AddColumn(Sellsum,"SellPoints");
AddColumn(ROC(SI,1),"rocSI");

period = 14;
formula=100*( ( RSI( period ) - LLV( RSI( period ) , period ) ) / ( ( HHV( RSI(
period ) , period ) ) - LLV(RSI( period ), period ) ) );

//AddColumn(ROC(formula,2),"ROCstck");
//AddColumn(formula,"stck");

//Filter=abs(ROC(SI,1))>200;
//Filter=1;

Cond1= (BuySum>=3 OR SellSum >=3 ); 
Filter=Cond1;
txt=WriteIf(BuySum>=3,NumToStr(BuySum), 
          WriteIf(SellSum>=3,NumToStr(SellSum)," ") );

///////////////////////////////////////////

txtBuy="";

AddColumn(impBuyCond1,"imp Buy",1);
AddColumn(Cross(Close,DCEF),"nl Buy");
AddColumn(( SI>0 AND Ref(SI,-1)< 0.0 ),"SIBuy" );
//AddColumn( sign(ROC(SI,1)) != sign(ROC(Ref(SI,-1),1)) ,"ROC(SI)Buy" );
AddColumn((GMMAUP==1)&& (Ref(GMMAUP,-1)==0),"GMMABuy");

txtBuy= WriteIf(Cross(Close,DCEF)," nl ","");
txtBuy=txtBuy+ WriteIf(impBuyCond1," elder ","");
txtBuy= txtBuy+WriteIf(( SI>0 AND Ref(SI,-1)< 0.0 )," si ","");
txtBuy= txtBuy+WriteIf(sign(ROC(SI,1)) != sign(ROC(Ref(SI,-1),1))," roc(si) ","");


txtSell="";
AddColumn(impShortCond1,"imp Sell",1);
AddColumn(Cross(DCEF,Close),"nl Sell" );
AddColumn(( SI<0 AND Ref(SI,-1)> 0.0 ),"SISell");
AddColumn( sign(ROC(SI,1)) != sign(ROC(Ref(SI,-1),1))  ,"ROC(SI)" ); 
AddColumn((GMMADOWN==1)&& (Ref(GMMADOWN,-1)==0),"GyyMMASell" );

txtSell= WriteIf(Cross(DCEF,Close)," nl ","");
txtSell=txtSell+ WriteIf(impShortCond1," elder ","");
txtSell=txtSell+ WriteIf(( SI<0 AND Ref(SI,-1)> 0.0 )," si ","");
txtSell=txtSell+ WriteIf(sign(ROC(SI,1)) != sign(ROC(Ref(SI,-1),1))," roc(si) ","");



Plot(BuySum,"nl",colorGreen,styleArea);
Plot(SellSum,"nl",colorRed,styleArea);



Title="buySum: "+BuySum+" SellSum: "+SellSum+
   " buy-> "+txtBuy+ " Sell->"+txtSell; 

SetSortColumns( -2 ) ;

/*
AlertIf( Cond1, "SOUND C:\\Windows\\Media\\Notify.WAV", "NL "+txt
, 0 ,1+2+8,5);

*/
///////////////////////////////////

/*


FirstTradeTime = 091500;				// Earliest time to take a trade
LastTradeTime = 151500;					// Latest time to take new trades
ExitAllPositionsTime = 151500;	

change = Param("% change",0.6,0.1,25,0.1); 
z = Zig(Close, change);

Buy=(BuyCond)  AND (TimeNum() >= FirstTradeTime AND TimeNum() <= LastTradeTime );
Sell = IIf(z < Ref(z, -1), 1, 0) ;//OR TimeNum() > ExitAllPositionsTime;
Short=(ShortCond) AND (TimeNum() >= FirstTradeTime AND TimeNum() <= LastTradeTime );
Cover = IIf(z > Ref(z, -1), 1, 0);// OR	 TimeNum() > ExitAllPositionsTime;

Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short); 
*/

/////////////











/////////////////// screen 2 indicator screen2 indicator///////////

EMASlope=(LinRegSlope(EMA(Close,9),5 ));
LEMASlope=(LinRegSlope(EMA(Close,35),5)); 


up=ROC(  EMASlope,1,True);
down=ROC(  LEMASlope,1,True);



bar_kol	=	IIf(up>0, colorBrightGreen, 
            IIf(up<0, colorRed, colorWhite));
	

Plot( up,"rocEMA ",bar_kol,styleBar);

bar_kol	=	IIf(down>0, colorBrightGreen, 
            IIf(down<0, colorRed, colorWhite));
	

Plot( down,"rocLEMA ",bar_kol,styleBar);


txt2="  ";

txt2+= WriteIf(Cross(up,down)," +cross2up "," ");
txt2+= WriteIf(up>0 AND Ref(up,-1)<0," +2ema "," ");
txt2+= WriteIf(down>0 AND Ref(down,-1)<0," +2lema "," ");

txt2+= WriteIf(Cross(down,up)," -cross2down "," ");
txt2+= WriteIf(up<0 AND Ref(up,-1)>0," -2ema "," ");
txt2+= WriteIf(down<0 AND Ref(down,-1)>0," -2lema "," ");

//Title=" ";
//Title+= txt2;

Plot(0,txt2,colorAqua,styleNoDraw|styleNoLine|styleOwnScale);




//Plot( up,"rocEMA ",colorTeal,styleBar);

//Plot( up,"rocEMA ",bar_kol,styleBar);
//Plot( down,"rocLEMA ",bar,_kol,styleBar);


//Plot(0,"zero",colorWhite);

//Plot(sign(up)!= sign(Ref(up,-1)),"ROC EMA ",colorGreen,styleStaircase);
//Plot(sign(down)!= sign(Ref(down,-1)),"ROC LEMA ",colorRed,styleStaircase);

//Plot(down,"ROC LEMA ",colorRed,
//styleBar);



Plot( 3, "bar"
,IIf( up>down AND (up>0), colorGreen, IIf( up<down AND (up<0), colorRed, 0 ))
, 
styleOwnScale|styleArea|styleNoLabel,-0.5, 100 );

/*
Plot( 4, ""
,colorBlack
, 
styleOwnScale|styleArea|styleNoLabel,-3, 100 );


Plot( 5, "down"
,IIf( up>down , colorGreen, IIf( up<down , colorRed, 0 ))
, 
styleOwnScale|styleArea|styleNoLabel,-6.0, 100 );

*/












/////////////////////  screen3 screen3 indicator/////////////



EMASlope=(LinRegSlope(EMA(Close,9),5 ));
LEMASlope=(LinRegSlope(EMA(Close,35),5)); 

/*
Plot( EMASlope*1000000,"EMAslope ",colorAqua,
styleBar);
Plot( LEMASlope*1000000,"Lslope ",colorRed,
styleBar); 
*/
up=EMASlope*1000000;
down=LEMASlope*1000000;

bar_kol	=	IIf(up>0, colorBrightGreen, 
            IIf(up<0, colorRed, colorWhite));
	

Plot( up,"EMA ",bar_kol,styleBar);

bar_kol	=	IIf(down>0, colorBrightGreen, 
            IIf(down<0, colorRed, colorWhite));
	

Plot( down,"LEMA ",bar_kol,styleBar);


Plot( 3, "bar"
,IIf( up>down AND (up>0), colorGreen, IIf( up<down AND (up<0), colorRed, 0 ))
, 
styleOwnScale|styleArea|styleNoLabel,-0.5, 100 );


txt3=" ";
txt3+=WriteIf(Cross(EMASlope,LEMASlope)," +cross3up "," "); 
txt3+= WriteIf(up>0 AND Ref(up,-1)<0," +3ema "," ");
txt3+= WriteIf(down>0 AND Ref(down,-1)<0," +3lema"," ");

txt3+= WriteIf(Cross(LEMASlope,EMASlope)," -cross3down "," ");
txt3+= WriteIf(up<0 AND Ref(up,-1)>0," -3ema "," ");
txt3+= WriteIf(down<0 AND Ref(down,-1)>0," -3lema "," ");


Plot(1,txt3,colorAqua,styleNoDraw|styleNoLine|styleOwnScale);
/*
Plot(ROC( LEMASlope,1,True),"ROC",
IIf(ROC( LEMASlope,1,True)>0,
colorGreen,colorRed),styleArea); 
*/

/*
Value=ROC(LEMASlope,1,True);

Plot(  Value,"LEMAROC "+
WriteVal(Value,3.3),
IIf(Value>Ref(Value,-1),colorGreen,colorRed),styleCandle);
*/

//BBVol=(LEMASlope/MA(LEMASlope,50))*100;
//Plot(BBVol,"LEMASlope",IIf(BBVol>0,colorAqua,colorRed)); 

/*

Buy1=ROC( LEMASlope,1,True)>0 ;//AND ROC(  Ref(LEMASlope,-1),1)<0;
Sell1=ROC( LEMASlope,1,True)<0; //;AND ROC(  Ref(LEMASlope,-1),1)>0;
//
PlotShapes(Sell1*shapeDownArrow,colorRed,0,ROC(  LEMASlope,1,True)); 
PlotShapes(Buy1*shapeUpArrow,colorGreen,0,ROC(  LEMASlope,1,True));
*/

////////////////////////////////////













/////////////////sccreen4 screen4 indicator //////////////

/* SWIM INDEX 
 coded by KAILASH K PAREEK - INDIA .

As the name of indicator explains it self, It measures the
swim of Price. Day Trader may find it very useful as it gives
trend reversal in next 2-3 trading.

INTERPATION: 

Expect trend reversal or at least consolidation when SI 
Spikes higher, (for Peak) OR lower, (for bottom), than 
Relative spikes and turns back. I have found couple of times
The thing called "HING" which appears 1-2 day before the
Price reversal and common in Stochastic Oscillator.


*/

C1 = Ref ( C , -1 ) ;
O1 = Ref ( O, -1 ) ;
K   = HHV ( ( H - C1 ) OR ( L - C1 ) , 1 ) ;
L   =  C1 * 0.20;
R  =  ATR ( 1 );

SI  =  ( ( C-C1+0.5*(C-O)+0.25*(C1-O1))/R)*(K/L);

//Graph0 = SI;



/*
Plot( ROC(SI,1), "ROCSI", 
IIf( ROC(SI,1)> 0,  colorGreen,
 colorRed ) ),
 ParamStyle "Style",  
styleCandle |
 styleOwnScale | styleThick | styleNoLabel) );

*/

Plot( ROC(SI,1), "rocsi", IIf( C > O,colorGreen,
IIf(C < O,colorRed,colorWhite)),
 styleCandle);



Title = "roc(si): " +EncodeColor( colorRed ) + NumToStr(ROC(SI,1),2.6); 

/*
_N(Title = StrFormat("{{NAME}} - " +FullName() +
   " - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) SI " +
   WriteVal( SI, 1.6 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( SI,1,True )) )); 

*/

//////////////////////////////////////////////////////

Back