@cabe1332 Love your charts.. squeezepro is that the default TTMsqueeze that is available in TOS? if not can u point me to where i can get that? actually how do i get all your indicators
@rad14733, @zeek, @Tripod-2020, @greenalert20. Does this strategy also work for long.. I figured I might stick to long trading (i.e.) holding stock for 2-3 days etc., as opposed to getting in/out several times a day.. so are there any techniques/tips/tricks that we can use for going long?
Hi @sunnybabu, I hope your trading has been profitable. All the indicators are available and you will find them here @usethinkscript.com. Just takes a little work for you to search and understand.@cabe1332 Love your charts.. squeezepro is that the default TTMsqueeze that is available in TOS? if not can u point me to where i can get that? actually how do i get all your indicators
@rad14733, @zeek, @Tripod-2020, @greenalert20. Does this strategy also work for long.. I figured I might stick to long trading (i.e.) holding stock for 2-3 days etc., as opposed to getting in/out several times a day.. so are there any techniques/tips/tricks that we can use for going long?
#PosEntry & Warning Label
# by [email protected]
# Start of code
######### EMA21 - price below 21 ma
def dprice = close;
def dlength = 21;
def ddisplace = 0;
def EMA21 = MovingAverage(AverageType.eXPONENTIAL, dprice, dlength)[-ddisplace];
def v = if EMA21 > EMA21[1] then 1 else 0;
######### EMA50 - price below 50 ma
def eprice = close;
def elength = 50;
def edisplace = 0;
def EMA50 = MovingAverage(AverageType.eXPONENTIAL, eprice, elength)[-edisplace];
def x = if EMA50 > EMA50[1] then 1 else 0;
######### EMA200 - price below 200 ma - losing stock don't buy
def fprice = close;
def flength = 200;
def fdisplace = 0;
def EMA200 = MovingAverage(AverageType.eXPONENTIAL, fprice, flength)[-fdisplace];
def t = if EMA200 > EMA200[1] then 1 else 0;
############ HMA
def hprice = close;
def hlength = 20;
def displace = 0;
def HMA = MovingAverage(AverageType.HULL, hprice, hlength)[-displace];
def y = if HMA > HMA[1] then 1 else 0;
############ EMAs Stacked - a must for a good setup and entry
def stackedUp = MovAvgExponential("length" = 8)."AvgExp" is greater than MovAvgExponential("length" = 21)."AvgExp"
and MovAvgExponential("length" = 21)."AvgExp" is greater than MovAvgExponential("length" = 34)."AvgExp"
and MovAvgExponential("length" = 34)."AvgExp" is greater than MovAvgExponential("length" = 55)."AvgExp"
and MovAvgExponential("length" = 55)."AvgExp" is greater than MovAvgExponential("length" = 89)."AvgExp";
def e = if stackedUp then 1 else 0;
####### TTM_Squeeze - momo must be light blue
def H = reference TTM_Squeeze().Histogram;
def tt = if H > 0 and H > H[1] then 1 else 0;
#VWAPvalue
def vwapValue = reference VWAP();
def vw = if close > vwapValue then 1 else 0;
############ RSI
def rsilength = 5;
def rsi = reference RSI(length = rsilength)."RSI";
def rsioversold = if rsi < 20 then 1 else 0;
def rsioverbought = if rsi > 80 then 1 else 0;
def r = if rsioversold or rsioverbought then 1 else 0;
############ Label
def z = if tt== 1 and x == 1 and y == 1 and e and 1 and r == 0 and t == 1 and vw == 1 then 1 else 0;
addlabel(yes, if z == 1 then "You're good. Good Luck!" else " Watch it! " + (if e == 0 then "-EMAs not stacked " else "") + (if v == 0 then "-Price below EMA21 " else "") + (if t == 0 then "-Price below EMA200 " else "") + (if vw == 0 then "-Price below VWAP " else "")+ (if x == 0 then "-Declining EMA50 " else "") + (if y == 0 then "-Declining HMA " else "") + (if tt == 0 then "-Declining MoMo " else "") + (if rsioversold == 1 then "-Oversold " else "") + (if rsioverbought == 1 then "-Overbought " else ""), if z == 1 then color.green else color.orange);
#End of code
Hi @sunnybabu, I hope your trading has been profitable. All the indicators are available and you will find them here @usethinkscript.com. Just takes a little work for you to search and understand.
I like to keep things simple and easy systematically. Someone mentioned in the list "better entry" or "how can I avoid bad entry". Well, I wrote a script below I can share that may help all or at least the early traders. Yes, I do have a lot of indicators on my chart, but my consolidated decision (or AI) does a good job telling me to avoid entry or when certain situations to get out of the position. The label maybe will save you chart space and $$$ on all timeframes whether short or long trades. I have attached some screenshots of how it looks. I hope this helps you. Just let me know what you think and feedback or just thank you is appreciated. Good luck! @cabe1332
Code:#PosEntry & Warning Label # by [email protected] # Start of code ######### EMA21 - price below 21 ma def dprice = close; def dlength = 21; def ddisplace = 0; def EMA21 = MovingAverage(AverageType.eXPONENTIAL, dprice, dlength)[-ddisplace]; def v = if EMA21 > EMA21[1] then 1 else 0; ######### EMA50 - price below 50 ma def eprice = close; def elength = 50; def edisplace = 0; def EMA50 = MovingAverage(AverageType.eXPONENTIAL, eprice, elength)[-edisplace]; def x = if EMA50 > EMA50[1] then 1 else 0; ######### EMA200 - price below 200 ma - losing stock don't buy def fprice = close; def flength = 200; def fdisplace = 0; def EMA200 = MovingAverage(AverageType.eXPONENTIAL, fprice, flength)[-fdisplace]; def t = if EMA200 > EMA200[1] then 1 else 0; ############ HMA def hprice = close; def hlength = 20; def displace = 0; def HMA = MovingAverage(AverageType.HULL, hprice, hlength)[-displace]; def y = if HMA > HMA[1] then 1 else 0; ############ EMAs Stacked - a must for a good setup and entry def stackedUp = MovAvgExponential("length" = 8)."AvgExp" is greater than MovAvgExponential("length" = 21)."AvgExp" and MovAvgExponential("length" = 21)."AvgExp" is greater than MovAvgExponential("length" = 34)."AvgExp" and MovAvgExponential("length" = 34)."AvgExp" is greater than MovAvgExponential("length" = 55)."AvgExp" and MovAvgExponential("length" = 55)."AvgExp" is greater than MovAvgExponential("length" = 89)."AvgExp"; def e = if stackedUp then 1 else 0; ####### TTM_Squeeze - momo must be light blue def H = reference TTM_Squeeze().Histogram; def tt = if H > 0 and H > H[1] then 1 else 0; #VWAPvalue def vwapValue = reference VWAP(); def vw = if close > vwapValue then 1 else 0; ############ RSI def rsilength = 5; def rsi = reference RSI(length = rsilength)."RSI"; def rsioversold = if rsi < 20 then 1 else 0; def rsioverbought = if rsi > 80 then 1 else 0; def r = if rsioversold or rsioverbought then 1 else 0; ############ Label def z = if tt== 1 and x == 1 and y == 1 and e and 1 and r == 0 and t == 1 and vw == 1 then 1 else 0; addlabel(yes, if z == 1 then "You're good. Good Luck!" else " Watch it! " + (if e == 0 then "-EMAs not stacked " else "") + (if v == 0 then "-Price below EMA21 " else "") + (if t == 0 then "-Price below EMA200 " else "") + (if vw == 0 then "-Price below VWAP " else "")+ (if x == 0 then "-Declining EMA50 " else "") + (if y == 0 then "-Declining HMA " else "") + (if tt == 0 then "-Declining MoMo " else "") + (if rsioversold == 1 then "-Oversold " else "") + (if rsioverbought == 1 then "-Overbought " else ""), if z == 1 then color.green else color.orange); #End of code
Hi @greenalert20, thanks for the reply and feedback. If you're referring to false signals repaint or lagging signals, no I don't have to worry much. The only signal I have encountered on some equity is the "Sell" signal on TrendReversal study lags or delayed, which I have disabled from my chart or commented out the sell label on the TrendReversal script. The "Buy" signal is great on TrendReversal to enter the bottom on reversal or pullback.Does this repaint? Honestly, this doesn't really seem that simple. It just seems like there is too much going on here, a lot of colors. I am referring specifically to your upper chart.
Hi @sunnybabu, I hope your trading has been profitable. All the indicators are available and you will find them here @usethinkscript.com. Just takes a little work for you to search and understand.
I like to keep things simple and easy systematically. Someone mentioned in the list "better entry" or "how can I avoid bad entry". Well, I wrote a script below I can share that may help all or at least the early traders. Yes, I do have a lot of indicators on my chart, but my consolidated decision (or AI) does a good job telling me to avoid entry or when certain situations to get out of the position. The label maybe will save you chart space and $$$ on all timeframes whether short or long trades. I have attached some screenshots of how it looks. I hope this helps you. Just let me know what you think and feedback or just thank you is appreciated. Good luck! @cabe1332
Code:#PosEntry & Warning Label # by [email protected] # Start of code ######### EMA21 - price below 21 ma def dprice = close; def dlength = 21; def ddisplace = 0; def EMA21 = MovingAverage(AverageType.eXPONENTIAL, dprice, dlength)[-ddisplace]; def v = if EMA21 > EMA21[1] then 1 else 0; ######### EMA50 - price below 50 ma def eprice = close; def elength = 50; def edisplace = 0; def EMA50 = MovingAverage(AverageType.eXPONENTIAL, eprice, elength)[-edisplace]; def x = if EMA50 > EMA50[1] then 1 else 0; ######### EMA200 - price below 200 ma - losing stock don't buy def fprice = close; def flength = 200; def fdisplace = 0; def EMA200 = MovingAverage(AverageType.eXPONENTIAL, fprice, flength)[-fdisplace]; def t = if EMA200 > EMA200[1] then 1 else 0; ############ HMA def hprice = close; def hlength = 20; def displace = 0; def HMA = MovingAverage(AverageType.HULL, hprice, hlength)[-displace]; def y = if HMA > HMA[1] then 1 else 0; ############ EMAs Stacked - a must for a good setup and entry def stackedUp = MovAvgExponential("length" = 8)."AvgExp" is greater than MovAvgExponential("length" = 21)."AvgExp" and MovAvgExponential("length" = 21)."AvgExp" is greater than MovAvgExponential("length" = 34)."AvgExp" and MovAvgExponential("length" = 34)."AvgExp" is greater than MovAvgExponential("length" = 55)."AvgExp" and MovAvgExponential("length" = 55)."AvgExp" is greater than MovAvgExponential("length" = 89)."AvgExp"; def e = if stackedUp then 1 else 0; ####### TTM_Squeeze - momo must be light blue def H = reference TTM_Squeeze().Histogram; def tt = if H > 0 and H > H[1] then 1 else 0; #VWAPvalue def vwapValue = reference VWAP(); def vw = if close > vwapValue then 1 else 0; ############ RSI def rsilength = 5; def rsi = reference RSI(length = rsilength)."RSI"; def rsioversold = if rsi < 20 then 1 else 0; def rsioverbought = if rsi > 80 then 1 else 0; def r = if rsioversold or rsioverbought then 1 else 0; ############ Label def z = if tt== 1 and x == 1 and y == 1 and e == 1 and v == 1 and r == 0 and t == 1 and vw == 1 then 1 else 0; addlabel(yes, if z == 1 then "You're good. Good Luck!" else " Watch it! " + (if e == 0 then "-EMAs not stacked " else "") + (if v == 0 then "-Price below EMA21 " else "") + (if t == 0 then "-Price below EMA200 " else "") + (if vw == 0 then "-Price below VWAP " else "")+ (if x == 0 then "-Declining EMA50 " else "") + (if y == 0 then "-Declining HMA " else "") + (if tt == 0 then "-Declining MoMo " else "") + (if rsioversold == 1 then "-Oversold " else "") + (if rsioverbought == 1 then "-Overbought " else ""), if z == 1 then color.green else color.orange); #End of code
#Scan for good probability entry
# by [email protected]
# Start of code
######### EMA21 - price below 21 ma
def dprice = close;
def dlength = 21;
def ddisplace = 0;
def EMA21 = MovingAverage(AverageType.eXPONENTIAL, dprice, dlength)[-ddisplace];
def v = if EMA21 > EMA21[1] then 1 else 0;
######### EMA50 - price below 50 ma
def eprice = close;
def elength = 50;
def edisplace = 0;
def EMA50 = MovingAverage(AverageType.eXPONENTIAL, eprice, elength)[-edisplace];
def x = if EMA50 > EMA50[1] then 1 else 0;
######### EMA200 - price below 200 ma - losing stock don't buy
def fprice = close;
def flength = 200;
def fdisplace = 0;
def EMA200 = MovingAverage(AverageType.eXPONENTIAL, fprice, flength)[-fdisplace];
def t = if EMA200 > EMA200[1] then 1 else 0;
############ HMA
def hprice = close;
def hlength = 20;
def displace = 0;
def HMA = MovingAverage(AverageType.HULL, hprice, hlength)[-displace];
def y = if HMA > HMA[1] then 1 else 0;
############ EMAs Stacked - a must for a good setup and entry
def stackedUp = MovAvgExponential("length" = 8)."AvgExp" is greater than MovAvgExponential("length" = 21)."AvgExp"
and MovAvgExponential("length" = 21)."AvgExp" is greater than MovAvgExponential("length" = 34)."AvgExp"
and MovAvgExponential("length" = 34)."AvgExp" is greater than MovAvgExponential("length" = 55)."AvgExp"
and MovAvgExponential("length" = 55)."AvgExp" is greater than MovAvgExponential("length" = 89)."AvgExp";
def e = if stackedUp then 1 else 0;
####### TTM_Squeeze - momo must be light blue
def H = reference TTM_Squeeze().Histogram;
def tt = if H > 0 and H > H[1] then 1 else 0;
#VWAPvalue
def vwapValue = reference VWAP();
def vw = if close > vwapValue then 1 else 0;
############ RSI
def rsilength = 5;
def rsi = reference RSI(length = rsilength)."RSI";
def rsioversold = if rsi < 20 then 1 else 0;
def rsioverbought = if rsi > 80 then 1 else 0;
def r = if rsioversold or rsioverbought then 1 else 0;
############ plot
plot z = if tt== 1 and x == 1 and y == 1 and e == 1 and v == 1 and r == 0 and t == 1 and vw == 1 then 1 else 0;
#End of code
Good one...does it scan for the stocks which will display "You're good. Good Luck!" label on the chart?Let me add that the same script can be used to scan high probability entries, see below. Add your price and volume and the script below as a study filter into your scan at any aggregation and timeframe. Let me know if that helps. Good luck! @cabe1332.
Code:#Scan for good probability entry # by [email protected] # Start of code ######### EMA21 - price below 21 ma def dprice = close; def dlength = 21; def ddisplace = 0; def EMA21 = MovingAverage(AverageType.eXPONENTIAL, dprice, dlength)[-ddisplace]; def v = if EMA21 > EMA21[1] then 1 else 0; ######### EMA50 - price below 50 ma def eprice = close; def elength = 50; def edisplace = 0; def EMA50 = MovingAverage(AverageType.eXPONENTIAL, eprice, elength)[-edisplace]; def x = if EMA50 > EMA50[1] then 1 else 0; ######### EMA200 - price below 200 ma - losing stock don't buy def fprice = close; def flength = 200; def fdisplace = 0; def EMA200 = MovingAverage(AverageType.eXPONENTIAL, fprice, flength)[-fdisplace]; def t = if EMA200 > EMA200[1] then 1 else 0; ############ HMA def hprice = close; def hlength = 20; def displace = 0; def HMA = MovingAverage(AverageType.HULL, hprice, hlength)[-displace]; def y = if HMA > HMA[1] then 1 else 0; ############ EMAs Stacked - a must for a good setup and entry def stackedUp = MovAvgExponential("length" = 8)."AvgExp" is greater than MovAvgExponential("length" = 21)."AvgExp" and MovAvgExponential("length" = 21)."AvgExp" is greater than MovAvgExponential("length" = 34)."AvgExp" and MovAvgExponential("length" = 34)."AvgExp" is greater than MovAvgExponential("length" = 55)."AvgExp" and MovAvgExponential("length" = 55)."AvgExp" is greater than MovAvgExponential("length" = 89)."AvgExp"; def e = if stackedUp then 1 else 0; ####### TTM_Squeeze - momo must be light blue def H = reference TTM_Squeeze().Histogram; def tt = if H > 0 and H > H[1] then 1 else 0; #VWAPvalue def vwapValue = reference VWAP(); def vw = if close > vwapValue then 1 else 0; ############ RSI def rsilength = 5; def rsi = reference RSI(length = rsilength)."RSI"; def rsioversold = if rsi < 20 then 1 else 0; def rsioverbought = if rsi > 80 then 1 else 0; def r = if rsioversold or rsioverbought then 1 else 0; ############ plot plot z = if tt== 1 and x == 1 and y == 1 and e and 1 and r == 0 and t == 1 and vw == 1 then 1 else 0; #End of code
Good one...does it scan for the stocks which will display "You're good. Good Luck!" label on the chart?
because I just scanned with this scan script and found few..but I am getting "Watch it!-Declining MoMo" label when I opened the stock in the chart...
one request - would you mind sharing the clouds one from your chart-red/green. THANKS.
# Code - Cloud Overlay v3, 3-2020, credit to Paul Townsend
# works on tick and range charts. you can modify the fast and slow length to your liking.
input fastLength = 30;
input slowLength = 90;
input smooth = 4;
input averageType = AverageType.hull;
def price = hl2;
plot fastAvg = MovingAverage(averageType, price, fastLength);
plot slowAvg = MovingAverage(averageType, price, slowLength);
fastAvg.hide();
slowAvg.hide();
fastAvg.setlineWeight(3);
slowAvg.setlineWeight(3);
fastAvg.assignValueColor(color.white);
slowAvg.assignValueColor(color.orange);
addcloud(fastAvg,slowAvg,color.green,color.red);
#end of code
Thanks a tonHey @royalrock, glad you like it. Yes, it scanned to the finest tooth and provides you with a good setup entry. When you get "Watch it!-Declining MoMo" this on the label it means the momentum/price action has changed or moving downwards. Per your request, the script for the cloud MA below.
Good luck! @cabe1332
# Code - Cloud Overlay v3, 3-2020, credit to Paul Townsend
# works on tick and range charts. you can modify the fast and slow length to your liking.
input fastLength = 30;
input slowLength = 90;
input smooth = 4;
input averageType = AverageType.hull;
def price = hl2;
plot fastAvg = MovingAverage(averageType, price, fastLength);
plot slowAvg = MovingAverage(averageType, price, slowLength);
fastAvg.hide();
slowAvg.hide();
fastAvg.setlineWeight(3);
slowAvg.setlineWeight(3);
fastAvg.assignValueColor(color.white);
slowAvg.assignValueColor(color.orange);
addcloud(fastAvg,slowAvg,color.downtick,color.uptick);
#addcloud(fastAvg,slowAvg,color.green,color.red);
#addlabel(yes,fastLength + "/" + slowLength,color.white);
#end of code
Hey @royalrock, the clouds just indicate trending MA. Good for scalping and helps when to get in and out. Buy on the green, sell on red. I recently updated the code above to reflect a green/red cloud. My input set with fast length = 9, slow length = 21, smooth =4, and average type = HULL. Sample chart below. I hope that helps. Good luck! @cabe1332Thanks a ton
how to use this...
above cloud - Buy, below cloud - sell? THANKS
above shared script is doing completely the other wayHey @royalrock, the clouds just indicate trending MA. Good for scalping and helps when to get in and out. Buy on the green, sell on red. I recently updated the code above to reflect a green/red cloud. My input set with fast length = 9, slow length = 21, smooth =4, and average type = HULL. Sample chart below. I hope that helps. Good luck! @cabe1332
I updated the code script above yesterday. You can use below code also.above shared script is doing completely the other way
i getting red cloud for uptrend..using with candles..dont see Buy and sell labels.
Thanks
# Code - Cloud Overlay v3, 3-2020, credit to Paul Townsend
# works on tick and range charts. you can modify the fast and slow length to your liking.
input fastLength = 30;
input slowLength = 90;
input smooth = 4;
input averageType = AverageType.hull;
def price = hl2;
plot fastAvg = MovingAverage(averageType, price, fastLength);
plot slowAvg = MovingAverage(averageType, price, slowLength);
fastAvg.hide();
slowAvg.hide();
fastAvg.setlineWeight(3);
slowAvg.setlineWeight(3);
fastAvg.assignValueColor(color.white);
slowAvg.assignValueColor(color.orange);
addcloud(fastAvg,slowAvg,color.green,color.red);
#end of code
I can't believe I am giving away my trading method.Can someone share me with a day trading strategy that has worked for them. I have tried many strategies and used many indicators but ended up losing trades or the strategy didn't work good enough backtesting.
Hi @sunnybabu, I hope your trading has been profitable. All the indicators are available and you will find them here @usethinkscript.com. Just takes a little work for you to search and understand.
I like to keep things simple and easy systematically. Someone mentioned in the list "better entry" or "how can I avoid bad entry". Well, I wrote a script below I can share that may help all or at least the early traders. Yes, I do have a lot of indicators on my chart, but my consolidated decision (or AI) does a good job telling me to avoid entry or when certain situations to get out of the position. The label maybe will save you chart space and $$$ on all timeframes whether short or long trades. I have attached some screenshots of how it looks. I hope this helps you. Just let me know what you think and feedback or just thank you is appreciated. Good luck! @cabe1332
Code:#PosEntry & Warning Label # by [email protected] # Start of code ######### EMA21 - price below 21 ma def dprice = close; def dlength = 21; def ddisplace = 0; def EMA21 = MovingAverage(AverageType.eXPONENTIAL, dprice, dlength)[-ddisplace]; def v = if EMA21 > EMA21[1] then 1 else 0; ######### EMA50 - price below 50 ma def eprice = close; def elength = 50; def edisplace = 0; def EMA50 = MovingAverage(AverageType.eXPONENTIAL, eprice, elength)[-edisplace]; def x = if EMA50 > EMA50[1] then 1 else 0; ######### EMA200 - price below 200 ma - losing stock don't buy def fprice = close; def flength = 200; def fdisplace = 0; def EMA200 = MovingAverage(AverageType.eXPONENTIAL, fprice, flength)[-fdisplace]; def t = if EMA200 > EMA200[1] then 1 else 0; ############ HMA def hprice = close; def hlength = 20; def displace = 0; def HMA = MovingAverage(AverageType.HULL, hprice, hlength)[-displace]; def y = if HMA > HMA[1] then 1 else 0; ############ EMAs Stacked - a must for a good setup and entry def stackedUp = MovAvgExponential("length" = 8)."AvgExp" is greater than MovAvgExponential("length" = 21)."AvgExp" and MovAvgExponential("length" = 21)."AvgExp" is greater than MovAvgExponential("length" = 34)."AvgExp" and MovAvgExponential("length" = 34)."AvgExp" is greater than MovAvgExponential("length" = 55)."AvgExp" and MovAvgExponential("length" = 55)."AvgExp" is greater than MovAvgExponential("length" = 89)."AvgExp"; def e = if stackedUp then 1 else 0; ####### TTM_Squeeze - momo must be light blue def H = reference TTM_Squeeze().Histogram; def tt = if H > 0 and H > H[1] then 1 else 0; #VWAPvalue def vwapValue = reference VWAP(); def vw = if close > vwapValue then 1 else 0; ############ RSI def rsilength = 5; def rsi = reference RSI(length = rsilength)."RSI"; def rsioversold = if rsi < 20 then 1 else 0; def rsioverbought = if rsi > 80 then 1 else 0; def r = if rsioversold or rsioverbought then 1 else 0; ############ Label def z = if tt== 1 and x == 1 and y == 1 and e and 1 and r == 0 and t == 1 and vw == 1 then 1 else 0; addlabel(yes, if z == 1 then "You're good. Good Luck!" else " Watch it! " + (if e == 0 then "-EMAs not stacked " else "") + (if v == 0 then "-Price below EMA21 " else "") + (if t == 0 then "-Price below EMA200 " else "") + (if vw == 0 then "-Price below VWAP " else "")+ (if x == 0 then "-Declining EMA50 " else "") + (if y == 0 then "-Declining HMA " else "") + (if tt == 0 then "-Declining MoMo " else "") + (if rsioversold == 1 then "-Oversold " else "") + (if rsioverbought == 1 then "-Overbought " else ""), if z == 1 then color.green else color.orange); #End of code
useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.
We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.
If you are new, or just looking for guidance, here are some helpful links to get you started.