/  Forum 

Visual Optimization of Indicator and Signal Profitability This article is a continuation and development of my previous article "Visual Testing of Profitability of Indicators and Alerts". Having added some interactivity to the parameter changing process and having reworked the study objectives, I have managed to get a new tool that does not only show the prospective trade results based on the signals used but also allows you to immediately get a layout of deals, balance chart and the end result of trading by moving virtual sliders that act as controls for signal parameter values in the main chart. 

#property copyright "" #property link "" //Header Files #property indicator_chart_window #property indicator_buffers 1 datetime X1 = D'2010.07.15 16:00'; double Y1 = 1.332603; datetime X2 = D'2010.09.10 16:00'; double Y2 = 1.227437; datetime X3 = D'2010.07.09 08:00'; double Y3 = 1.22197; datetime X4 = D'2010.09.08 00:00'; double Y4 = 1.33196; // int init() { return(0); } // int deinit() { return(0); } // int start() { Comment( TimeToStr(LinesCrossTime(X1,Y1,X2,Y2,X3,Y3,X4,Y4)) + " , " + DoubleToStr(LinesCrossLevel(X1,Y1,X2,Y2,X3,Y3,X4,Y4),5) ); return(0); } // datetime LinesCrossTime(datetime X1, double Y1, datetime X2, double Y2, datetime X3, double Y3, datetime X4, double Y4) { double M1 = (Y2Y1)/(X2X1); double M3 = (Y4Y3)/(X4X3); return ((M1*X1M3*X3+Y3Y1)/(M1M3)); } // double LinesCrossLevel(datetime X1, double Y1, datetime X2, double Y2, datetime X3, double Y3, datetime X4, double Y4) { double M1 = (Y2Y1)/(X2X1); double M3 = (Y4Y3)/(X4X3); double crossPoint = (M1*X1M3*X3+Y3Y1)/(M1M3); int i =0; while (Time[i]>crossPoint) i++; return(Close[i1]); } 

A trend line is a linear function, y = mx + c, so with 2 trend lines you have 2 linear functions so all you need to do is solve the 2 equations when y and x are the same for both equations. First you need the m and c values for each line, c is the offset of each line at the same time coordinate, and m is the gradient/slope. Once you have your 2 equations you use substitution and you substitute for y in one equation by using the 2nd, e.g. y = 0.8x + 1.2 & y = 1.5x + 2.2 so 0.8x + 1.2 = 1.5x + 2.2 where the lines cross and solving this gives you x coordinate. Not sure what happens when you have a weekend in the mix . . . 

RaptorUK: A trend line is a linear function, y = mx + c, so with 2 trend lines you have 2 linear functions so all you need to do is solve the 2 equations when y and x are the same for both equations. First you need the m and c values for each line, c is the offset of each line at the same time coordinate, and m is the gradient/slope. Once you have your 2 equations you use substitution and you substitute for y in one equation by using the 2nd, e.g. y = 0.8x + 1.2 & y = 1.5x + 2.2 so 0.8x + 1.2 = 1.5x + 2.2 where the lines cross and solving this gives you x coordinate. Not sure what happens when you have a weekend in the mix . . . at first excuse for my english. thanks dear RaptorUK for reply. i know that and my problem is something else. when i change timeframe to other timeframe or zoom in or zoom out the value also changes. and my main problem is price no time. i need my func returns the price of crossing without any wrong. can you help me too about this: if i have the corner of lines and one of price from each line can i do that? and if yes how? thanks best regards


maniac1984: when i change timeframe to other timeframe or zoom in or zoom out the value also changes. and my main problem is price no time.


WHRoeder:
thanks dear WHRoeder i will check it. 
Hello all.
it's me again :((
is anybody there to help me how can i calculate time and price of two crossed trend lines?
i have a code for it but it has some worng.
i want it be exact with any pips difference...
thank you