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.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

MC

Think or Swim Code/indicators

Recommended Posts

I don't see a relative strength index (RSI) as an indicator in the TOS platform. Does anyone have code for this?

 

Thanks,

StockJock

 

Is there any way to make the RSIWILDER multi-time-frame? Any place or person you can direct me to that would be able to code it???

 

Thanks in advance

Share this post


Link to post
Share on other sites

hello informed trades, I have this indicator on my Metatrader 4 and i would like to transfer it to Think or Swim but i keep getting common errors.

Can some one please have a look and correct it or at least tell me what i am doing wrong.

Below is the language code.

 

 

 

#property indicator_separate_window

#property indicator_buffers 4

#property indicator_color1 Blue

#property indicator_width1 4

#property indicator_color2 Red

#property indicator_width2 4

#property indicator_color3 Blue

#property indicator_width3 2

#property indicator_color4 Red

#property indicator_width4 2

 

//---- input parameters

extern int Mode = 0; // 0-RSI method; 1-Stoch method

extern int Length = 9; // Period

extern int Smooth = 1; // Period of smoothing

extern int Signal = 4; // Period of Signal Line

extern int Price = 0; // Price mode : 0-Close,1-Open,2-High,3-Low,4-Median,5-Typical,6-Weighted

extern int ModeMA = 3; // Mode of Moving Average

extern int Mode_Histo = 3;

//---- buffers

double Bulls[];

double Bears[];

double AvgBulls[];

double AvgBears[];

double SmthBulls[];

double SmthBears[];

double SigBulls[];

double SigBears[];

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

IndicatorBuffers(8);

SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,4);

SetIndexBuffer(0,SmthBulls);

SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,4);

SetIndexBuffer(1,SmthBears);

 

SetIndexStyle(2,DRAW_LINE,EMPTY,2);

SetIndexBuffer(2,SigBulls);

SetIndexStyle(3,DRAW_LINE,EMPTY,2);

SetIndexBuffer(3,SigBears);

 

SetIndexBuffer(4,Bulls);

SetIndexBuffer(5,Bears);

SetIndexBuffer(6,AvgBulls);

SetIndexBuffer(7,AvgBears);

//---- name for DataWindow and indicator subwindow label

string short_name="AbsoluteStrengthHistogram("+Mode+","+L ength+","+Smooth+","+Signal+",,"+ModeMA+")";

IndicatorShortName(short_name);

SetIndexLabel(0,"Bulls");

SetIndexLabel(1,"Bears");

SetIndexLabel(2,"Bulls");

SetIndexLabel(3,"Bears");

 

//----

SetIndexDrawBegin(0,Length+Smooth+Signal);

SetIndexDrawBegin(1,Length+Smooth+Signal);

SetIndexDrawBegin(2,Length+Smooth+Signal);

SetIndexDrawBegin(3,Length+Smooth+Signal);

 

SetIndexEmptyValue(0,0.0);

SetIndexEmptyValue(1,0.0);

SetIndexEmptyValue(2,0.0);

SetIndexEmptyValue(3,0.0);

SetIndexEmptyValue(4,0.0);

SetIndexEmptyValue(5,0.0);

SetIndexEmptyValue(6,0.0);

SetIndexEmptyValue(7,0.0);

 

 

 

return(0);

}

 

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int shift, limit, counted_bars=IndicatorCounted();

double Price1, Price2, smax, smin;

//----

if ( counted_bars < 0 ) return(-1);

if ( counted_bars ==0 ) limit=Bars-Length+Smooth+Signal-1;

if ( counted_bars < 1 )

for(int i=1;i<Length+Smooth+Signal;i++)

{

Bulls[bars-i]=0;

Bears[bars-i]=0;

AvgBulls[bars-i]=0;

AvgBears[bars-i]=0;

SmthBulls[bars-i]=0;

SmthBears[bars-i]=0;

SigBulls[bars-i]=0;

SigBears[bars-i]=0;

}

 

 

 

if(counted_bars>0) limit=Bars-counted_bars;

limit--;

 

for( shift=limit; shift>=0; shift--)

{

Price1 = iMA(NULL,0,1,0,0,Price,shift);

Price2 = iMA(NULL,0,1,0,0,Price,shift+1);

 

if (Mode==0)

{

Bulls[shift] = 0.5*(MathAbs(Price1-Price2)+(Price1-Price2));

Bears[shift] = 0.5*(MathAbs(Price1-Price2)-(Price1-Price2));

}

 

if (Mode==1)

{

smax=High[Highest(NULL,0,MODE_HIGH,Length,shift)];

smin=Low[Lowest(NULL,0,MODE_LOW,Length,shift)];

 

Bulls[shift] = Price1 - smin;

Bears[shift] = smax - Price1;

}

}

 

for( shift=limit; shift>=0; shift--)

{

AvgBulls[shift]=iMAOnArray(Bulls,0,Length,0,ModeMA,shift);

AvgBears[shift]=iMAOnArray(Bears,0,Length,0,ModeMA,shift);

}

 

for( shift=limit; shift>=0; shift--)

{

SmthBulls[shift]=iMAOnArray(AvgBulls,0,Smooth,0,ModeMA,shift);

SmthBears[shift]=iMAOnArray(AvgBears,0,Smooth,0,ModeMA,shift);

}

 

if(Mode_Histo == 1)

{

for( shift=limit; shift>=0; shift--)

{

if(SmthBulls[shift]-SmthBears[shift]>0)

{

SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,5);

SetIndexStyle(1,DRAW_LINE,EMPTY,2);

SmthBears[shift]= SmthBears[shift]/Point;

SmthBulls[shift]= SmthBulls[shift]/Point;

}

else

{

SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,5);

SetIndexStyle(0,DRAW_LINE,EMPTY,2);

SmthBears[shift]= SmthBears[shift]/Point;

SmthBulls[shift]= SmthBulls[shift]/Point;

}

} //end for( shift=limit; shift>=0; shift--)

} // end if(Mode_Histo == 1)

else

if(Mode_Histo == 2)

{

for( shift=limit; shift>=0; shift--)

{

if(SmthBulls[shift]-SmthBears[shift]>0)

{

SmthBears[shift]=-SmthBears[shift]/Point;

SmthBulls[shift]= SmthBulls[shift]/Point;

}

else

{

SmthBulls[shift]=-SmthBulls[shift]/Point;

SmthBears[shift]= SmthBears[shift]/Point;

}

} //end for( shift=limit; shift>=0; shift--)

} //end if(Mode_Histo == 2)

else

if(Mode_Histo == 3)

{

for( shift=limit; shift>=0; shift--)

{

SigBulls[shift]= SmthBulls[shift];

SigBears[shift]= SmthBears[shift];

if(SmthBulls[shift]-SmthBears[shift]>0)

SmthBears[shift]=0;

else

SmthBulls[shift]=0;

} //end for( shift=limit; shift>=0; shift--)

} //end if(Mode_Histo == 3)

else

if(Mode_Histo == 4)

{

for( shift=limit; shift>=0; shift--)

{

if(SmthBulls[shift]-SmthBears[shift]>0)

{

SigBears[shift]= SmthBears[shift];

SmthBears[shift]=0;

}

else

{

SigBulls[shift]= SmthBulls[shift];

SmthBulls[shift]=0;

}

} //end for( shift=limit; shift>=0; shift--)

} //end if(Mode_Histo == 4)

 

return(0);

}

//+------------------------------------------------------------------+

Share this post


Link to post
Share on other sites

I've been looking for a good trend indicator; so I'm trying the ADX. According to Investopedia the ADX is The Trend Strength Indicator and I've made some code to post chart labels on trend conditions. This is an upper chart indicator and you'll see labels only (no lines).

================================================

#

# SJ_ADX_DMI_TrendLabels

#

# Directional Movement System measures the ability of bulls and

# bears to move price outside the previous day's trading range.

declare upper;

input length = 14;

def hiDiff = high - high[1];

def loDiff = low[1] - low;

def plusDM = if hiDiff > loDiff and hiDiff > 0 then hiDiff else 0;

def minusDM = if loDiff > hiDiff and loDiff > 0 then loDiff else 0;

def ATR = WildersAverage(TrueRange(high, close, low), length);

def "DI+" = 100 * WildersAverage(plusDM, length) / ATR;

def "DI-" = 100 * WildersAverage(minusDM, length) / ATR;

def DX = if ("DI+" + "DI-" > 0) then 100 * AbsValue("DI+" - "DI-") / ("DI+" + "DI-") else 0;

def ADX = WildersAverage(DX, length);

# Starting A Bullish Trend

def Condition1 = "DI+" > ADX && ADX > "DI-" && "DI+" > "DI-";

# Ending A Bullish Trend

def Condition2 = ADX > "DI+" && ADX > "DI-" && "DI+" > "DI-";

# Starting Into A Range

def Condition3 = ADX > "DI+" && ADX > "DI-" && "DI-" > "DI+";

# Ending Out Of A Range

def Condition4 = "DI+" > ADX && "DI-" > ADX && "DI+" > "DI-";

# Starting A Bearish Trend

def Condition5 = "DI+" > ADX && "DI-" > ADX && "DI-" > "DI+";

# Ending A Bearish Trend

def Condition6 = ADX > "DI+" && ADX > "DI-" && "DI-" > "DI+";

 

# addChartLabel(visible, value, textLabel, color)

addchartlabel(yes, concat( 0, concat(" ",

If Condition1 then "Starting A Bullish Trend" else

If Condition2 then "Ending A Bullish Trend" else

If Condition3 then "Starting Into A Range" else

If Condition4 then "Ending Out Of A Range" else

If Condition5 then "Starting A Bearish Trend" else

If Condition6 then "Ending A Bearish Trend" else

"Wait")),

If Condition1 then color.green else

If Condition2 then color.gray else

If Condition3 then color.yellow else

If Condition4 then color.orange else

If Condition5 then color.red else

If Condition6 then color.pink else

color.white);

plot null = double.nan;

================================================

Share this post


Link to post
Share on other sites

Here's an updated version of the ADX, DMI Indicator that I recently posted.

#

# SJ_ADX_DMI_TrendStrengthLabels

#

# Directional Movement System measures the ability of bulls and

# bears to move price outside the previous day's trading range.

declare upper;

input length = 14;

def hiDiff = high - high[1];

def loDiff = low[1] - low;

def plusDM = if hiDiff > loDiff and hiDiff > 0 then hiDiff else 0;

def minusDM = if loDiff > hiDiff and loDiff > 0 then loDiff else 0;

def ATR = WildersAverage(TrueRange(high, close, low), length);

def "DI+" = 100 * WildersAverage(plusDM, length) / ATR;

def "DI-" = 100 * WildersAverage(minusDM, length) / ATR;

def DX = if ("DI+" + "DI-" > 0) then 100 * AbsValue("DI+" - "DI-") / ("DI+" + "DI-") else 0;

def ADX = WildersAverage(DX, length);

#

# ============================================================

# ============================================================

# Bullish Trend

def BullishCondition = "DI+" > "DI-";

# Bearish Trend

def BearishCondition = "DI-" > "DI+";

# ============================================================

# ============================================================

# Range Bound & No Trend

def ConditionA = ADX > 0 && ADX < 20;

# Absent or Weak Trend

def ConditionB = ADX > 20 && ADX < 25;

# Strong Trend

def ConditionC = ADX > 25 && ADX < 50;

# Very Strong Trend

def ConditionD = ADX > 50 && ADX < 75;

# Extremely Strong Trend

def ConditionE = ADX > 75 && ADX < 100;

# ============================================================

# ************************************************************

# addChartLabel(visible, value, textLabel, color)

AddChartLabel(yes, concat( ADX, concat(If ConditionA then " Range Bound " else If ConditionB then " Weak " else If ConditionC then " Strong " else If ConditionD then " Very Strong " else If ConditionE then " Extremely Strong " else " No Strength ", If BullishCondition then "Bullish Trend" else If BearishCondition then "Bearish Trend" else "& No Trend")), if BullishCondition then color.green else color.red);

plot null = double.nan

Share this post


Link to post
Share on other sites
They also have a great deal on Snake Oil apparently as well. :spam:

 

That I don't know. I do know, however, that the guy who does the videos for TSI helped start them (I doubt highly he is involved with any "snake oil"), and the site is less 2 weeks old (TSI announced it in their emails).

 

Did you have a bad experience with them within the last 2 weeks?

Share this post


Link to post
Share on other sites
Did you have a bad experience with them within the last 2 weeks?

 

A casual glance at your post history reveals that:

 

1) You are probably affiliated with the folks selling that garbage (I suspect they are in fact your web sites).

 

2) You are spamming this board with links back to your sites.

 

Please stop.

Share this post


Link to post
Share on other sites

Actually, although I am not directly affiliated with the compnay I do personally know the web designer.

 

However, I have been trading with the Thinkorswim platform since 2002, when it was just Investools. And have been trading for a living since 1997.

 

The facts are, and It is obvious that:

 

1.) You are an idiot, and quite possible a very unhappy and unsuccessful trader.

 

2.) They are not my sites.

 

3.) I have only mentioned these sites in response to direct questions and becuase I am convinced of their superiority as regards the TOS platform.

 

4.) I make over $10 K a week and have successfully for over 10 years now. And am qualified to make whatever statements I so choose. :haha:

 

5.) You did not answer the question and obviously need someone to blame for your lack of prowess in the markets.

 

6.) I have made 25 posts--6 times more than you--on a great many subjects, and have only mentioned TSI indicators a few measily times.

 

7.) And a casual galnce at YOUR post history shows that your negative remarks to me were the very first post you have ever made since joining in February. Excellent timing.

 

I personally have no vested interest and do not care if you use or like TSI indicators...or any other indicators for that matter. However, attacks against me were unsubstantiated, woefully uninformed, dear chap, and unwarranted.

 

Each individual can decide for him/herself if they want to follow up on any statement I make in life. After I make that statement, I really wouldn't care. I don't even KNOW you: I spend more time on the blue seas than I do in these forums, mate.

 

If you are that acrimonious and bitter at the world I suggest you blame yourself for leveraging your house against the markets--or whatever dumb thing you must have done to go spewing nonsense in these forums.

 

Ask your old boss for your job back...if he'll have you. Trading is obviously not your forte.

Edited by HI_THERE
misspell

Share this post


Link to post
Share on other sites

Me thinks he doth protest too much. The magnitude of your over reaction speaks volumes...

 

Bottom Line: There are more than enough free Think or Swim indicators available that you should steer as clear as possible from the crooks at TSI.

Share this post


Link to post
Share on other sites

I have no interest in conversing with you RandomTask. In fact, I have turned off my email alerts to hedge against having to hear from the likes of blokes like you.

 

So you now have this thread to yourself.

 

:haha: You can dislike that company all you like: it doesn't affect me.

 

But your attack on me was unwarranted.

 

You should use this website as an educational base, instead of a personal platform to whine. If you are blaming an indicator for your inability to trade, then "methinks" you should re-formulate.

 

Goodday, mate. And good luck.

Edited by HI_THERE
misspell

Share this post


Link to post
Share on other sites

up volume

 

============================

 

 

declare lower;

 

input distrday_threshold = 9;

 

def upvol = close(“$UVOL”);

def dnvol = close(“$DVOL”);

 

plot ZeroLine = 0;

plot DistrDay = distrday_threshold;

 

plot volumedata = upvol;

 

volumedata.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);

volumedata.DefineColor(“Positive”, Color.UPTICK);

volumedata.DefineColor(“Negative”, Color.DOWNTICK);

volumedata.AssignValueColor(if volumedata >= distrday_threshold then volumedata.color(“Positive”) else volumedata.color(“Negative”));

Share this post


Link to post
Share on other sites

down volume

======================

 

declare lower;

 

input distrday_threshold = 9;

 

def upvol = close(“$UVOL”);

def dnvol = close(“$DVOL”);

 

plot ZeroLine = 0;

plot DistrDay = distrday_threshold;

 

plot volumedata = dnvol;

 

volumedata.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);

volumedata.DefineColor(“Positive”, Color.UPTICK);

volumedata.DefineColor(“Negative”, Color.DOWNTICK);

volumedata.AssignValueColor(if volumedata >= distrday_threshold then volumedata.color(“Positive”) else volumedata.color(“Negative”));

Share this post


Link to post
Share on other sites

Plotting Prices & Indexes On Price Bars

 

This code is to start the bar count from the first bar on the far left side of the chart and count down forward in time. I'm trying to use the fold statement to do a count down, but fold is so different from loops in other programming languages. I need help on this.

=================================================

declare upper;

# Clear Chart

AssignPriceColor(CreateColor(10, 0, 78));

AssignBackgroundColor(CreateColor(10, 0, 78));

# Graph Boundaries

plot HH = HighestAll(high);

plot LL = LowestAll(low);

plot ML = (HH + LL) / 2;

# Plot Bubbles

def TotalBarsOnChart=24*60*60*1000/getAggregationPeriod();

def Bar_Xaxis = barNumber();

def Bar_Yaxis = ML;

rec FBarIndex = if IsNaN(FBarIndex[1] ) then 0 else FBarIndex[1] + 1;

rec RBarIndex=fold index = 1 to TotalBarsOnChart with Bar = TotalBarsOnChart do Bar = Bar - 1);

 

AddChartBubble(Bar_Xaxis, Bar_Yaxis, concat("", FBarIndex), color.Gray, No);

AddChartBubble(Bar_Xaxis, Bar_Yaxis + 0.2, concat("", RBarIndex), color.Yellow, No);

=================================================

Edited by Stock.Jock

Share this post


Link to post
Share on other sites

input timeFrame = {default DAY};

input showOnlyToday = no;

 

def day = getDay();

def lastDay = getLastDay();

def isToday = if(day >= lastDay, 1, 0);

def shouldPlot = if(showOnlyToday and isToday, 1, if(!showOnlyToday, 1, 0));

 

 

declare lower;

 

input distrday_threshold = 9;

 

def upvol = close(“$UVOL”);

def dnvol = close(“$DVOL”);

 

plot ZeroLine = 0;

plot DistrDay = distrday_threshold;

 

# plot volumedata = absvalue ( dnvol / upvol );

 

plot volumedata = if (shouldPlot,

absvalue( dnvol/upvol) ,

double.nan);

 

volumedata.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);

volumedata.DefineColor(“Positive”, Color.UPTICK);

volumedata.DefineColor(“Negative”, Color.DOWNTICK);

volumedata.AssignValueColor(if volumedata >= distrday_threshold then volumedata.color(“Positive”) else volumedata.color(“Negative”));

 

#volumedata.AssignValueColor(if volumedata > volumedata[1] then #color.red else color.green);

 

============================================

 

TOS is only good for end of day charting.... nothing more.

Share this post


Link to post
Share on other sites
there are a lot of TOS indicators out there now on the web.

 

however don't try to use TOS for live trading as you will lose your shirt

 

you should qualify that...

TOS is a very good options broker.

anything else is not their specialty.

Share this post


Link to post
Share on other sites

.... speaking about reliability issues.... not which products to trade

 

there are a lot of TOS indicators out there now on the web.

however don't try to use TOS for live trading as you will lose your shirt

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • Be careful who you blame.   I can tell you one thing for sure.   Effective traders don’t blame others when things start to go wrong.   You can hang onto your tendency to play the victim, or the martyr… but if you want to achieve in trading, you have to be prepared to take responsibility.   People assign reasons to outcomes, whether based on internal or external factors.   When traders face losses, it's common for them to blame bad luck, poor advice, or other external factors, rather than reflecting on their own personal attributes like arrogance, fear, or greed.   This is a challenging lesson to grasp in your trading journey, but one that holds immense value.   This is called attribution theory. Taking responsibility for your actions is the key to improving your trading skills. Pause and ask yourself - What role did I play in my financial decisions?   After all, you were the one who listened to that source, and decided to act on that trade based on the rumour. Attributing results solely to external circumstances is what is known as having an ‘external locus of control’.   It's a concept coined by psychologist Julian Rotter in 1954. A trader with an external locus of control might say, "I made a profit because the markets are currently favourable."   Instead, strive to develop an "internal locus of control" and take ownership of your actions.   Assume that all trading results are within your realm of responsibility and actively seek ways to improve your own behaviour.   This is the fastest route to enhancing your trading abilities. A trader with an internal locus of control might proudly state, "My equity curve is rising because I am a disciplined trader who faithfully follows my trading plan." Author: Louise Bedford Source: https://www.tradinggame.com.au/
    • SELF IMPROVEMENT.   The whole self-help industry began when Dale Carnegie published How to Win Friends and Influence People in 1936. Then came other classics like Think And Grow Rich by Napoleon Hill, Awaken the Giant Within by Tony Robbins toward the end of the century.   Today, teaching people how to improve themselves is a business. A pure ruthless business where some people sell utter bullshit.   There are broke Instagrammers and YouTubers with literally no solid background teaching men how to be attractive to women, how to begin a start-up, how to become successful — most of these guys speaking nothing more than hollow motivational words and cliche stuff. They waste your time. Some of these people who present themselves as hugely successful also give talks and write books.   There are so many books on financial advice, self-improvement, love, etc and some people actually try to read them. They are a waste of time, mostly.   When you start reading a dozen books on finance you realize that they all say the same stuff.   You are not going to live forever in the learning phase. Don't procrastinate by reading bull-shit or the same good knowledge in 10 books. What we ought to do is choose wisely.   Yes. A good book can change your life, given you do what it asks you to do.   All the books I have named up to now are worthy of reading. Tim Ferriss, Simon Sinek, Robert Greene — these guys are worthy of reading. These guys teach what others don't. Their books are unique and actually, come from relevant and successful people.   When Richard Branson writes a book about entrepreneurship, go read it. Every line in that book is said by one of the greatest entrepreneurs of our time.   When a Chinese millionaire( he claims to be) Youtuber who releases a video titled “Why reading books keeps you broke” and a year later another one “My recommendation of books for grand success” you should be wise to tell him to jump from Victoria Falls.   These self-improvement gurus sell you delusions.   They say they have those little tricks that only they know that if you use, everything in your life will be perfect. Those little tricks. We are just “making of a to-do-list before sleeping” away from becoming the next Bill Gates.   There are no little tricks.   There is no success-mantra.   Self-improvement is a trap for 99% of the people. You can't do that unless you are very, very strong.   If you are looking for easy ways, you will only keep wasting your time forgetting that your time on this planet is limited, as alive humans that is.   Also, I feel that people who claim to read like a book a day or promote it are idiots. You retain nothing. When you do read a good book, you read slow, sometimes a whole paragraph, again and again, dwelling on it, trying to internalize its knowledge. You try to understand. You think. It takes time.   It's better to read a good book 10 times than 1000 stupid ones.   So be choosy. Read from the guys who actually know something, not some wannabe ‘influencers’.   Edit: Think And Grow Rich was written as a result of a project assigned to Napoleon Hill by Andrew Carnegie(the 2nd richest man in recent history). He was asked to study the most successful people on the planet and document which characteristics made them great. He did extensive work in studying hundreds of the most successful people of that time. The result was that little book.   Nowadays some people just study Instagram algorithms and think of themselves as a Dale Carnegie or Anthony Robbins. By Nupur Nishant, Quora Profits from free accurate cryptos signals: https://www.predictmag.com/    
    • there is no avoiding loses to be honest, its just how the market is. you win some and hopefully more, but u do lose some. 
    • $CSCO Cisco Systems stock, nice top of range breakout, from Stocks to Watch at https://stockconsultant.com/?CSCOSEPN Septerna stock watch for a bottom breakout, good upside price gap
    • $CSCO Cisco Systems stock, nice top of range breakout, from Stocks to Watch at https://stockconsultant.com/?CSCOSEPN Septerna stock watch for a bottom breakout, good upside price gap
×
×
  • Create New...

Important Information

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