Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

Market Wizard

911

1

## Personal Information

• First Name
CantRemember
• Last Name
Unknown
• Country
United States

• Vendor
No

## Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

1. ## How Long Does It Take You to Analyze Your Chart?

Are you asking how long it takes from the start of the analysis to deciding to enter a trade? I'm day trading, so I'm monitoring charts non-stop. As of this moment, I've never stopped wanting and trying to improve my trading charts and trading set up, and maybe that will never end. Are you talking about analyzing charts, deciding on a stock to pick, and then entering a long term trade?

5. ## How To Quantify Price Action?

Since you are using thinkScript, this may be of interest to you. Least Squares Method. Yahoo ThinkScript Group Least Square Method. Wikipedia #This program created by tradescripter #Dec. 24, 2010 Merry Christmas #It uses the Least-Squares Method to forecast a new price #For an explanation of Least-Squares method see: #http://en.wikiversity.org/wiki/Least-Squares_Method input length = 9;input price = close; def AvgPrice=average(price,length); def SumTime=fold i = 1 to length + 1 with x = 0 do x + i;def AvgTime=SumTime/length; #sx is the sum of all the deviations from time for the last x bars def sx=fold j = 1 to length + 1 with y = 0 do y + ((j-AvgTime) * (getValue(price,length-j,length+1) - AvgPrice)); #sy is the sum of all the deviations from price for the last x bars def sy=fold k = 1 to length + 1 with z = 0 do z + (power(k-AvgTime,2)); #m is the slope of the line, b is the slope intercept of the line in the equation y = mx + b def m=sx/sy;def b=avgPrice-m*AvgTime; plot FuturePrediction=(m*(length+1))+b; This code was also posted in the Thinkscripter site, and improved upon by others.
6. ## How To Quantify Price Action?

Yes. You can use thinkScript. There are a couple of groups where you can find support: TOS_thinkscript : Think or Swim Thinkscript programmer ThinkScripter | thinkScript Indicators for thinkorswim There is also a programing forum within TradersLaboratory. coding-forum/ This indicator automatically draws price level lines on the chart, and extends previous lines. It uses subroutines in the program flow. I programmed this, but offer it freely to anyone wanting to use it. I do not ask for any reference to myself as the author. I'm offering the code so that I can go on my little ego trip, but trying to go on less of an ego trip than most. //10-3-12 input: ShowOnlyToday(True), ShowAftrHrs(True); // True will plot lines for after hours also //hh=higher high, ll=lower low var: DayHrs(False), AftrHrs(False), NewDay(False), hl(False), CntHiDwn(0), CntLwUp(0), CntLwDwn(0), CntHiUp(0), CntMjrHiDwn(0), CntMjrLwUp(0), Peak(False),Bttm(False), pk2(False), Bttm2(False), CrrntHi(0), CrrntLw(0), MajorHigh(0), MajorLw(0), MajorHigh2(0), MajorLw2(0), HighExt(0), LowExt(0), MjrHiExt(0), MjrLwExt(0); Method void MainMethod() Begin Signals(); // Call Method subroutine to calc Peak and Bttm signals If NewDay then Begin // Reset the Hi and Low at the Beg of a new day CrrntHi = H; CrrntLw = L; End; // If it's after hours, and the input is set to exclude After Hours, then quit here If ShowAftrHrs = False and Aftrhrs[1] = False and Aftrhrs then Begin CrrntHi = 0; MajorHigh = 0; CrrntLw = 0; MajorLw = 0; Return; End; If Peak[1] or pk2[1] then CrrntHi = H[2]; If Bttm[1] or Bttm2[1] then CrrntLw = L[2]; If (Peak or pk2) and CrrntHi < CrrntHi[1] then CntHiDwn = CntHiDwn + 1 Else If (Peak or pk2) and CrrntHi > CrrntHi[1] then CntHiDwn = 0; If (Bttm or Bttm2) and CrrntLw > CrrntLw[1] then CntLwUp = CntLwUp + 1 Else if (Bttm or Bttm2) and CrrntLw < CrrntLw[1] then CntLwUp = 0; If CrrntLw < CrrntLw[1] then CntLwDwn = CntLwDwn + 1 Else if CrrntLw > CrrntLw[1] then CntLwDwn = 0; If CrrntHi > CrrntHi[1] then CntHiUp = CntHiUp + 1 Else if CrrntHi < CrrntHi[1] then CntHiUp = 0; If CrrntHi < CrrntHi[1] and CntHiDwn = 1 then MajorHigh = CrrntHi[1] Else if CntHiUp = 1 and L < CrrntLw then MajorHigh = CrrntHi; If CrrntLw > CrrntLw[1] and CntLwUp = 1 then MajorLw = CrrntLw[1] Else if CntLwDwn = 1 and H > CrrntHi then MajorLw = CrrntLw; If MajorHigh < MajorHigh[1] then CntMjrHiDwn = CntMjrHiDwn + 1 Else If MajorHigh > MajorHigh[1] then CntMjrHiDwn = 0; If MajorLw > MajorLw[1] then CntMjrLwUp = CntMjrLwUp + 1 Else if MajorLw < MajorLw[1] then CntMjrLwUp = 0; If MajorHigh < MajorHigh[1] and CntMjrHiDwn = 1 then MajorHigh2 = MajorHigh[1]; If MajorLw > MajorLw[1] and CntMjrLwUp = 1 then MajorLw2 = MajorLw[1]; If CrrntHi < CrrntHi[1] then HighExt = CrrntHi[1] Else if H[2] > HighExt[2] and HighExt[2] > 0 then HighExt = 0; If CrrntLw > CrrntLw[1] then LowExt = CrrntLw[1] Else if L[2] < LowExt[2] and LowExt[2] > 0 then LowExt = 0; If MajorHigh <> MajorHigh[1] Then MjrHiExt = MajorHigh[1] Else if H[2] > MjrHiExt[2] and MjrHiExt[2] > 0 then MjrHiExt = 0; If MajorLw <> MajorLw[1] Then MjrLwExt = MajorLw[1] Else if L[2] < MjrLwExt[2] and MjrLwExt[2] > 0 then MjrLwExt = 0; RunPlots(); End; Method void Signals() Begin DayHrs=T>930 and T<1558; AftrHrs = (T>1558 and T<2300) or (T>200 and T<930); NewDay = D[2] <> D[1]; Peak = h<=h[1] and H[1] >= H[2]; Pk2 = h<=h[1] and C[1] > O[1] and C[1] < O[2]; Bttm = l>l[1] and L[1] <= L[2]; Bttm2 = L>L[1] and C[1] < O[1] and C[1] > O[2]; End; Method void RunPlots() Begin if CrrntHi > 0 then plot1(CrrntHi, "Current High") else NoPlot(1); // Set to points so that the price of the line shows up on the axis if CrrntLw > 0 then plot2(CrrntLw, "Current Low") else NoPlot(2); if MajorHigh > 0 and MajorHigh-C < 20 and MajorHigh-C > -20 then plot3(MajorHigh, "Major High") else NoPlot(3); if MajorLw > 0 and MajorLw-C < 20 and MajorLw-C > -20 then plot4(MajorLw, "Major Bottom") else NoPlot(4); if MajorHigh2 > 0 and MajorHigh2-C < 20 and MajorHigh2-C > -20 then plot5(MajorHigh2, "Major High2") else NoPlot(5); if MajorLw2 > 0 and MajorLw2-C < 20 and MajorLw2-C > -20 then plot6(MajorLw2, "Major Bttm2") else NoPlot(6); if HighExt > 0 and HighExt-C < 20 and HighExt-C > -20 then plot7(HighExt, "High Ext") else NoPlot(7); if LowExt > 0 and LowExt-C < 20 and LowExt-C > -20 then plot8(LowExt, "Low Ext") else NoPlot(8); if MjrHiExt > 0 and MjrHiExt-C < 20 and MjrHiExt-C > -20 then plot9(MjrHiExt, "Mjr Hi Ext") else NoPlot(9); if MjrLwExt > 0 and MjrLwExt-C < 20 and MjrLwExt-C > -20 then plot10(MjrLwExt, "Mjr Lw Ext") else NoPlot(10); End; Method void OnError(int ErrorNum) Begin print("Error! ", ErrorNum, "Time of Error=", T); End; { This triggers the Main Method subroutine to run, and restricts the lines to the number of days set to show in the INPUT} //If DateToJulian(D) > (LastCalcJDate - DaysToShow) then Begin if ShowOnlyToday and D = CurrentDate then MainMethod() // Process the lines being drawn Else if ShowOnlyToday = False then MainMethod();
7. ## How To Quantify Price Action?

Every price pause is a Support/Resistance level. I have two basic formulas that define a peak or a bottom: Peak = h<=h[1] and H[1] >= H[2]; Pk2 = h<=h[1] and C[1] > O[1] and C[1] < O[2]; Bttm = l>l[1] and L[1] <= L[2]; Bttm2 = L>L[1] and C[1] < O[1] and C[1] > O[2]; I have an indicator that draws support and resistance levels automatically. Previous high and low levels have their lines extended. The above code is just a small piece. If the program needs to keep track of previous highs and lows for comparison to other data, an array, or multiple variables need to be defined. The price level indicator I programed is in Tradestation. I'll post the entire code if anyone wants it. It could easily be translated to some other language. If the program needed to use price levels from a different time frame than the chart being used, that might be more complicated. Some platforms can easily get previous daily or weekly highs and lows even in an intraday chart, and if that's what you need, it might not be that difficult. (Relatively)
8. ## How To Quantify Price Action?

If looking for price patterns is what you wanted a computer program to do, the program would need to capture different conditions, store them, then constantly be looking for condition combinations that matched your definition. For example, if the price pattern required two lower highs, the computer program would need to identify a lower high, set the count to 1, and start looking for another lower high. If the program was looking for correlations between different ticker symbols, multiple symbols or multiple data feeds would need to be accessed by the program. You would need a platform that can handle whatever the requirements are. Scans can filter for lots of different criteria, and might not need a lot of programing knowledge.
9. ## How To Quantify Price Action?

When I program a signal, then have my indicator display that signal on the chart, invariably what happens, is that many of the signals are bad or false signals. The calculations don't lie. What I see on the chart, and think is a good signal, often isn't as good as I thought. Or the raw calculations cause me to see something I didn't see before. So it's good to have a programed indicator generate unbiased output as a test. So, to quantify trading signals will take some programing skills. A person could invest years, and thousands of hours, and not be guaranteed success. I like to convert data into oscillating indicators. So I'm using the change in the data from bar to bar as opposed to the net value. The change in values usually operate within a range, or within certain levels. One thing to look for is price or data to break a previous level. So there needs to be a way to define when a level was established. The price went higher on the last bar, but didn't on this bar. Maybe that was a new price level. But it's not always that simple. If you want to quantify trading data on your own, it's like being a research scientist. There's a lot of trial and error. Regardless of how much time and effort anyone puts in, or how skilled you are, the odds are against you.
10. ## How To Quantify Price Action?

The HL2 is from the same bar. The high of this bar, and the low of this bar. Add the two values together, and divide by two, and that is the center of the bar. So if the HL2 was on your chart as an indicator line, it would go right through the center of each bar. The change in the HL2 is calculated from this bar compared to the last bar. Some people speak in terms of 'Slope', how steep the line is. I just use regular candlestick bars. I don't read trading books. I don't study other peoples strategies. I do read about what people are doing, looking for information or ideas, but have always worked on my own strategy. The bottom line is trying to validate what works and what doesn't work. I try to break the data down in different ways, looking for some kind of correlation. I do a lot of programing, and am constantly tweaking my indicators, looking for some kind of an 'edge'. I like indicators that are oscillators. I do pay attention to Floor Trader Pivots, and a basic Exponential Moving Average. At 15:36 and 15:37 today, the price was trying to move up a little on the YM. The \$TIKI HL2 failed to go positive, The YM volume failed to go up, then the price had a big drop.
11. ## How To Quantify Price Action?

I like to use the HL2 as a basic input in comparing price to other things. (High + Low) / 2 It's simple, it follows the price moves fairly accurately compared to other calculations. Then you can take the change in the HL2 from one bar to the next. HL2 - HL2[1] Then I like to compare what the price did to what other things did. For example: Did the HL2 price change go up more than the change in volume? I'm constantly trying to determine whether the amount change in price seems justified compared to the change in other things. What trading platform are you using?