Mp -- Some Of My Non-secret Secrets

1tx
I do believe we missed out!!! I’m sure MP is still in grinnin from ear to ear! As of 9:50 PM EST the E/U is at 1.3200!!! And I was happy for my 10 pips…that yacht is along way off!

well no regrets Sandpipper, I am just a 20 pip player- as of now that is-and that is going to go every month into my BMW fund ;)-

Time will tell when and how I move into the major league, but so far so good :slight_smile:

Well I went and got 19 more pips on the retrace. Thank you Shi, LRC, Barry,ZZ, Ziggy and MP!

I’m off now to TRY to unlock the secrets of A/D, CCI and MACD! Trading is so distracting when it comes to learning! :smiley:

Sorry, but I gotta know. So…

Bump

Mr. M-

Can you help me! Please look at the attached chart-what type of ‘things’ would /could have “told ya” that the eur/us is going to break out of the channel now?

I will definitely analyze it tomorrow but I was just wondering how you would have seen it coming?

Tex


price is king, price will do whatever it wants to do whenever it wants…wasnt the first and wont be the last time…A close above the line is all it takes to verify the line is broken…Besides these shi channels hold little weight anyway, and hand drawn trendline or horizontal support and resistance lines are far and away better methods of trading breakouts or bounces of tru S+R…these shi channels are quite vague and will let you down time and time and time and time and time again…unless you trade micro lots with no stoploss and just sit there awaiting your position to turn to profit as your guru does

Other than the fact that one is drawn by the chart tool and the other hand drawn why would one be any better than the other?

From what I have seen they show very close to the same thing.

Wierd! I’m 3 solid weeks into making almost 400% more than I was by trading my live account using Shi channels. It all must be make believe. God I hope I don’t wake up from this dream! I might get all bitter and start making worthless posts on other people’s threads everytime I take a bad loss!

Hey Guys, Since I had the 45 minute epiphany, I decided to compile a little indicator for the M1 Charts. This will place a line every 45 minutes. The lines alternate colors from red to green (Dont get caught up in the color as meaning buy or selll). Once you place this on an M1, The market cycles become ever apparent, especially the longer slots (3hour)

The only caveat to this is that i built it for my brokers time slots which is +2 GMT…If your broker uses the GMT times, you would simply minus 2 hours from the times

Example:
Here is what it looks like in my indicator:
extern string Begin_1 = “02:00”;
extern string End_1 = “02:00”;
You would change this to:
extern string Begin_1 = “00:00”;
extern string End_1 = “00:00”;

Now you would have to do this for all of the times…One last hint, you could always edit this to only show the 1.5 and 3 hour lines.

Finally, I did not create the indicator from scratch. I took another one and modified it. I am sure someone else could take the code and reduce it. In the future I plan on adding a Time offset function, since many of my indicators and my personal EA is based on time.

Oops, code was wrong time slots, I am fixing now and will repost.

Here is the code:


//+------------------------------------------------------------------+
//| Husky_45min_reversals.mq4                                        |
//| This has been adapted from the Tim zones: by                     |
//|  Brad Eckert's Time Zones added by Jacob Yego                    |
//|  Creates lines every 45 minutes.                                      |
//|  The slots are based on FXDD +2GMT                               |
//+------------------------------------------------------------------+



#property indicator_chart_window

//------- 45 Minute Times -------------------------------
extern int    NumberOfDays = 10;        // ���������� ����
extern string Begin_1      = "02:15";
extern string End_1        = "02:15";
extern color  Color_1      = Red;
extern string Begin_2      = "03:00";
extern string End_2        = "03:00";
extern color  Color_2      = Green;
extern string Begin_3      = "03:45";
extern string End_3        = "03:45";
extern color  Color_3      = Red;
extern string Begin_4      = "04:30";
extern string End_4        = "04:30";
extern color  Color_4      = Green;
extern string Begin_5      = "05:15";
extern string End_5        = "05:15";
extern color  Color_5      = Red;
extern string Begin_6      = "06:00";
extern string End_6        = "06:00";
extern color  Color_6      = Green;
extern string Begin_7      = "06:45";
extern string End_7        = "06:45";
extern color  Color_7      = Red;
extern string Begin_8      = "07:30";
extern string End_8        = "07:30";
extern color  Color_8      = Green;
extern string Begin_9      = "08:15";
extern string End_9        = "08:15";
extern color  Color_9      = Red;
extern string Begin_10      = "09:00";
extern string End_10        = "09:00";
extern color  Color_10      = Green;
extern string Begin_11      = "09:45";
extern string End_11        = "09:45";
extern color  Color_11      = Red;
extern string Begin_12      = "10:30";
extern string End_12        = "10:30";
extern color  Color_12      = Green;
extern string Begin_13      = "11:15";
extern string End_13        = "11:15";
extern color  Color_13      = Red;
extern string Begin_14      = "12:00";
extern string End_14        = "12:00";
extern color  Color_14      = Green;
extern string Begin_15      = "12:45";
extern string End_15        = "12:45";
extern color  Color_15      = Red;
extern string Begin_16      = "13:30";
extern string End_16        = "13:30";
extern color  Color_16      = Green;
extern string Begin_17      = "14:15";
extern string End_17        = "14:15";
extern color  Color_17      = Red;
extern string Begin_18      = "15:00";
extern string End_18        = "15:00";
extern color  Color_18      = Green;
extern string Begin_19      = "15:45";
extern string End_19        = "15:45";
extern color  Color_19      = Red;
extern string Begin_20      = "16:30";
extern string End_20        = "16:30";
extern color  Color_20      = Green;
extern string Begin_21      = "17:15";
extern string End_21        = "17:15";
extern color  Color_21      = Red;
extern string Begin_22      = "18:00";
extern string End_22        = "18:00";
extern color  Color_22      = Green;
extern string Begin_23      = "18:45";
extern string End_23        = "18:45";
extern color  Color_23      = Red;
extern string Begin_24      = "19:30";
extern string End_24        = "19:30";
extern color  Color_24      = Green;
extern string Begin_25      = "20:15";
extern string End_25        = "20:15";
extern color  Color_25      = Red;
extern string Begin_26      = "21:00";
extern string End_26        = "21:00";
extern color  Color_26      = Green;
extern string Begin_27      = "21:45";
extern string End_27        = "21:45";
extern color  Color_27      = Red;
extern string Begin_28      = "22:30";
extern string End_28        = "22:30";
extern color  Color_28      = Green;
extern string Begin_29      = "23:15";
extern string End_29        = "23:15";
extern color  Color_29      = Red;
extern string Begin_30      = "00:00";
extern string End_30        = "00:00";
extern color  Color_30      = Green;
extern string Begin_31      = "00:45";
extern string End_31        = "00:45";
extern color  Color_31      = Red;
extern string Begin_32      = "01:30";
extern string End_32        = "01:30";
extern color  Color_32      = Green;
extern bool   HighRange    = True;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() {
  DeleteObjects();
  for (int i=0; i<NumberOfDays; i++) {
   CreateObjects("PWT1"+i, Color_1);
   CreateObjects("PWT2"+i, Color_2);
   CreateObjects("PWT3"+i, Color_3);
   CreateObjects("PWT4"+i, Color_4);
   CreateObjects("PWT5"+i, Color_5);
   CreateObjects("PWT6"+i, Color_6);
   CreateObjects("PWT7"+i, Color_1);
   CreateObjects("PWT8"+i, Color_2);
   CreateObjects("PWT9"+i, Color_3);
   CreateObjects("PWT10"+i, Color_4);
   CreateObjects("PWT11"+i, Color_5);
   CreateObjects("PWT12"+i, Color_6);
   CreateObjects("PWT13"+i, Color_1);
   CreateObjects("PWT14"+i, Color_2);
   CreateObjects("PWT15"+i, Color_3);
   CreateObjects("PWT16"+i, Color_4);
   CreateObjects("PWT17"+i, Color_5);
   CreateObjects("PWT18"+i, Color_6);
   CreateObjects("PWT19"+i, Color_1);
   CreateObjects("PWT20"+i, Color_2);
   CreateObjects("PWT21"+i, Color_3);
   CreateObjects("PWT22"+i, Color_4);
   CreateObjects("PWT23"+i, Color_5);
   CreateObjects("PWT24"+i, Color_6);
   CreateObjects("PWT25"+i, Color_3);
   CreateObjects("PWT26"+i, Color_4);
   CreateObjects("PWT27"+i, Color_5);
   CreateObjects("PWT28"+i, Color_6);
   CreateObjects("PWT29"+i, Color_1);
   CreateObjects("PWT30"+i, Color_2);
   CreateObjects("PWT31"+i, Color_3);
   CreateObjects("PWT32"+i, Color_4);
  }
  Comment("");
}

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
void deinit() {
  DeleteObjects();
  Comment("");
}


//+------------------------------------------------------------------+
void CreateObjects(string no, color cl) {
  ObjectCreate(no, OBJ_VLINE, 0, 0,0, 0,0);
  ObjectSet(no, OBJPROP_STYLE, STYLE_SOLID);
  ObjectSet(no, OBJPROP_COLOR, cl);
  ObjectSet(no, OBJPROP_BACK, True);
}

//+------------------------------------------------------------------+
void DeleteObjects() {
  for (int i=0; i<NumberOfDays; i++) {
     ObjectDelete("PWT1"+i);
      ObjectDelete("PWT2"+i);
      ObjectDelete("PWT3"+i);
      ObjectDelete("PWT4"+i);
      ObjectDelete("PWT5"+i);
      ObjectDelete("PWT6"+i);
      ObjectDelete("PWT7"+i);
      ObjectDelete("PWT8"+i);
      ObjectDelete("PWT9"+i);
      ObjectDelete("PWT10"+i);
      ObjectDelete("PWT11"+i);
      ObjectDelete("PWT12"+i);
      ObjectDelete("PWT13"+i);
      ObjectDelete("PWT14"+i);
      ObjectDelete("PWT15"+i);
      ObjectDelete("PWT16"+i);
      ObjectDelete("PWT17"+i);
      ObjectDelete("PWT18"+i);
      ObjectDelete("PWT19"+i);
      ObjectDelete("PWT20"+i);
      ObjectDelete("PWT21"+i);
      ObjectDelete("PWT22"+i);
      ObjectDelete("PWT23"+i);
      ObjectDelete("PWT24"+i);
      ObjectDelete("PWT25"+i);
      ObjectDelete("PWT26"+i);
      ObjectDelete("PWT27"+i);
      ObjectDelete("PWT28"+i);
      ObjectDelete("PWT29"+i);
      ObjectDelete("PWT30"+i);
      ObjectDelete("PWT31"+i);
      ObjectDelete("PWT32"+i);
    
  }
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
void start() {

  datetime dt=CurTime();

  for (int i=0; i<NumberOfDays; i++) {
          DrawObjects(dt, "PWT1"+i, Begin_1, End_1);
          DrawObjects(dt, "PWT2"+i, Begin_2, End_2);
           DrawObjects(dt, "PWT3"+i, Begin_3, End_3);
          DrawObjects(dt, "PWT4"+i, Begin_4, End_4);
          DrawObjects(dt, "PWT5"+i, Begin_5, End_5);
          DrawObjects(dt, "PWT6"+i, Begin_6, End_6);
          DrawObjects(dt, "PWT7"+i, Begin_7, End_7);
          DrawObjects(dt, "PWT8"+i, Begin_8, End_8);
           DrawObjects(dt, "PWT9"+i, Begin_9, End_9);
          DrawObjects(dt, "PWT10"+i, Begin_10, End_10);
          DrawObjects(dt, "PWT11"+i, Begin_11, End_11);
          DrawObjects(dt, "PWT12"+i, Begin_12, End_12);
           DrawObjects(dt, "PWT13"+i, Begin_13, End_13);
          DrawObjects(dt, "PWT14"+i, Begin_14, End_14);
          DrawObjects(dt, "PWT15"+i, Begin_15, End_15);
          DrawObjects(dt, "PWT16"+i, Begin_16, End_16);
          DrawObjects(dt, "PWT17"+i, Begin_17, End_17);
          DrawObjects(dt, "PWT18"+i, Begin_18, End_18);
           DrawObjects(dt, "PWT19"+i, Begin_19, End_19);
          DrawObjects(dt, "PWT20"+i, Begin_20, End_20);
          DrawObjects(dt, "PWT21"+i, Begin_21, End_21);
          DrawObjects(dt, "PWT22"+i, Begin_22, End_22);
           DrawObjects(dt, "PWT23"+i, Begin_23, End_23);
          DrawObjects(dt, "PWT24"+i, Begin_24, End_24);
          DrawObjects(dt, "PWT25"+i, Begin_25, End_25);
          DrawObjects(dt, "PWT26"+i, Begin_26, End_26);
          DrawObjects(dt, "PWT27"+i, Begin_27, End_27);
          DrawObjects(dt, "PWT28"+i, Begin_28, End_28);
           DrawObjects(dt, "PWT29"+i, Begin_29, End_29);
          DrawObjects(dt, "PWT30"+i, Begin_30, End_30);
          DrawObjects(dt, "PWT31"+i, Begin_31, End_31);
          DrawObjects(dt, "PWT32"+i, Begin_32, End_32);
    dt=decDateTradeDay(dt);
    while (TimeDayOfWeek(dt)>5) dt=decDateTradeDay(dt);
  }
}


//+------------------------------------------------------------------+
void DrawObjects(datetime dt, string no, string tb, string te) {
  datetime t1, t2;
  double   p1, p2;
  int      b1, b2;

  t1=StrToTime(TimeToStr(dt, TIME_DATE)+" "+tb);
  t2=StrToTime(TimeToStr(dt, TIME_DATE)+" "+te);
  b1=iBarShift(NULL, 0, t1);
  b2=iBarShift(NULL, 0, t2);
  p1=High[Highest(NULL, 0, MODE_HIGH, b1-b2, b2)];
  p2=Low [Lowest (NULL, 0, MODE_LOW , b1-b2, b2)];
  if (!HighRange) {p1=0; p2=2*p2;}
  ObjectSet(no, OBJPROP_TIME1 , t1);
  ObjectSet(no, OBJPROP_PRICE1, p1);
  ObjectSet(no, OBJPROP_TIME2 , t2);
  ObjectSet(no, OBJPROP_PRICE2, p2);
}


//+------------------------------------------------------------------+
datetime decDateTradeDay (datetime dt) {
  int ty=TimeYear(dt);
  int tm=TimeMonth(dt);
  int td=TimeDay(dt);
  int th=TimeHour(dt);
  int ti=TimeMinute(dt);

  td--;
  if (td==0) {
    tm--;
    if (tm==0) {
      ty--;
      tm=12;
    }
    if (tm==1 || tm==3 || tm==5 || tm==7 || tm==8 || tm==10 || tm==12) td=31;
    if (tm==2) if (MathMod(ty, 4)==0) td=29; else td=28;
    if (tm==4 || tm==6 || tm==9 || tm==11) td=30;
  }
  return(StrToTime(ty+"."+tm+"."+td+" "+th+":"+ti));
}
//+------------------------------------------------------------------+




And if you could tell us newbs how to get it on our charts!!! I would assume cut/paste into editor and then save as .mq4 and then drop it in the indicators folder in your mt4 platform? Is that about right or does mt4 have some way to render this code?

Thanks for the work on this.

<side note>

Well I margin called my demo account today for the first time this morning.

WHAT A GREAT EXPERIENCE! How else do you learn anyway? Now I gots to study my charts and figure out what I didn’t do right and make notes in my journal so I actually learn.

Off the top of my head I learned at least 4 things.

1.I am greedy. (correctly entered an upturn took my 25 pips closed the position and then greedily tried for more)

  1. I overtrade. (Need to wait for better setups)

  2. I shouldn’t have 2 positions open in 2 different pairs at the same time. (Duh, I believe I’ve heard that a few thousand times)

  3. Need better MM (Duh, I believe I’ve heard that a few thousand times)

4.25 Both trades came back and would’ve been winners I just couldn’t survive the drawdown on my puny account.

Fortunately it just set me back 2days worth of pips and i’m still ahead of where I started a week ago. Now to make it back in one huge run!!! (Just kidding) I can’t believe how enjoyable all of this is!!!

Sandpiper,
When someone hands me code like this here is what I do.

  1. Open Notepad and copy the code into it.
  2. Save the file as “Indicatorname.mq4”. (put the quotes around it or it will save it as indicatorname.mq4.txt
  3. Put this in the \mt4\experts\indicators folder on your machine.
  4. Once in there, double click on it, so that the Metaeditor opens it.
  5. Compile it.
  6. Go into Mt4 and noticed that it should be in your custom indicators.

Thanks A lot, I’ve seen other code posted but never spent the time to figure out how to get it into MT4. Hopefully its not the only thing I learn today.

MP,
Just have to say thanks. Before yesterday I could never scalp. Now that I can see the patterns, it makes it much easier. Aside from my overnight longs, I have added 5% to my account today from the 1m chart. Keep in mind this is not a ton of money, but its live.

One thing, I noticed, not all pairs always show the right motions, but when they are trending as expected based on the previous time slot, it makes the job a lot easier.

Have nt lost a trade since I stumbled upon this thread. Need any more testimonials?

Wooohooo! Go Man Go! :smiley:

Well to his credit, yes, price is the king-and I dont think retail traders using cute little indicators can rein in the price-the price will do what it has to do-and no one controls it.

But then when I trade, the LRC or the SHI channels are like neon lights in the dark-how the heck else will I knwo where my trade is headed with at least some degree of certainty? Also it is hard for some to undesratnd that the currency is cyclic-unlike stocks the currency trends and is cyclic-so I will see the same price a week, a month or a year from now-just like there is a recession and a boom- Of course, as the technicals cannot control price, they cannot also predict it totally accurately. But for some one like me with daily requirements of 10-20 pips, the channles and the overlays are the golden chutes. They are correct 9 out of 10 trades and I am in the profit.

I also strongly believe that if you cannot disagree pleasantly then better not pollute other people’s threads.

I hope that instills a lil common sense.

1Tex

You da man, Tex.

Hello Mp,

Come back soon! Just a quick question taken from your original MACD MA post. What do you consider the longer time frames, or the timeframes where the 50ema cross is effective?

Gracias

I’m going to guess 1H and up. Probably most effective at 4h and up. But I might be wrong. I’m wrong alot. Sometimes I think being wrong should be my hobby. Then I could have fun all day.

And MP, stay gone as long as you can. After all the hours you’ve logged helping us newbs, I’m sure you could use a break. Hell, I’m even sick of my stupid questions.:rolleyes: