Jump to content

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.

Robert2617

Members
  • Content Count

    112
  • Joined

  • Last visited

Posts posted by Robert2617


  1. TradeStation requires $30,000. With TS (and stocks), if you have 4 round trips in any 5 day period, they will classify you as a pattern day trader and request the additional funds to equal $30K. Until you send them the money, they will only let you sell what you own and you cannot buy anything else.

     

    Again with TS, if you fund your acct with the minimum, $5,000, you are only allowed 3.5 round trips in any 5 day period.

     

    As far as the "T3" rule, it doesn't come into play as much with TS because the minimum non-pattern acct will have a margin equal to the acct balance.

     

    The T3 rule goes like this:

    Buy X and use all your funds and sell it the same day. You can buy Y with the funds you have coming, the same day, but you cannot sell it until the funds actually clear, three days later. In other words you could be stuck for 3 days holding a stock even if it is going down.

     

    T3 Rule and Pattern Day Trading rules are two different sets of rules.

     

    On the other hand, trading Futures does not have either rule. You can trade as much as you can stand because everything is settled that day. The catch is that you have to have a seperate stand alone acct to trade Futures. The minimum Futures acct with TS is $5,000. So if you wanted to trade both, with the minimum, you will need $10,000.

     

    This is my understanding.


  2. I think a point that is worth mentioning is finding the best volume per candle to trade upon, for your trading style. Most of you guys are trading the YM where Joe can say to Bob, "Look at the X vol candles". I'm trading stocks. The volume can vary a lot. Have too small of a volume candle and get burned. Have a too big of a volume candle and miss many trades.

     

    For stocks, I actually think you need to watch for a day or two or figure out that an average volume of X = a candle volume Y and set it to that. One particular volume setting does not work for for all stocks.

     

    I know this may seem elementary to some but I had to learn this the hard way switching from time to volume.


  3. Equivolume candles' body gets wider as volume increases. So those are based on time charts. Tradestation has those. I guess it could be used to replace the volume histogram or whatever measure of volume.

     

    Volume Based Candles are different. They are printed as volume takes place. The width of the body does not change. Tradestation has those as well.

     

    While it is easy to get these mixed up though, they are very different.

    What are the Equivolume candles in TS called? How do you get them started? I'd like to see them in action.


  4. I have dowloaded the latest version of the indicator and still cannot get the chart to print cadle stick chart as in the original example. When I toggle between OHLC and candlestick the OHLC is overlayed on the candlestick. It seems that the paintbar will only showup in OHLC format.

    I also noticed that at the bottom section for volume in the original example there is a $I-Volume is there something I'm missing to get this to show as the example?

    Can you post a screenshot of your desktop? The indicator is working properly for me.


  5. Excellent.

     

    You said PriceLength is used to determine the moving average for the trend. May be a dumb question but how does that work? Does this mean we can adjust the sensitivity, i.e. when the trend bars change color?

     

    I was looking at a few volume "share bar" candle charts with this indicator. It appears to be working correctly with those too. Also I was thinking that your above explanation would be good to include inside the eld. Maybe a little credit for yourself too. :) Nothing wrong with putting your name on your work.


  6. I notice you have arrows pointing to the volume bars. It looks very confusing to me because on some red candles that you have marked there are high vol spikes and some are low vol spikes. I can see somewhat of a trend in the volume, almost mirror image of the price but it appears very difficult to read. What in the volume spikes tells you what should happen next with price?

     

    And not to get off topic too much but I was wondering why so many appear to prefer short trades as opposed to long?


  7. Robert: you may want to put a volume histogram on a time based candles chart... you will see the diference, every time candle has a diferent volume weight.... on vbc every candle has the same volume, no weight there, so they have to rely on time weight per candle to determine volume analisis... I find more easy to measure volume histograms per time based candles, its more visual... but remember volume analisis its nothing more than wheight analisis of price action.... so if you have a hammer on a 1500v there is the same weight from candle to candle,doesnt mean nothing by itself.... no weight analisis, the only weight there is the time it took to build that hammer... so again we have time.... from one other perspective... cheers Walter.

    I do see your point. I really am enjoying this thread. Looking at the same things but in a new way. Analyzing things to see their relationships. I don't think there is a right or wrong, it's what works best for any particular person.

     

    For me, I would rather have a lot of volume and a lot of candles to trade that volume. During the day I'm not really looking at time. I'm on alert for volume, trying to ride the wave. If I'm getting candles, I'm getting volume and know it immediately. I guess I see it as humans have a natural sense of time but no natural sense of volume. That's the inn and the yoh of it! :)


  8. Brown : I know you are very enthusiastic about volume based candles, now you should understand that there is a contradiction towards volume analisis on that graphic aplication.... you see, you are just making an equal sum of equal amount of activity to each and every bar... so said: each bar has the same volume weight, same activity weight... so ironically when you give a same wheight to a bar you literally anulate any volume analisis on your chart... you only have the price action left on the chart.... "you may say I have a 1500v hammer", well yes, but the previous bar was also a 1500 v bar and next one a 1500v bar... you see... volume based candles are that... its really not volume analisis... maybe they share some word on the name, but true volume analisis must be able to measure from bar to bar diferent "weight" of volume... other wise stated, its not volume analisis... I think the original vsa concepts are the most clear volume analisis concepts, where in a given bar : how much volume "weight" there was, and what range there was, and where did he close ?.... you see on volume based bars you cant do that weight.... thats only an input wanted to add to all this, thought I believe TRUE volume analisis its about weight of a bar in a given context cheers Walter.

     

    You guys are the experts but I think the purpose of volume candles is to take the guess work out of volume on your trading decisions and boost the power of the candle formations. Since the volume is in the candles, it is already taken into consideration.

     

    You get more trading signals from volume based candles because you get more candles when you get more volume. Not true with time based candles. With time intervals you get X number of candles no matter what the volume is and you don't know what precise emphrance to put on the candle formations.

     

    Everything I have read says volume moves price not time. If you have two exactly the same candle patterns in front of you, one based on volume and one based on time. Which would you trust more? For me, the volume one because I would know exactly how much trading it represents. Basically it puts the "tape" on the chart.


  9. I am sort of a computer geek and have used home routers for more than ten years. I have found that for me, Linksys is the best. I have four computers currently setup on my home LAN. Two wired and two wireless. The wireless is reliable when within range but not as reliable as being wired. Routers are cheep and easy to setup. You should have no problem at all.

     

    Here is a decent link: WPA Wireless Security for Home Networks


  10. Robert,

    You bring up something that needs to mentioned -

    I HIGHLY RECOMMEND YOU LEARN TO READ CANDLES FOR YOURSELF.

     

    Do NOT rely on a computer program to find your candle formations.

     

    Why?

     

    Here's why:

    • Computer programs do not have the 'flexibility' to be able to see a candle pattern.
    • You are relying on someone's interpretation of candle formations and the ability to put them into code.
    • You really need to know how these work, look, feel, etc. before relying on a computer program. It's like when you learn how to add and subtract in school... why bother when there are calculators? You need to LEARN it before turning it over to a computer.

    I cannot stress how important this is. I've tested many, many programs out there and other than Nison's MarketScan (which is only on his website, not a downloadable program), I have not found ANY worthwhile.

     

    Here is my opinion - when I see a 'hammer' a program may not simply b/c the shadow/wick is not quite long enough. In intraday trading, you MUST be flexible on what you call a hammer b/c the picture perfect hammer does not show every day. And if you rely on that program to find your hammers, you'll be sitting waiting for the perfect one b/c the program is set by design to find the textbook hammer. Well, as we all know - real life doesn't always look like textbooks. If so, we'd all be multi-millionaires from trading by now.

     

    Robert and others that are studying this - take the time to purchase Nison's books/DVD's and learn to find these on your own. When I looked at the charts posted here, it took me a whole 2 minutes to just see all the candle patterns on them. And that comes from training your eyes and repetition.

     

    Just my 2 cents...

     

    I totally agree that the goal is to learn to identify and understand the patterns without a program telling you what to do. However, using the program or indicator to help you learn I think is good. Think of it as training wheels. One day when it becomes clear, you take the training wheels away. That is a beautiful day. It is like learning to read a new language, then tossing out the translator.

     

    You said yourself that you have some problems seeing "inverted hammers", maybe the program or indicator can or can be adjusted to find those for you. Maybe being program assisted is not that bad.

     

    The fellow that wrote this and many indicators said his goal was to try to get to a place where he didn't have to even look at a chart at all. He said he was tired of squiggly lines. The reason I mention this is because TS's RadarScreen won't use volume based intervals. This CPR indicator may not match the chart. It may be useless anyway. I'm not switching back to time intervals. I think that would be going backwards. :)


  11. Here ia a Candle Pattern Recognition TradeStation RadarScreen Indicator.

     

    Good ol Rumpled one. :D

     

    [LegacyColorValue = true]; 
    
    {_SMAA_Dynamic_CPR - CandleStick Pattern Recognition  }
    
    
    {Programmer:  Avery T. Horton, Jr.  aka TheRumpledOne}
    
    { http://www.stockcharts.com/education/ChartAnalysis/CandlestickDictionary.htm   }
    
    { http://www.litwick.com/glossary.html }
    
    Inputs: 
    
    iDecimals(2),
    
    iOpen(open),
    iHigh(high),
    iLow(low),
    iClose(close);
    
    inputs: 
    
    Length( 1 ),
    Factor( 2 ),
    Percent( 5 ) ;
    
    variables: o3WhiteSoldiers( 0 ), o3BlackCrows( 0 ) ;
    
    variables: oBullishHarami( 0 ), oBearishHarami( 0 ) ;
    
    variables: oPiercingLine( 0 ), oDarkCloud( 0 ) ;
    
    variables: oMorningStar( 0 ), oEveningStar( 0 ) ;
    
    variables: oMorningDojiStar( 0 ), oEveningDojiStar( 0 ) ;
    
    
    variables: 
    
    
    xTriggerTime1(time),
    xTriggerTime2(time),
    xTriggerTime3(time),
    
    xPeriods(60),
    xInterval(0),
    
    sFirstPass(true),
    
    xMRO( 0 ),
    xIndMin( 0 ),
    xIndAvg( 0 ),
    xInd(0),
    tInd(""),
    
    
    FG1(white),
    BG1(black),
    
    fg2(white),
    bg2(black),
    
    fg3(white),
    bg3(black),
    
    fg4(white),
    bg4(black),
    
    vdummy("");
    
    
    {commentary variables}
    variables: 
    xcomm(0),
    oComm1( "" ), 	
    oComm2( "" ), 	
    oComm3( "" ), 	
    oComm4( "" ), 	
    oComm5( "" ),
    oComm6( "" ),
    oComm7( "" ),
    oComm8( "" ),
    oComm9( "" ), 	
    oComm10( "" ); 
    
    
    {candle  variables}
    
    variables: 
    
    xOpen(0),	
    xOpen1(0),
    xOpen2(0),
    xOpen3(0),	
    
    
    xClose(0),
    xClose1(0),
    xClose2(0),
    xClose3(0),
    
    xHigh(0),
    xHigh1(0),
    xHigh2(0),
    xHigh3(0),	
    
    xLow(0),	
    xLow1(0),
    xLow2(0),
    xLow3(0),
    
    xTop(0),
    xTop1(0),
    xTop2(0),
    xTop3(0),
    
    xBottom(0),			
    xBottom1(0),		
    xBottom2(0),		
    xBottom3(0),
    
    xMid(0),	
    xMid1(0),
    xMid2(0),
    xMid3(0),
    
    
    xTopShadow(0),
    xTopShadow1(0),
    xTopShadow2(0),
    xTopShadow3(0),
    
    xBottomShadow(0),			
    xBottomShadow1(0),		
    xBottomShadow2(0),		
    xBottomShadow3(0),
    
    xBodySize(0),	
    xBodySize1(0),
    xBodySize2(0),
    xBodySize3(0),
    
    xBodyAvg(0),	
    xBodyAvg1(0),
    xBodyAvg2(0),
    xBodyAvg3(0),
    
    
    t1DayPattern("DOJI"), 
    t2DayPattern("DOJI"), 
    t3DayPattern("DOJI"), 			
    
    sFound1Day(false),
    sFound2Day(false),
    sFound3Day(false),	
    
    xcdummy("");
    
    {first time through}
    
    if sFirstPass
    then begin
    
    sFirstPass = false;
    
    {bar test}
    
    If bartype = 4
    then xInterval = 94
    else
    If bartype = 3
    then xInterval = 93
    else
    If bartype = 2
    then xInterval = 92
    else
    If bartype = 1
    then begin
    xInterval = BarInterval;
    end; { If bartype = 1  }
    
    end; {if sFirstPass}
    
    
    { INITIALIZE }
    
    tInd = "";
    
    t1DayPattern	= "" ;
    sFound1Day	= false ;
    
    t2DayPattern	= "" ;
    sFound2Day	= false ;
    
    t3DayPattern	= "" ;
    sFound3Day	= false ;
    
    FG1 = WHITE;
    BG1 = BLACK;
    
    fg2 = WHITE;
    bg2 = BLACK;
    
    fg3 = WHITE;
    bg3 = BLACK;
    
    fg4 = WHITE;
    bg4 = BLACK;
    
    
    xOpen = iOpen;
    xOpen1 = xOpen[1];
    xOpen2 = xOpen[2];
    xOpen3 = xOpen[3];
    
    xClose = iClose;
    xClose1 = xClose[1];
    xClose2 = xClose[2];
    xClose3 = xClose[3];
    
    xHigh = iHigh;
    xHigh1 = xHigh[1];
    xHigh2 = xHigh[2];
    xHigh3 = xHigh[3];
    
    xLow = iLow;
    xLow1 = xLow[1];
    xLow2 = xLow[2];
    xLow3 = xLow[3];
    
    
    xTop     = maxlist( xOpen , xClose );
    xBottom  = minlist( xOpen , xClose );
    xMid	 = ( xHigh - xLow ) * 0.5 + xLow ;
    
    xTop1     = maxlist( xOpen1 , xClose1 );
    xBottom1  = minlist( xOpen1 , xClose1 );
    xMid1	  = ( xHigh1 - xLow1 ) * 0.5 + xLow1 ;
    
    xTop2     = maxlist( xOpen2 , xClose2 );
    xBottom2  = minlist( xOpen2 , xClose2 );
    xMid2	  = ( xHigh2 - xLow2 ) * 0.5 + xLow2 ;
    
    
    xTop3     = maxlist( xOpen3 , xClose3 );
    xBottom3  = minlist( xOpen3 , xClose3 );
    xMid3	  = ( xHigh3 - xLow3 ) * 0.5 + xLow3 ;
    
    xTopShadow		= xHigh - xTop ;
    xTopShadow1		= xHigh1 - xTop1 ;
    xTopShadow2		= xHigh2 - xTop2 ;
    xTopShadow3		= xHigh3 - xTop3 ;
    
    xBottomShadow	= xClose - xLow ;			
    xBottomShadow1	= xClose1 - xLow1 ;
    xBottomShadow2	= xClose2 - xLow2 ;	
    xBottomShadow3	= xClose3 - xLow3 ;
    
    xBodySize 		= xTop - xBottom ;
    xBodySize1 		= xTop1 - xBottom1 ;
    xBodySize2 		= xTop2 - xBottom2 ;
    xBodySize3 		= xTop3 - xBottom3 ;
    
    
    {IF xBodySize  > xBodyAvg  THEN  LONG CANDLE }
    
    xBodyAvg  = XAverage( xBodySize , Length ) ;
    xBodyAvg1 = XAverage( xBodySize , Length ) ;
    xBodyAvg2 = XAverage( xBodySize , Length ) ;
    xBodyAvg3 = XAverage( xBodySize , Length ) ;
    
    
    
    {-----------------------------}
    { One day pattern recognition }
    {-----------------------------}
    
    {Gravestone Doji
    
    set{body_top,max(open,close)}
    set{body_bottom,min(open,close)}
    show stocks where body_top is less than .05 percent above body_bottom
    and body_bottom equals low
    and body_top more than .5 percent below high
    
    }
    
    If sFound1Day = false
    and xOpen = xLow
    and xClose = xLow
    and xHigh > xLow
    then begin
    xTriggerTime1 =  Time;
    fg1 = white;
    bg1 = BLACK;
    tInd 			= tInd + " 1:Neutral" ;
    t1DayPattern	= "Gravestone Doji" ;
    sFound1Day	= true ;
    end;
    
    
    { Dragon Fly Doji
    set{body_top,max(open,close)}
    set{body_bottom,min(open,close)}
    show stocks where body_top is less than .05 percent above body_bottom
    and body_top equals high
    and body_bottom more than .5 percent above low
    
    }
    If sFound1Day = false
    and xTop = xBottom
    and xTop = xHigh
    and xHigh > xLow
    then begin	
    xTriggerTime1 =  Time;
    fg1 = white;
    bg1 = BLACK;
    tInd 			= tInd + " 1:Neutral" ;
    t1DayPattern	= "Dragon Fly Doji" ;
    sFound1Day	= true ;
    end;
    
    
    {DOJI close = open}
    
    If xClose = xOpen 
    then begin
    fg1 = cyan;
    bg1 = BLACK;
    end;
    
    {  "Inverted Hammer"  }
    
    
    If sFound1Day = false
    and xClose = xLow and xHigh  > xOpen  and xClose < xOpen 
    then begin	
    xTriggerTime1 =  Time;
    fg1 = green;
    bg1 = BLACK;
    tInd 			= tInd + " 1:Bullish" ;
    t1DayPattern	= "Inverted Hammer" ;
    sFound1Day	= true ;
    end;
    
    { Hammer
    
    set{body_bottom,min(open,close)} 
    set{body_top,max(open,close)} 
    set{lshadowsize, body_bottom - low}
    set{tshadowsize, high - body_top}
    set{body_size, body_top - body_bottom}
    set{body_size2, body_size * 2}
    show stocks where tshadowsize is less than 0.001
    and lshadowsize > body_size2
    and close decreasing for the last 3 days
    and body_top < close 1 day ago
    
    }
    If sFound1Day = false
    and xClose = xHigh  
    and xBottomShadow > (xBodySize * 2)
    and xClose < xClose1 and xClose1 < xClose2 and xClose2 < xClose3 
    and xTop < xClose1
    then begin	
    xTriggerTime1 =  Time;
    fg1 = green;
    bg1 = BLACK;
    tInd 			= tInd + " 1:Bullish" ;
    t1DayPattern	= "Hammer" ;
    sFound1Day	= true ;
    end;
    
    
    
    
    
    { "Hanging Man"  }
    {set{body_bottom,min(open,close)} 
    set{body_top,max(open,close)} 
    set{lshadowsize, body_bottom - low}
    set{tshadowsize, high - body_top}
    set{body_size, body_top - body_bottom}
    set{body_size2, body_size * 2}
    show stocks where tshadowsize is less than 0.001
    and lshadowsize > body_size2
    }
    
    If sFound1Day = false
    and xHigh = xTop  
    and xBottomShadow > (xBodySize * 2)
    then begin	
    xTriggerTime1 =  Time;
    fg1 = red;
    bg1 = BLACK;
    tInd 			= tInd + " 1:Bearish" ;
    t1DayPattern	= "Hanging Man" ;
    sFound1Day	= true ;
    end;
    
    
    { Marubozo SHOULD BE LAST OF THE ONE DAY PATTERNS }
    
    { Marubozo
    
    A candlestick with no shadow extending from the body at either the open, 
    the close or at both. The name means close-cropped or close-cut in Japanese, 
    though other interpretations refer to it as Bald or Shaven Head. 
    }
    
    If sFound1Day = false
    then begin
    
    if xOpen = xHigh
    or xOpen = xLow
    or xClose = xHigh
    or xClose = xLow
    
    then begin
    xTriggerTime1 =  Time;
    fg1 = white;
    bg1 = BLACK;
    tInd 			= tInd + " 1:Neutral" ;
    t1DayPattern	= "Marubozo" ;
    sFound1Day	= true ;
    end;
    
    end; // If sFound1Day = false
    
    
    {-----------------------------}
    { two day pattern recognition }
    {-----------------------------}
    
    
    {"Engulfing" }
    
    
    If sFound2Day = false
    and xTop > xTop1  and xBottom < xBottom1
    then begin	
    xTriggerTime2 =  Time;
    fg2 = white;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Neutral" ;
    t2DayPattern = "Engulfing" ;
    sFound2Day	 = true ;
    end;
    
    
    
    {Bearish Kicking
    
    show stocks where body_top equals high
    and body_bottom equals low
    and body_top 1 day ago equals high 1 day ago
    and body_bottom 1 day ago equals low 1 day ago
    and body_top more than .5 percent above body_bottom
    and body_top 1 day ago more than .5 percent above body_bottom 1 day ago
    and close below open
    and close 1 day ago above open 1 day ago
    and open equals open 1 day ago
    }
    If sFound2Day = false
    and xTop = xHigh 
    and xBottom = xLow 
    and xTop1 = xHigh1 
    and xBottom1 = xLow1 
    and xTop1 > ( xBottom1 + ( xBottom1 * .005) ) 
    and xClose < xOpen 
    and xClose1 > xOpen1
    and xOpen = xOpen1
    then begin	
    xTriggerTime2 =  Time;	
    fg2 = red;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Bearish" ;
    t2DayPattern = "Bearish Kicking" ;
    sFound2Day	 = true ;
    end;
    
    
    {Bullish Kicking Pattern
    set{body_bottom,min(open,close)} 
    set{body_top,max(open,close)} 
    show stocks where body_top equals high
    and body_bottom equals low
    and body_top 1 day ago equals high 1 day ago
    and body_bottom 1 day ago equals low 1 day ago
    and body_top more than .5 percent above body_bottom
    and body_top 1 day ago more than .5 percent above body_bottom 1 day ago
    and close above open
    and close 1 day ago below open 1 day ago
    and open equals open 1 day ago
    }
    If sFound2Day = false
    and xTop = xHigh 
    and xBottom = xLow  
    and xTop1 = xHigh1 
    and xBottom1 = xLow1 
    and xTop > ( (xBottom + xBottom * .005) ) 
    and xTop1 > ( (xBottom1 + xBottom1 * .005) ) 
    and xClose > xOpen 
    and xClose1 < xOpen1
    and xOpen = xOpen1
    then begin	
    xTriggerTime2 =  Time;
    fg2 = green;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Bullish" ;
    t2DayPattern = "Bullish Kicking" ;
    sFound2Day	 = true ;
    end;
    
    
    { Harami }
    
    If sFound2Day = false
    then begin
    
    Value1 = C_BullHar_BearHar( Length, oBullishHarami, oBearishHarami ) ;
    
    if oBullishHarami = 1 then
    begin
    xTriggerTime2 =  Time;
    fg2 = green;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Bullish  " ;
    t2DayPattern	= "BullishHarami"  ;
    sFound2Day	= true ;
    end
    else if oBearishHarami = 1 then 
    begin	
    xTriggerTime2 =  Time;
    fg2 = red;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Bearish  " ;
    t2DayPattern	= "BearishHarami" ;
    sFound2Day	= true ;
    end ;
    
    end ; // If sFound2Day = false
    
    
    { PierceLine_DkCloud }
    
    If sFound2Day = false
    then begin
    
    
    Value1 = C_PierceLine_DkCloud( Length, oPiercingLine, oDarkCloud ) ;
    
    if oPiercingLine = 1 then
    begin	
    xTriggerTime2 =  Time;
    fg2 = green;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Bullish  " ;
    t2DayPattern	= "PiercingLine"  ;
    sFound2Day	= true ;
    end
    else if oDarkCloud = 1 then 
    begin	
    xTriggerTime2 =  Time;
    fg2 = red;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Bearish  " ;
    t2DayPattern	= "DarkCloud" ;
    sFound2Day	= true ;
    end ;
    
    end ; // If sFound2Day = false
    
    
    
    
    { ShootingStar }
    
    If sFound2Day = false
    then begin
    
    
    if C_ShootingStar( Length, Factor ) = 1 then
    begin	
    
    xTriggerTime2 =  Time;
    fg2 = green;
    bg2 = BLACK;
    tInd 			= tInd + " 2:Bearish  " ;
    t2DayPattern	= "Shooting Star"  ;
    sFound2Day	= true ;
    end ;
    
    end ; // If sFound2Day = false
    
    
    {-------------------------------}
    { three day pattern recognition }
    {-------------------------------}
    
    {
    { "Evening Star" }
    
    If sFound3Day = false
    and xClose2 > xOpen2 
    and xOpen1 > xClose2 
    and xClose<> xOpen 
    and xClose < xMid2
    then begin
    xTriggerTime3 =  Time;
    fg3 = red;
    bg3 = BLACK;
    t3DayPattern	= "Evening Star" ;
    sFound3Day		= true ;
    tInd 			= tInd + " 3:Bearish" ;
    end;
    
    }
    
    {Shooting Star - bearish
    set{body_bottom,min(open,close)} 
    set{body_top,max(open,close)} 
    set{lshadowsize, body_bottom - low}
    set{tshadowsize, high - body_top}
    set{tshadowsize2, tshadowsize * 2}
    set{body_size, body_top - body_bottom}
    show stocks where lshadowsize is less than 0.001
    and tshadowsize2 > body_size
    and close increasing for the last 3 days
    and body_bottom > close 1 day ago
    }
    
    If sFound3Day = false
    and xOpen = xLow
    and (xTopShadow * 2) > xBodySize
    and xClose > xClose1 and xClose1 > xClose2 and xClose2 > xClose3
    and xBottom > xClose1
    then begin
    xTriggerTime3 =  Time;	
    fg3 = red;
    bg3 = BLACK;
    t3DayPattern	= "Shooting Star" ;
    sFound3Day		= true ;
    tInd 			= tInd + " 3:Bearish" ;
    end;
    
    
    {inverted hammer
    set{body_bottom,min(open,close)} 
    set{body_top,max(open,close)} 
    set{lshadowsize, body_bottom - low}
    set{tshadowsize, high - body_top}
    set{body_size, body_top - body_bottom}
    set{body_size2, body_size * 2}
    show stocks where lshadowsize is less than 0.001
    and tshadowsize > body_size2
    and close decreasing for the last 3 days
    and body_top < close 1 day ago
    
    }
    
    If sFound3Day = false
    and xClose = xLow  
    and xTopShadow > (xBodySize * 2)
    and xClose < xClose1 and xClose1 < xClose2 and xClose2 < xClose3 
    and xTop < xClose1
    then begin
    xTriggerTime3 =  Time;	
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bullish" ;
    t3DayPattern	= "Inverted Hammer" ;
    sFound3Day	= true ;
    end;
    
    
    {Bearish Engulfing
    set{body_bottom,min(open,close)} 
    set{body_top,max(open,close)} 
    show stocks where body_top above body_top 1 day ago
    and body_bottom below body_bottom 1 day ago
    and close below open
    and open 1 day ago below close 1 day ago
    and close 1 days ago increasing for the last 3 days
    
    }
    If sFound3Day = false
    and xTop > xTop1   
    and xBottom < xBottom1
    and xClose < xOpen
    and xClose1 > xClose2 and xClose2 > xClose3
    then begin
    xTriggerTime3 =  Time;	
    fg3 = red;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bearish " ;
    t3DayPattern	= "Bearish Engulfing" ;
    sFound3Day	= true ;
    end;
    
    
    {Bullish Engulfing
    set{body_bottom,min(open,close)} 
    set{body_top,max(open,close)} 
    show stocks where body_top above body_top 1 day ago
    and body_bottom below body_bottom 1 day ago
    and close above open
    and open 1 day ago above close 1 day ago
    and close 1 days ago decreasing for the last 3 days
    }
    
    If sFound3Day = false
    and xTop > xTop1   
    and xBottom < xBottom1
    and xClose > xOpen
    and xOpen1 > xClose1
    and xClose1 < xClose2 and xClose2 < xClose3
    then begin
    xTriggerTime3 =  Time;	
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bullish  " ;
    t3DayPattern	= "Bullish Engulfing" ;
    sFound3Day	= true ;
    end;
    
    {3WhSolds_3BlkCrows}
    
    If sFound3Day = false
    then begin
    
    Value1 = C_3WhSolds_3BlkCrows( Length, Percent, o3WhiteSoldiers, o3BlackCrows ) ;
    
    if o3WhiteSoldiers = 1 then
    begin
    xTriggerTime3 =  Time;
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bullish  " ;
    t3DayPattern	= "3WhiteSoldiers";
    sFound3Day	= true ;
    end
    else if o3BlackCrows = 1 then 
    begin
    xTriggerTime3 =  Time;
    fg3 = red;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bearish  " ;
    t3DayPattern	= "3BlackCrows";
    sFound3Day	= true ;
    end ;
    
    end ; // If sFound3Day = false
    
    
    { C_MornStar_EveStar  }
    
    If sFound3Day = false
    then begin
    
    Value1 = C_MornStar_EveStar( Length, oMorningStar, oEveningStar ) ;
    
    if oMorningStar = 1 then
    begin
    xTriggerTime3 =  Time;
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bullish  " ;
    t3DayPattern	= "Morning Star";
    sFound3Day	= true ;
    end
    else if oEveningStar = 1 then 
    begin
    xTriggerTime3 =  Time;
    fg3 = red;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bearish  " ;
    t3DayPattern	= "Evening Star";
    sFound3Day	= true ;
    end ;
    
    end ; // If sFound3Day = false
    
    
    
    
    { C_MornDoji_EveDoji  }
    
    If sFound3Day = false
    then begin
    
    Value1 = C_MornDoji_EveDoji( Length, Percent, oMorningDojiStar, oEveningDojiStar ) ;
    
    if oMorningDojiStar  = 1 then
    begin
    xTriggerTime3 =  Time;
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bullish  " ;
    t3DayPattern	= "Morning Doji Star";
    sFound3Day	= true ;
    end
    else if oEveningDojiStar = 1 then 
    begin
    xTriggerTime3 =  Time;
    fg3 = red;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bearish  " ;
    t3DayPattern	= "Evening Doji Star";
    sFound3Day	= true ;
    end ;
    
    end ; // If sFound3Day = false
    
    
    {
    Stick Sandwich
    
    A bullish reversal pattern with two black bodies surrounding a white body. 
    The closing prices of the two black bodies must be equal. 
    A support prices is apparent and the opportunity for prices to reverse is quite good.
    }
    
    If sFound3Day = false
    then begin
    
    if  xClose2 < xOpen2
    and xClose1 > xOpen1
    and xClose2 > xOpen
    and xClose  = xClose2
    then begin
    xTriggerTime3 =  Time;
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bullish  " ;
    t3DayPattern	= "Stick Sandwich";
    sFound3Day	= true ;
    end;
    
    end ; // If sFound3Day = false
    
    { Abandoned Baby Bullish 
    
    A rare reversal pattern characterized by a gap followed by a Doji, 
    which is then followed by another gap in the opposite direction. 
    The shadows on the Doji must completely gap below 
    or above the shadows of the first and third day. 
      }
    
    
    If sFound3Day = false
    then begin
    
    if  xLow2 > xHigh1
    and xClose1 = xOpen1
    and xLow > xHigh1
    
    then begin
    xTriggerTime3 =  Time;
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bullish  " ;
    t3DayPattern	= "Abandoned Baby";
    sFound3Day	= true ;
    end;
    
    end ; // If sFound3Day = false
    
    
    
    
    { Abandoned Baby Bearish 
    
    How to Identify it
    
    First day is usually a long white day 
    Second day is a doji that gaps in the direction of the previous trend 
    The third day is a black day, gapping in the opposite direction, with no overlapping shadows 
    }
    
    If sFound3Day = false
    then begin
    
    IF xBodySize2  > xBodyAvg2
    and xClose1 = xOpen1
    and xLow1 > xHigh2
    and xClose < xOpen
    and xHigh < xLow1
    then begin
    xTriggerTime3 =  Time;
    fg3 = green;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Bearish  " ;
    t3DayPattern	= "Abandoned Baby";
    sFound3Day	= true ;
    end;
    
    end ; // If sFound3Day = false
    
    
    { Downside Tasuki Gap
    
    A continuation pattern with a long black body followed by another black body 
    that has gapped below the first one. 
    The third day is white and opens within the body of the second day, 
    then closes in the gap between the first two days, but does not close the gap. 
     }
    
    
    If sFound3Day = false
    then begin
    
    IF xBodySize2  > xBodyAvg2
    and xClose2 < xOpen2
    and xBodySize1  > xBodyAvg1
    and xClose1 < xOpen1
    and xHigh1 < xLow2
    and xClose > xOpen
    and xOpen > xClose1
    and xOpen < xOpen1
    and xClose > xHigh1
    and xClose < xLow2
    then begin
    xTriggerTime3 =  Time;
    fg3 = yellow;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Continuation  " ;
    t3DayPattern	= "Downside Tasuki Gap";
    sFound3Day	= true ;
    end;
    
    end ; // If sFound3Day = false
    
    {Upside Tasuki Gap
    
    A continuation pattern with a long white body followed by another white body 
    that has gapped above the first one. 
    The third day is black and opens within the body of the second day, 
    then closes in the gap between the first two days, but does not close the gap. 
    }
    
    If sFound3Day = false
    then begin
    
    IF xBodySize2  > xBodyAvg2
    and xClose2 > xOpen2
    and xBodySize1  > xBodyAvg1
    and xClose1 > xOpen1
    and xLow1 > xHigh2
    and xClose < xOpen
    and xOpen > xOpen1
    and xOpen < xClose1
    and xClose < xLow1
    and xClose > xHigh2
    then begin
    xTriggerTime3 =  Time;
    fg3 = yellow;
    bg3 = BLACK;
    tInd 			= tInd + " 3:Continuation  " ;
    t3DayPattern	= "Upside  Tasuki Gap";
    sFound3Day	= true ;
    end;
    
    end ; // If sFound3Day = false
    
    
    { plots }
    
    If t1DayPattern <> ""
    then begin
    Plot1( NumToStr(xTriggerTime1,0) + " " + t1DayPattern, "1Bar Pattern", fg1 ) ;
    SetPlotBGColor( 1, bg1);
    end;
    
    If t2DayPattern <> ""
    then begin
    Plot2( NumToStr(xTriggerTime2,0) + " " + t2DayPattern, "2Bar Pattern" , fg2 ) ;
    SetPlotBGColor( 2, bg2);
    end;
    
    If t3DayPattern <> ""
    then begin
    Plot3( NumToStr(xTriggerTime3,0) + " " + t3DayPattern, "3Bar Pattern" , fg3 ) ;
    SetPlotBGColor( 3, bg3);
    end;
    
    Plot4( tInd, "Message", fg4 ) ;
    SetPlotBGColor( 4, bg4);
    
    
    
    xComm = _fCommentary(oComm1, oComm2, oComm3, oComm4, oComm5, oComm6, oComm7, oComm8, oComm9, oComm10);
    
    CommentaryCl(oComm1 );
    
    CommentaryCl(oComm2 );
    CommentaryCl(oComm3 );
    CommentaryCl(oComm4 );
    CommentaryCl(oComm5 );
    CommentaryCl(oComm6 );
    CommentaryCl(oComm7 );
    CommentaryCl(oComm8 );
    CommentaryCl(oComm9 );
    CommentaryCl(oComm10 );
    
    
    
    
    CommentaryCl( " xOpen = ",  NumToStr( xOpen  , iDecimals) ) ; // Open ; //
    CommentaryCl( " xOpen1 = ",  NumToStr( xOpen1 , iDecimals) ) ; // Open[1] ; //
    CommentaryCl( " xOpen2 = ",  NumToStr( xOpen2 , iDecimals) ) ; // Open[2] ; //
    CommentaryCl( " xOpen3 = ",  NumToStr( xOpen3, iDecimals) ) ; // Open[3] ; //
    
    CommentaryCl( " xClose = ",  NumToStr( xClose , iDecimals) ) ; // close ; //
    CommentaryCl( " xClose1 = ",  NumToStr( xClose1 , iDecimals) ) ; // close[1] ; //
    CommentaryCl( " xClose2 = ",  NumToStr( xClose2 , iDecimals) ) ; // close[2] ; //
    CommentaryCl( " xClose3 = ",  NumToStr( xClose3 , iDecimals) ) ; // close[3] ; //
    
    CommentaryCl( " xHigh = ",  NumToStr( xHigh , iDecimals) ) ; // High ; //
    CommentaryCl( " xHigh1 = ",  NumToStr( xHigh1 , iDecimals) ) ; // High[1] ; //
    CommentaryCl( " xHigh2 = ",  NumToStr( xHigh2 , iDecimals) ) ; // High[2] ; //
    CommentaryCl( " xHigh3 = ",  NumToStr( xHigh3 , iDecimals) ) ; // High[3] ; //
    
    CommentaryCl( " xLow = ",  NumToStr( xLow , iDecimals) ) ; // Low ; //
    CommentaryCl( " xLow1 = ",  NumToStr( xLow1, iDecimals) ) ; // Low[1] ; //
    CommentaryCl( " xLow2 = ",  NumToStr( xLow2 , iDecimals) ) ; // Low[2] ; //
    CommentaryCl( " xLow3 = ",  NumToStr( xLow3 , iDecimals) ) ; // Low[3] ; //
    
    
    CommentaryCl( " xTop     = ",  NumToStr( xTop , iDecimals) ) ; // maCommentaryCl( " xlist( "CommentaryCl( " xOpen , CommentaryCl( " xClose ) ; //
    CommentaryCl( " xBottom  = ",  NumToStr( xBottom, iDecimals) ) ; // minlist( "CommentaryCl( " xOpen , CommentaryCl( " xClose ) ; //
    CommentaryCl( " xMid	 = ",  NumToStr( xMid, iDecimals) ) ; // ( "CommentaryCl( " xHigh - CommentaryCl( " xLow ) * 0.5  ; //
    
    CommentaryCl( " xTop1     = ",  NumToStr( xTop1 , iDecimals) ) ; // maCommentaryCl( " xlist( "CommentaryCl( " xOpen1 , CommentaryCl( " xClose1 ) ; //
    CommentaryCl( " xBottom1  = ",  NumToStr( xBottom1 , iDecimals) ) ; // minlist( "CommentaryCl( " xOpen1 , CommentaryCl( " xClose1 ) ; //
    CommentaryCl( " xMid1	  = ",  NumToStr( xMid1 , iDecimals) ) ; // ( "CommentaryCl( " xHigh1 - CommentaryCl( " xLow1 ) * 0.5  ; //
    
    CommentaryCl( " xTop2     = ",  NumToStr( xTop2 , iDecimals) ) ; // maCommentaryCl( " xlist( "CommentaryCl( " xOpen2 , CommentaryCl( " xClose2 ) ; //
    CommentaryCl( " xBottom2  = ",  NumToStr( xBottom2 , iDecimals) ) ; // minlist( "CommentaryCl( " xOpen2 , CommentaryCl( " xClose2 ) ; //
    CommentaryCl( " xMid2	  = ",  NumToStr( xMid2 , iDecimals) ) ; // ( "CommentaryCl( " xHigh2 - CommentaryCl( " xLow2 ) * 0.5  ; //
    
    CommentaryCl( " xTop3     = ",  NumToStr( xTop3, iDecimals) ) ; // maCommentaryCl( " xlist( "CommentaryCl( " xOpen3 , CommentaryCl( " xClose3 ) ; //
    CommentaryCl( " xBottom3  = ",  NumToStr( xBottom3 , iDecimals) ) ; // minlist( "CommentaryCl( " xOpen3 , CommentaryCl( " xClose3 ) ; //
    CommentaryCl( " xMid3	  = ",  NumToStr( xMid3 , iDecimals) ) ; // ( "CommentaryCl( " xHigh3 - CommentaryCl( " xLow3 ) * 0.5  ; //
    
    
    
    
    CommentaryCl( " xTopShadow		= ", NumToStr( xHigh  , iDecimals) ) ; //  " xTop  ) ; //
    CommentaryCl( " xTopShadow1		= ", NumToStr( xHigh1  , iDecimals) ) ; //  " xTop1  ) ; //
    CommentaryCl( " xTopShadow2		= ", NumToStr( xHigh2  , iDecimals) ) ; //  " xTop2  ) ; //
    CommentaryCl( " xTopShadow3		= ", NumToStr( xHigh3  , iDecimals) ) ; //  " xTop3  ) ; //
    
    CommentaryCl( " xBottomShadow	= ", NumToStr( xClose  , iDecimals) ) ; //  " xLow  ) ; //			
    CommentaryCl( " xBottomShadow1	= ", NumToStr( xClose1  , iDecimals) ) ; //  " xLow1  ) ; //
    CommentaryCl( " xBottomShadow2	= ", NumToStr( xClose2  , iDecimals) ) ; //  " xLow2  ) ; //	
    CommentaryCl( " xBottomShadow3	= ", NumToStr( xClose3  , iDecimals) ) ; //  " xLow3  ) ; //
    
    CommentaryCl( " xBodySize 		= ", NumToStr( xTop  , iDecimals) ) ; //  " xBottom  ) ; //
    CommentaryCl( " xBodySize1 		= ", NumToStr( xTop1  , iDecimals) ) ; //  " xBottom1  ) ; //
    CommentaryCl( " xBodySize2 		= ", NumToStr( xTop2  , iDecimals) ) ; //  " xBottom2  ) ; //
    CommentaryCl( " xBodySize3 		= ", NumToStr( xTop3  , iDecimals) ) ; //  " xBottom3  ) ; //
    
    {
    
    
    
    Bullish Upside Tasuki Gap
    Bullish Side-by-Side White Lines
    Bullish Separating Lines
    Bullish Three Line Strike
    Bullish Upside Gap Three Methods
    Bullish xHigh arami Cross
    Bullish Three xOpen utside Down
    Bullish Three Inside Up
    Bullish xHigh xOpen ming Pigeon
    Bullish xHigh arami
    Bullish Morning Doji Star
    Bullish Tri-Star
    Bullish Meeting Lines
    Bullish Unique Three Rivers
    Bullish Abandoned Baby
    Bullish Matching Low
    Bullish Engulfing
    Bullish Concealing Baby Swallow
    Bullish Three White Soldiers
    Bullish Kicking
    Bearish Upside Tasuki Gap
    Bearish Side-by-Side White Lines
    Bearish In Neck
    Bearish Separating Lines
    Bearish Three Line Strike
    Bearish Downside Gap Three Methods
    Bearish Thrusting
    Bearish xOpen n Neck
    Bearish xHigh arami Cross
    Bearish Three xOpen utside Up
    Bearish Three Inside Down
    Bearish xHigh arami
    Bearish Evening Doji Star
    Bearish Tri-Star
    Bearish Meeding Lines
    Bearish Advance Block
    Bearish Identical Three Crows
    Bearish Abandoned Baby
    Bearish Two Crows
    Bearish Engulfing
    Bearish Dark Cloud Cover
    Bearish Three Black Crows
    Bearish Kicking
    Bearish Deliberation
    Hanging Man
    
    
    }
    
    


  12. At this early stage of my recent volume candle enlightenment, I have come to the conclusion that volume candles are the most accurate v/s all other types of chart reading.

     

    I now believe this because volume candles equalize each bar's importance. With "VCs", no bar means more or less than the last or the next. They just tell a story. A story you can trust because you know what each VC represents.

     

    With time or tick based bars, you don't know the importance of any bar. You don't know how much emphasis to put on any bar or pattern. You can't trust them. You might as well use a line.

     

    Now there are other indicators that may quantify volume but none will be as accurate as the VCs because VCs are the indicator!

     

    Most importantly, it evens out the chart. It doesn't matter what volume interval you use because whichever interval you choose, all bars represent the same.

     

    Wow, this is deep. I think this just saved me about $25,000 or more. I'm a total believer. It's so clear to me now. Thanks again. Wow, that all I can say. Wow...... :rolleyes:


  13. I am enjoying this too! It's like a light bulb just turned on!

     

    Q: What are you trading?

    A: Shares and Contracts

     

    Q: How are they measured, Time or Volume?

    A: Volume

     

    Q: What kind of chart should you use, Time or Volume?

    A: VOLUME!

     

    hahahahaha I love it!

     

    Now I just need to figure out (1) how to determine what size volume bars to use and (2) how to read candles!

     

    I guess the volume bar size that you should use needs to correlate to price movement of the instrument somehow. ie. How much volume causes the price to move. I'm going to start reading about and studying this right now.

     

    I think this may be the golden ticket. Thank you for pointing me in this great direction.

     

    ::EDIT:: Go Browns!!!! :cool:

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.