NexusFi: Find Your Edge


Home Menu

 





Forefront of Fibonacci Frontier


Discussion in TradeStation

Updated
    1. trending_up 3,902 views
    2. thumb_up 1 thanks given
    3. group 2 followers
    1. forum 0 posts
    2. attach_file 2 attachments




 
Search this Thread

Forefront of Fibonacci Frontier

  #1 (permalink)
warrenpuffit
orlando/florida/usa
 
Posts: 3 since Sep 2011
Thanks Given: 0
Thanks Received: 1

futures.io (formerly BMT) users,

Other than having a knack for a clever pun as a handle, warrenpuffit is a group of engineers and mathematicians that have defined their trading edge by expanding the purpose of the fibonacci sequence FAR beyond retracements, cycles, extensions, fans, whatever.

As our research is ongoing, I would like to share the thought that inspired our most useful indicators. I'll also be asking for help on a new venture towards the end of this post.

Premise 1: Considering Fib ratios in Cycles

If you have any experience in cycles, I'm sure you have come across/came up with the idea of using fib numbers to make your cycles have "natural ratios". If not, plot some MAs with the sequence numbers in them! Natural growth and decay over billions of years has converged on this, so the near infinite volume of FOREX pairs is best to show the harmony of fib ratio cycles.

The GOOD STUFF: A Thought Experiemnt

Okay, so Indicators are pretty and look impressive to layman, but for those of us on futures.io (formerly BMT) trying to profit from them, they are always a battle between what? Smoothing and Lagging

Go ahead and look at your set of indicators- the ones that are too smooth for sure lag behind price action, and the ones that don't are whipsaw-city and cause you to get head-faked on more signals than not. Here is my contribution to the problem:

The fibonacci sequence is also viewed via different shapes: the GOLDEN SPIRAL, VORTEX, ARCS, etc.... but, as traders, we identify shapes in price action that look nothing like these things- Gartleys, head-and-shoulders, etc. Why not USE those shapes to our advantage? Instead of smoothing your lines, I say filter them but filter them naturally!. By using a filter that normalizes a bank of a few shapes normally seen in price action, your advantage becomes accelerated smoothed lines

Below i would like to attach an array of 5 fib cycles i put together on the EUR/USD 1min chart based on some simple fib polynomials i like- so you could notice the SPEED, as well as the precise pip values, AND the smoothness. You get the acceleration to blow past and scoop up/down tops/bottoms. BUT this is my second post, once i hit 5 you get the pics

Please do not ask for that code, it is Warrenpuffit Proprietary code we use to survive these days- but by all means stir up some discussion!


MY QUESTION TO ALL OF YOU-HELLPPP!

As fibonacci indicators are mostly single dimensional (price only or time only) but actual growth and decay are multidimensional, I am trying to get Trade Station to throw up some golden spirals on my charts when it recognizes golden ratios.


That was the start- uncanny support and resistance when the spiral is GOLDEN...

below I supply EasyLanguage code to identify fib ratios on candles
 
Code
  Inputs: Length(50), 
		LeftStrength(3), 
		RightStrength(2), 
		Tol(5), 
		TextSpacing(0.003);
		
Variables: oPivotPriceL1(0), 
		  oPivotBarL1(0), 
		  oPivotPriceH1(0), 
		  oPivotBarH1(0),
		  oPivotPriceL2(0),
		  oPivotBarL2(0), 
		  oPivotPriceH2(0),
		  oPivotBarH2(0),  
		  PivDiff(0),
		  PivCount(0), 
		  counter(0);
		  
Array: FibLev[5](0),
	  Pivots[100,3](-1);
	 
//Place Fibonacci levels in an array
If Currentbar = 1 then 
Begin
	FibLev[0] = 0;
	FibLev[1] = 38.2;
	FibLev[2] = 61.8;
	FibLev[3] = 100;
	FibLev[4] = 138.2;
	FibLev[5] = 161.8;
End;

//Determine pivot points
Value1 = Pivot(L,Length,LeftStrength,RightStrength,1,-1,oPivotPriceL1,oPivotBarL1);
Value3 = Pivot(H,Length,LeftStrength,RightStrength,1,1,oPivotPriceH1,oPivotBarH1);
Value4 = Pivot(H,Length,LeftStrength,RightStrength,2,1,oPivotPriceH2,oPivotBarH2);

//High pivot - low pivot - high pivot Fibonacci relationship
If (Value3 = 1 and oPivotBarH1 = RightStrength) and oPivotBarH1 < oPivotBarL1 and oPivotBarH2 > oPivotBarL1 then {New pivot found}
Begin 
	Print("H-L-H Pivot found");
	If (oPivotPriceH2 - oPivotPriceL1) <> 0 {Check to make sure that you don't get divide by zero error}
		Then PivDiff = (oPivotPriceH1 - oPivotPriceL1)*100 / (oPivotPriceH2 - oPivotPriceL1)
		Else PivDiff = 999999999;
	For counter = 0 to 5
		Begin 
			If PivDiff < FibLev[counter]*(1+Tol/100) and PivDiff > FibLev[counter]*(1-Tol/100)
				Then
					Begin	
						If TL_Exist(Pivots[PivCount,0]) then TL_Delete(Pivots[PivCount,0]); {delete line if exists}
						Pivots[PivCount,0] = TL_New(D[oPivotBarH2],T[oPivotBarH2],oPivotPriceH2,D[oPivotBarL1],T[oPivotBarL1],oPivotPriceL1); {Create line H2 - L1}
						If TL_Exist(Pivots[PivCount,1]) then TL_Delete(Pivots[PivCount,1]); {delete line if exists}
						Pivots[PivCount,1] = TL_New(D[oPivotBarL1],T[oPivotBarL1],oPivotPriceL1,D[oPivotBarH1],T[oPivotBarH1],oPivotPriceH1); {Create line L1 - H1}
						TL_SetColor(Pivots[PivCount,0],Red); {Color line H2 - L1}
						TL_SetColor(Pivots[PivCount,1],Red); {Color line L1 - H1}
						If Pivots[PivCount,2] <> -1 then Text_Delete(Pivots[PivCount,2]); {delete text if exists}
						Pivots[PivCount,2] = Text_New(D[oPivotBarL1],T[oPivotBarL1],oPivotPriceL1, "FibLev: " + NumToStr(FibLev[counter],2)); {Create FibLev text}
						If Pivots[PivCount,3] <> -1 then Text_Delete(Pivots[PivCount,3]);
						Pivots[PivCount,3] = Text_New(D[oPivotBarL1],T[oPivotBarL1],oPivotPriceL1-TextSpacing,"Tol: " + NumToStr(PivDiff - FibLev[counter],2)); {Creat FibLev text}
						Text_SetColor(Pivots[PivCount,2],Red); {Set color of FibLev text}
						Text_SetColor(Pivots[PivCount,3],Red); {Set color of tolerance text}
						counter = 5; {FibLev established to set counter to 5 so no more levels are tested}
						If PivCount <= 99 then PivCount = PivCount + 1
							Else PivCount = 0; {Cycles Fib level pivot information so no more than 100 on chart at one time}
					End;
		End;
End;

below I supply EasyLanguage code to draw an ellipse "basic spiral", but i cannot seem to change it to fib spiral

 
Code
 input:Compress(10), Spirals(2); 
var: date1(0),time1(0),price1(0),date2(0),time2(0),price2(0); 
var: PI(3.14159), CON(.0765838); 
var: dx(0), dy(0), x1(0), x2(0), a0(0), r0(0); 
var: y(0), ta(0), r(0), aa(0), aa1(0), aa2(0), ab1(0), ab2(0); 
var: ii(0), px(0), px2(0), py(0), py2(0),yc1(0), yc2(0); 
var: handl(0),ss(""),mid(0),ok2draw(false); 


{ Locate the center A, and the first point B on spiral } 

if currentbar = 1 then begin 
handl = text_getfirst(2); 
while handl >= 0 begin 
ss = text_getstring(handl); 
if ss = "A" then begin 
date1 = text_getdate(handl); 
time1 = text_gettime(handl); 
price1 = text_getvalue(handl); 
end; 
if ss = "B" then begin 
date2 = text_getdate(handl); 
time2 = text_gettime(handl); 
price2 = text_getvalue(handl); 
end; 
handl = text_getnext(handl,2); { IMPORTANT -- infinite loop if this is missing! } 
end; 
end; 

if date = date1 and time = time1 then begin 
if absvalue(h-price1) < absvalue(l-price1) then price1 = h else 
price1 = l; 
x1 = currentbar; 
plot1(price1,""); { verify which point we selected } 
end; 
if date = date2 and time = time2 then begin 
if absvalue(h-price2) < absvalue(l-price2) then price2 = h else 
price2 = l; 
x2 = currentbar; 
plot1(price2,""); { verify which point we selected } 
end; 


var: fac(0),han(0); 
var: xx(0), yy(0); 
if date = lastcalcdate and time = lastcalctime then 
if price1 > 0 and price2 > 0 then begin { we have "A" and "B" } 
han = 
tl_new(date[currentbar-x1],time[currentbar-x1],price1,date[currentbar-x2],time[currentbar-x2],price2 ); 
tl_setcolor(han,tool_darkgray); 
tl_setextright(han,false); 
tl_setextleft(han,false); 

{ some calculations } 
fac = compress; 
price1=price1*fac; 
price2=price2*fac; 
dx = x2-x1; 
dy = price2-price1; 
r0 = SquareRoot(dx*dx + dy*dy); 
if dx <> 0 then 
a0 = Arctangent(dy/dx); 
value1 = 360/(2*PI); 

array: imax[5](0), imin[5](0); 
var: jj(0), bb(0), xx1(0), cnt(0); 
for ii = a0 to 360*Spirals+a0 begin 
xx1 = xx; 
aa = ii/value1; 
r = r0*ExpValue(CON*aa); 
xx = intportion(r * cosine(value1*aa) + x1); 
yy = r * sine(value1*aa)+price1; 

{ now plot the point } 
yy = yy /fac; 
bb = currentbar - xx; 
if xx1 <> xx then if bb > 0 and currentbar > xx then begin 
if xx > xx1 then begin { building to the right } 
if cnt = 0 then begin 
cnt = 1; 
for jj = 1 to 5 begin imin[jj] = xx; imax[jj] = xx; end; 
end; 
if cnt = 1 then begin 
if xx < imin[1] or xx > imax[1] then plot1[bb](yy,""); 
imax[5] = xx; 
end; 
if cnt = 2 then begin 
imin[2] = imin[5]; imax[2] = imax[5]; cnt = 3; imax[5] = xx; 
imin[5] = xx; 
end; 
if cnt = 3 then begin 
if xx < imin[3] or xx > imax[3] then plot3[bb](yy,""); 
imax[5] = xx; 
end; 
if cnt = 4 then begin 
imin[4] = imin[5]; imax[4] = imax[5]; cnt = 1; imax[5] = xx; 
imin[5] = xx; 
if xx < imin[1] or xx > imax[1] then plot1[bb](yy,""); 
imax[5] = xx; 
end; 
end else begin 
if cnt = 1 then begin 
imin[1] = imin[5]; imax[1] = imax[5]; cnt = 2; imax[5] = xx; 
imin[5] = xx; 
end; 
if cnt = 2 then begin 
if xx < imin[2] or xx > imax[2] then plot2[bb](yy,""); 
imin[5] = xx; 
end; 
if cnt = 3 then begin 
imin[3] = imin[5]; imax[3] = imax[5]; cnt = 4; imax[5] = xx; 
imin[5] = xx; 
end; 
if cnt = 4 then begin 
if xx < imin[4] or xx > imax[4] then plot4[bb](yy,""); 
imin[5] = xx; 
end; 
end; 
end; 
end; 
end;

futures.io (formerly BMT) users, I hope someone can help make an AUTO FIB SPIRAL DRAWING INDICATOR- should help us all see the upcoming SINGULARITY in 2019 (heh) but at the least, a FIB SPIRAL that we can place manually

-Warrenpuffit

Attached Thumbnails
Click image for larger version

Name:	1min tpl.jpg
Views:	330
Size:	508.1 KB
ID:	61333   Click image for larger version

Name:	log spirals.jpg
Views:	272
Size:	110.1 KB
ID:	61334  
Reply With Quote
Thanked by:




Last Updated on February 2, 2012


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts