⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ranking ticker watchlist.afl

📁 一个更精度的平滑涵数, 可用于股票交易系统.用于Amibroker 平台
💻 AFL
字号:
//------------------------------------------------------------------------------
//
//  Formula Name:    Ranking Ticker WatchList
//  Author/Uploader: nenapacwanfr 
//  E-mail:          s.carrasset@laposte.net
//  Date/Time Added: 2004-12-05 13:54:05
//  Origin:          
//  Keywords:        
//  Level:           basic
//  Flags:           indicator
//  Formula URL:     http://www.amibroker.com/library/formula.php?id=411
//  Details URL:     http://www.amibroker.com/library/detail.php?id=411
//
//------------------------------------------------------------------------------
//
//  /*
//
//  returns the Rank of a ticker in a WL for a given indicator
//
//  if the ticker is outside the WL the rank is empty
//
//  UNFORTUNATELY if the WL contains many tickers the formula is slowwwwww
//
//  */
//
//------------------------------------------------------------------------------


/* 
returns the Rank of a ticker in a WL for a given indicator
if the ticker is outside the WL the rank is empty
UNFORTUNATELY if the WL contains many tickers the formula is slowwwwww
*/

listNum=0 ;//enter watchlist number
list = GetCategorySymbols( categoryWatchlist, listnum );

for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
{
SetForeign(sym);
VarSet("MyInd"+i,MFI(14));// Indicator
/*
VarSet stores the Value of MFI
ticker 0 has its value of MFI stored in MyInd + 0
ticker 1 has its value of MFI stored in MyInf + 1 ...
*/
Rank =1;// Initialize the Rank

for( j = 0; ( item = StrExtract( list, j ) ) != ""; j++ )
{
SetForeign(item);
VarSet("ThisInd"+j,MFI(14));//Indicator
Rank=Rank + IIf( VarGet("MyInd"+i) < VarGet("ThisInd"+j),1,0);
/*
VarGet returns the value of VarSet
Every value of MyInd + i is compared to every Value of ThisInd + j
and the Rank in incremented of + 1 every time the Ind is < to others.
you can also write it
Rank=Rank + IIf( VarGet("MyInd"+i) < MFI(14),1,0);
because of SetForeign
*/
RestorePriceArrays();// to get out the influence of SetForeign
}
VarSet("Rank"+i,Rank);
}

/*
I want to know the Rank when I click on a ticker
I must know the position of the ticker in a WL
this loop can do the job instead of writing
IIf(Name()=="12017", 0, IIf(Name()=="12027", 1, ...
*/
Count=0;
BreakLoop = False;
for( k = 0; NOT(BreakLoop) &&( ticker = StrExtract( list, k ) ) != ""; k++ )
{
if(Name()==ticker)
Breakloop=True;
else
Count=Count+1;
}


//Plot(Count,"",2,1);
Plot(VarGet("Rank"+ Count),"",2,1);

/*
you Can Control the Rank if you Plot the MFI Of every tickers with
list = GetCategorySymbols( categoryWatchlist, listnum ); 

for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ ) 
{ 
SetForeign(sym);
Plot(MFI(14) ,sym,i+1,1);
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -