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

📄 3 line break.afl

📁 一个更精度的平滑涵数, 可用于股票交易系统.用于Amibroker 平台
💻 AFL
字号:
//------------------------------------------------------------------------------
//
//  Formula Name:    3 Line Break
//  Author/Uploader: Aron Pipa 
//  E-mail:          
//  Date/Time Added: 2006-03-17 12:31:03
//  Origin:          
//  Keywords:        
//  Level:           medium
//  Flags:           indicator
//  Formula URL:     http://www.amibroker.com/library/formula.php?id=599
//  Details URL:     http://www.amibroker.com/library/detail.php?id=599
//
//------------------------------------------------------------------------------
//
//  TBL chart with adjustable reversal as desecribed by Steve Nison in "Beyond
//  Candelsticks"
//
//  Thanks to Graham Kavanagh and Noname for the P&F chart code which I
//  used as base reference for construction of 3LineBreak chart.
//
//------------------------------------------------------------------------------

/*---------------------------------------------------
	3 Line Break 
	Aron Pipa, March, 17, 2006
--------------------------------------------------------*/

GraphXSpace=7; 

numline = Param("Break",2, 2, 10, 1);
j =0;
Line[j]= C[0];
Op[j]= C[0]; 
direction = 0; 
up=0; // count up lines
down=0;// count down lines
Count=1; // count lines

for( i = 1; i < BarCount; i++ )
{

if(direction[j] == 0) // continues down 
{
	if(C[i] < Line[j] ) 
	{
	j++; 
	direction[j] = 0; 
	Line[j] = C[i];
	Op[j] =Line[j-1];
	down++;
	up=0;
	Count++;
	}
	else
	{
	if(Count==1 &&	C[i] > OP[j] )// I-st reverse
	{
	j++; 
	direction[j] = 1; 
	Line[j] = C[i];
	Op[j] = Op[j-1];
	up++;
	down=0;
	Count++;
	}
	if(Count>1 && down  ==1 && C[i] > Line[j-1])//  reverse after 1 down line
	{
	j++; 
	direction[j] = 1; 
	Line[j] = C[i];
	Op[j] = Op[j-1];
	up++;
	down=0;
	Count++;
	}
	if(Count >1  && down  >1 && down < numline && C[i] > Op[j-1])//simple reverse 
	{
	j++; 
	direction[j] = 1; 
	Line[j] = C[i];
	Op[j] = Op[j-1];
	up++;
	down=0;
	Count++;
	}
	if(  down >= numline && C[i] > Op[j-(numline -1)]) // white trunaround line
	{
	j++; 
	direction[j] = 1; 
	Line[j] = C[i];
	Op[j] = Op[j-1];
	up++;
	down=0;
	Count++;
	}
	}
	


}
else // continues up
{
	if(C[i] > Line[j]) 
	{
	j++; 
	direction[j] = 1; 
	Line[j] = C[i];
	op[j] = Line[j-1];
	up++;
	down=0;
	Count++;
	} 
	else
	{
	if(Count==1  &&	C[i] < OP[j] )// I-st reverse
	{
	j++; 
	direction[j] = 0; 
	Line[j] =C[i];
	Op[j] = Op[j-1];
	down++;
	up=0;
	Count++;

	}
	if(Count>1 && up  ==1 && C[i] < Line[j-1])//  reverse after 1 up line
	{
	j++; 
	direction[j] = 0; 
	Line[j] =C[i];
	Op[j] = Op[j-1];
	down++;
	up=0;
	Count++;
	}
	if( Count>1 && up  >1 && up < numline && C[i] < Op[j-1]) //simple reverse 
	{
	j++; 
	direction[j] = 0; 
	Line[j] =C[i];
	Op[j] = Op[j-1];
	down++;
	up=0;
	Count++;
	}
	if( up >= numline && C[i] < Op[j-(numline -1)])//black trunaround line

	{
	j++; 
	direction[j] = 0; 
	Line[j] =C[i];
	Op[j] = Op[j-1];
	down++;
	up=0;
	Count++;
	}
	}
}
}
delta = BarCount - j -1;
direction = Ref(direction, - delta); 
C= Ref(Line, - delta); 
O=(Ref(Op,-delta));
H= L=C; 


Plot(C,"", 39, styleCandle); 

Title = Name() + "  Three Line Break" +"\n"+
"Value = " + SelectedValue(C)  +"\n"+
"Break = " + numline; 

⌨️ 快捷键说明

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