Millionaire in 10 weeks & Conversation with broker - Psychology and Money Management | futures io social day trading
futures io futures trading


Millionaire in 10 weeks & Conversation with broker
Updated: Views / Replies:21,491 / 298
Created: by MerlinWorld Attachments:123

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 100,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors – all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you don’t need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Closed Thread
 123  
 
Thread Tools Search this Thread
 

Millionaire in 10 weeks & Conversation with broker

  #241 (permalink)
Birmingham UK
 
Trading Experience: Intermediate
Platform: NinjaTrader
Broker/Data: TST/Rithmic
Favorite Futures: YM/Gold
 
ratfink's Avatar
 
Posts: 3,652 since Dec 2012
Thanks: 17,422 given, 8,380 received


MerlinWorld View Post
Oh I will be gone way before that date, trust me on that Mike.

I live in hope, along with @mattz and @wldman, sometimes PC correctness is way overrated. I do not like the way this forum is being dragged through some rotten places. I appreciate others have more tolerance, my bad. I don't have their trading savvy but I am a bloody good programmer and system engineer and I also know tosh when I see it.


MerlinWorld View Post
YOU on the other hand will have to make the decision to delete or not this thread and kick me out.

He won't, its already number 1 in the top ten list of threads to learn how not do go about things and will be kept as lesson material.


MerlinWorld View Post
If you do, a lot of your members who hate me will be happy but the 12s if not 100s of others hidding being PMs and silently lurking around that have boosted this thread by the 1000s will be pissed because they won't know the end result of the backtests.

They won't because they already know damn well that backtests on good systems are at best unreliable indications of future success and on special bars and indicators like this they are pointless and downright misleading. Years ago we watched a similar exercise by an extremely talented and well respected member of this forum; he finally accepted that a similarly visually appealing approach actually contained ZERO programmatically useful information. i.e. no real time edge.


MerlinWorld View Post
If you don't then I will come back and post all the screenshots we come up with in our performance reports once we have them and I don't even know when we will have them. Maybe in 10 weeks there be any backtesting done yet. We'll see...

They won't mean anything...


MerlinWorld View Post
P.s I NEVER said that I was gonna be a Millionaire in 10 weeks, because well.. 10 weeks is WAYYYYYY too long for my taste. ;-D

What are you saying then?

Travel Well
Visit my futures io Trade Journal
The following 9 users say Thank You to ratfink for this post:
 
  #242 (permalink)
Detroit MI/USA
 
Trading Experience: Advanced
Platform: Tradestation
Favorite Futures: All Futures
 
Posts: 13 since Sep 2017
Thanks: 3 given, 30 received

I haven't spent much time on this forum in the past but checked in due to Mike's email about this thread. After reading through this thread, I might spend some more time here as I might be missing out on some great bunfights and some sage discussions regarding trading. This thread has been quite amusing to say the least.

I am quite bemused at how experienced traders are getting so bent out of shape owing to what Merlin is attempting to do and how he is responding to some of the advice/posts.
As traders, we have all been through the ringer at some time in our career, and some of us, fortunately, have come out the other side successfully. Some haven't yet found their own success, but are seeking it in whichever way they believe they need to. Fellow traders can assist, give advice and attempt to help, but if someone is not willing to accept all that, so be it. It is unnecessary to kick and shout and insult in order to "ensure" our advice is heard and taken to heart. If the recipient of our advice chooses to continue along the pathway they believe is correct, they should be allowed to.
By threatening, sulking and throwing tantrums by trying to get Merlin banned is really quite silly - that's what 2 year old kids do - we as adults and actually more so as traders, should have or develop far thicker skins. We should not be offended so quickly - there is far too much other strife in the world than adding to it in a traders forum.

I personally believe, and for me it was an actual defining moment in my trading career, that you have to hit rock bottom, with multitudes of errors in various aspects of one's trading (be it strategy related, money management related or most importantly psychologically related) before you can actually see the forest for the trees and become a successful trader. It is the ultimate journey that one needs to traverse to become successful. Same as drug addicts and alcoholics - they have to hit rock bottom before they eventually turn the corner. It might be how our genetic makeup is woven into us!

This thread, like any others, should be allowed to run its course and let Merlin meet all the demons that are waiting at the end of the journey. If he manages to see through those and fight through them, he might become a successful trader. If not, he can simply just join the huge heap of wannabees who unfortunately couldn't make it in the hardest career on the planet.
Everyone should just relax, get the popcorn and read whichever threads they find interesting. I have to say I have sat reading this thread with a smile on my face! Thanks to all those that have posted.

The following 10 users say Thank You to TraderDoc007 for this post:
 
  #243 (permalink)
Montreal
 
 
Posts: 128 since Jan 2013



ratfink View Post
I do not like the way this forum is being dragged through some rotten places. I appreciate others have more tolerance, my bad.

I couldn't agree more. If I was the admin of this forum, pretty much page 2 and up would have been deleted right now because as we speak, it's already over for whatever we can talk about.

NOBODY is going to read 25 pages of bitching so we lost 90% of the people who are coming on page 1.


ratfink View Post
What are you saying then?

The Millionaire in 10 weeks was based in my 2014 research that was on Forex where I would need to make 26.5 pip on a daily basis so that I could get enough profit $ to buy a 2nd Forex Lot costing $1,300 at that time.

Today, I don't trade Forex, I trade Futures and even that evolved a lot since 2014. Not only the Mini Russell Contract (RTY) has doubled it's daily range but today, you can even buy a Micro Russell Contract (M2K) for just $25!!!

As I was explaining on page 1, each ticks pays $0.50 so 50 ticks in the right direction and you have made a $25 profit and can now be able to buy a 2nd M2K contract.

So technically speaking, if we would make that 5 pts profit (100% ROI) on a daily basis and don't lose too one of those 5 pts (100% DrawDown) then it wouldn't take us 3 weeks (16 doublings) to reach the Million.

Now before you all jump on me and call me a moron or dreamer, I need to say that EVEN if we make our 5 pts on most trading days, we will still won't be able to get to the Million $ by doubling our contracts. Sooner or later we will hit a wall where when we get in with 100+ contracts things are turning against us and the slippage becomes too big, the volatility of the RTY, believe it or not won't be able to handle it.


Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Here's a screen of my 2 ticks Renko bars near the close at 4 Pm. You can see that even when everybody is getting out, we don't get passed the 500 trades on the same tick meaning that if you buy 256, 512, 1024 or 2048 contracts (see diagram below) like we need to buy to go from $500K to $1M, we won't be filled instantly and look at the drop in price in just those 5-6 bars, 1 full point was lost.

Conclusion, Tim was right and we will need to lock in our contracts to get there and as to HOW LONG we will get there, only a good trading system will let us do it and only the backtesting will confirm this. Right now, I have no clue how long it will take becuse I don't have Tim's system.

Btw, what are you saying? That any strategy and backtesting won't work, and everything is doomed to fail?

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Last edited by MerlinWorld; August 2nd, 2019 at 01:55 PM.
 
  #244 (permalink)
Montreal
 
 
Posts: 128 since Jan 2013

Merlin 2 Clouds Indicator Code

Yes I know, I have already a thread talking about this but not everyone has the time nor the interest to hear 25 pages of pickering and bitching to reach the part where I start sharing the code I have and the code I get form other programmers.

If Big Mike or any other admin would be willing to delete the last 24 pages of us arguing then I would post it there but nobody will see it. So before any admin move this page or merge it with the Millionaire in 10 weeks thread, PLEASE wait a couple of days so that the most people will be able to see before it gets lost on page 25 or 26 of an already messy thread.

Before I post the code, you need to understand the logic of this indicator and why I think it's by far the best indicator I've seen and trust me, after 14 years spent on the TradeStation forum which is "Indicator, strategy and backtesting" HEAVEN for any programmer out trade.

First, my 2 clouds indicator does NOT LAG like 99.999% of the other (Price Channel) indicators out there.

Why is that?

It's because indicators are usually based on previous X number of bars back. So if you have a 50 MA on your chart, that Moving Average has is calculated on the previous 50 bars AND THAT... makes it lag.

It's the same with most price channel indicators out there (Keltner, Bollinger Bands, Donchian Channel, etc..). They are all based on previous bars, not mine.

Mine is based on a FIXED PRICE VALUE.

As you can see, the upper and lower bands of the channel stay parallel during all this climb...

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Here's another price channel (keltner), noticed how it it smoothly curved. This is caused by making an "average" of previous bars and because of that it lags.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Here's a closer shot of what happens on my price channel.

At the beginning, the channel was blue because we were coming out of a downtrend but look what happened when the price moved back up inside the channel and moved 1 BAR above the upperband...down to the very last tick of that bar... BOOM the 5 pt fixed price of the channel has been crossed and therefore, the whole channel changes color from blue to white and the center line also changed from red to green.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


In other words, when the trend changes direction and hits a SPECIFIC FIXED PRICE for that channel, the channel changes color and indicates a trend direction change.

One common line that I heard 100 times throughout my 15 years in this trading business is...

"First..FIND THE TREND and then BUY THE DIPs"

Well when you load this indicator on your charts, the first thing you will notice is how good it is to spot the big trend (when there is one of course). If the market makes a big move that indicator will catch it and fairly early.

So what I did is remove the upper and lower bands of that channel and only kept the red/green center line that I call my Merlin Squared MA.

Then I used 4 of those Squared MA and for now the settings are 6 and 8 pts for the faster TF cloud (light blue and white) and 10 and 12 pts for the slower TF cloud (gray and dark blue).

You end up with this on your 0.2 pt high Renko bar chart.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Now yesterday, Sevak (1 of the programmer working with me at converting this EasyLanguage indicator code) was able to convert it in C# and it seems to be working fine on NinjaTrader (NT8) as you can see... his chart is right smack on the nose because our chart looks the same.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


However, when I loaded it into my MultiChart (.NET version) editor, I got all these errors...

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Now before you tell me to go with the version of MultiCharts that accept EasyLanguage, you need to understand that both version of MC cost $1,500 each but with my new broker (Amp Futures), you can get the .NET version for free with no monthly fee!

Because I like"FREE STUFF" and knowing that people who are interested in trading but don't have millions to throw away, they will be happy to go with this free MC version however, I will still need some help to convert it and debug it for MC too.

So first, here's the EasyLanguage code for those who have TradeStation or MultiCharts w/EasyLanguage...

 
Code
Input: S_TF(True),X(6),X2(8),M_TF(True),X3(10),X4(12),C1(White),C2(RGB(24,117,231)),C3(DarkGray),C4(DarkBlue);  

variables: HH(0),LL(0),Midline(0),MidColor(0),HH2(0),LL2(0),Midline2(0),MidColor2(0),HH3(0),LL3(0),Midline3(0),MidColor3(0),HH4(0),LL4(0),Midline4(0),MidColor4(0);

If High >= HH then 
HH = high;
		
If LL < (HH - X) then
LL = HH - X;

If Low <= LL then
LL = low;

If HH > (LL + X) then
HH = LL + X;

Midline = (HH + LL)/2;

If High >= HH2 then 
HH2 = high;
		
If LL2 < (HH2 - X2) then
LL2 = HH2 - X2;

If Low <= LL2 then
LL2 = low;

If HH2 > (LL2 + X2) then
HH2 = LL2 + X2;

Midline2 = (HH2 + LL2)/2;

If High >= HH3 then 
HH3 = high;
		
If LL3 < (HH3 - X3) then
LL3 = HH3 - X3;

If Low <= LL3 then
LL3 = low;

If HH3 > (LL3 + X3) then
HH3 = LL3 + X3;

Midline3 = (HH3 + LL3)/2;

If High >= HH4 then 
HH4 = high;
		
If LL4 < (HH4 - X4) then
LL4 = HH4 - X4;

If Low <= LL4 then
LL4 = low;

If HH4 > (LL4 + X4) then
HH4 = LL4 + X4;

Midline4 = (HH4 + LL4)/2;


If Midline > Midline2 then begin
MidColor = C1;
End
Else
If Midline < Midline2 then begin
MidColor = C2;
End;


If Midline >= Midline3 then begin
MidColor2 = C3;
End
Else
If Midline <= Midline3 then begin
MidColor2 = C4;
End;


// Plots

If S_TF = True Then begin
plot1(Midline,"Midline",Midcolor);
Plot2(Midline2,"Midline2",Midcolor);
End;

If M_TF = True Then begin
plot3(Midline3,"Midline3",Midcolor2);
Plot4(Midline4,"Midline4",Midcolor2);
End;

And here's the code for NinjaTrader.


 
Code
#region Using declarations
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Gui;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Gui.SuperDom;
using NinjaTrader.Gui.Tools;
using NinjaTrader.Data;
using NinjaTrader.NinjaScript;
using NinjaTrader.Core.FloatingPoint;
using NinjaTrader.NinjaScript.DrawingTools;
#endregion

//This namespace holds Indicators in this folder and is required. Do not change it. 
namespace NinjaTrader.NinjaScript.Indicators
{
	public class _Merlin_2Clouds : Indicator
	{
		protected override void OnStateChange()
		{
			if (State == State.SetDefaults)
			{
				Description									= @"Merlin 2 Clouds Indicator";
				Name										= "_Merlin_2Clouds";
				Calculate									= Calculate.OnBarClose;
				IsOverlay									= true;
				DisplayInDataBox							= true;
				DrawOnPricePanel							= true;
				DrawHorizontalGridLines						= true;
				DrawVerticalGridLines						= true;
				PaintPriceMarkers							= true;
				ScaleJustification							= NinjaTrader.Gui.Chart.ScaleJustification.Right;
				//Disable this property if your indicator requires custom values that cumulate with each new market data event. 
				//See Help Guide for additional information.
				IsSuspendedWhileInactive					= true;

				Range1	= 6;
				Range2	= 8;
				Range3	= 10;
				Range4	= 12;
				
				ShowST = true ;
				ShowMT = true ;
				
				BandOpacity = 50 ;

				AddPlot(Brushes.Transparent, "MM1");
				AddPlot(Brushes.Transparent, "MM2");
				AddPlot(Brushes.Transparent, "MM3");
				AddPlot(Brushes.Transparent, "MM4");
			}
			else if (State == State.Configure)
			{
			}
		}

		System.Windows.Media.Brush color1 = Brushes.White ;
		System.Windows.Media.Brush color2 = Brushes.DeepSkyBlue ;
		System.Windows.Media.Brush color3 = Brushes.DimGray ;
		System.Windows.Media.Brush color4 = Brushes.Blue ;
		
		double hh1 = 0 ;
		double ll1 = 0 ;
		
		double hh2 = 0 ;
		double ll2 = 0 ;

		double hh3 = 0 ;
		double ll3 = 0 ;

		double hh4 = 0 ;
		double ll4 = 0 ;

		int sregnum = 0 ;
		int mregnum = 0 ;

		DateTime start_time1 ;
		DateTime start_time2 ;
		
		System.Windows.Media.Brush pcolor1 = Brushes.Transparent ;
		System.Windows.Media.Brush pcolor2 = Brushes.Transparent ;
		
		protected override void OnBarUpdate()
		{
			if( CurrentBar == 0 ) { start_time1 = Time[0] ; start_time2 = Time[0] ; }
			
			if( High[0] >= hh1 )			{ hh1 = High[0] ; }
			if( ll1 < ( hh1 - Range1 ))		{ ll1 = hh1 - Range1 ; }
			if( Low[0] <= ll1 )				{ ll1 = Low[0] ; }
			if( hh1 > ( ll1 + Range1 ) )	{ hh1 = ll1 + Range1 ; }
			MM1[0] = ( hh1 + ll1 ) / 2 ; ;
			
			if( High[0] >= hh2 )			{ hh2 = High[0] ; }
			if( ll2 < ( hh2 - Range2 )	)	{ ll2 = hh2 - Range2 ; }
			if( Low[0] <= ll2 )				{ ll2 = Low[0] ; }
			if( hh2 > ( ll2 + Range2 ) )	{ hh2 = ll2 + Range2 ; }
			MM2[0] = ( hh2 + ll2 ) / 2 ;

			if( High[0] >= hh3 )			{ hh3 = High[0] ; }
			if( ll3 < ( hh3 - Range3 )	)	{ ll3 = hh3 - Range3 ; }
			if( Low[0] <= ll3 )				{ ll3 = Low[0] ; }
			if( hh3 > ( ll3 + Range3 ) )	{ hh3 = ll3 + Range3 ; }
			MM3[0] = ( hh3 + ll3 ) / 2 ;

			if( High[0] >= hh4 )			{ hh4 = High[0] ; }
			if( ll4 < ( hh4 - Range4 )	)	{ ll4 = hh4 - Range4 ; }
			if( Low[0] <= ll4 )				{ ll4 = Low[0] ; }
			if( hh4 > ( ll4 + Range4 ) )	{ hh4 = ll4 + Range4 ; }
			MM4[0] = ( hh4 + ll4 ) / 2 ;

			if( CurrentBar < 5 ) { return ; }
			
			System.Windows.Media.Brush mycolor1 = MM1[0] > MM2[0] ? color1 : color2 ;
			System.Windows.Media.Brush mycolor2 = MM1[0] > MM3[0] ? color3 : color4 ;
			
			if( pcolor1 != mycolor1 )
			{
				start_time1 = Time[0] ;
				sregnum++ ;
			}
			pcolor1 = mycolor1 ;
			
			if( pcolor2 != mycolor2 )
			{
				start_time2 = Time[0] ;
				mregnum++ ;
			}
			pcolor2 = mycolor2 ;

			if( ShowST ) { Draw.Region(this,"SREG"+sregnum,start_time1,Time[0],MM1,MM2,null,mycolor1,BandOpacity); }
			if( ShowMT ) { Draw.Region(this,"MREG"+mregnum,start_time2,Time[0],MM3,MM4,null,mycolor2,BandOpacity); }
		}

		#region Properties
		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range1", Description="(Short term) Range1 in Points", Order=1, GroupName="Parameters")]
		public int Range1
		{ get; set; }

		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range2", Description="(Short term) Range2 in Points", Order=2, GroupName="Parameters")]
		public int Range2
		{ get; set; }

		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range3", Description="(Medium term) Range3 in Points", Order=3, GroupName="Parameters")]
		public int Range3
		{ get; set; }

		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range4", Description="(Medium term) Range4 in Points", Order=4, GroupName="Parameters")]
		public int Range4
		{ get; set; }

		[NinjaScriptProperty]
		[Display(Name="Show short term band", Description="Show or hide the short term band.", Order=5, GroupName="Parameters")]
		public bool ShowST
		{ get; set; }

		[NinjaScriptProperty]
		[Display(Name="Show medium term band", Description="Show or hide the medium term band.", Order=6, GroupName="Parameters")]
		public bool ShowMT
		{ get; set; }
		
		[NinjaScriptProperty]
		[Range(0, 100)]
		[Display(Name="Band opacity", Description="Band Opacity (0-100)", Order=7, GroupName="Parameters")]
		public int BandOpacity
		{ get; set; }

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM1
		{
			get { return Values[0]; }
		}

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM2
		{
			get { return Values[1]; }
		}

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM3
		{
			get { return Values[2]; }
		}

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM4
		{
			get { return Values[3]; }
		}

		#endregion

	}
}

#region NinjaScript generated code. Neither change nor remove.

namespace NinjaTrader.NinjaScript.Indicators
{
	public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase
	{
		private _Merlin_2Clouds[] cache_Merlin_2Clouds;
		public _Merlin_2Clouds _Merlin_2Clouds(int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return _Merlin_2Clouds(Input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}

		public _Merlin_2Clouds _Merlin_2Clouds(ISeries<double> input, int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			if (cache_Merlin_2Clouds != null)
				for (int idx = 0; idx < cache_Merlin_2Clouds.Length; idx++)
					if (cache_Merlin_2Clouds[idx] != null && cache_Merlin_2Clouds[idx].Range1 == range1 && cache_Merlin_2Clouds[idx].Range2 == range2 && cache_Merlin_2Clouds[idx].Range3 == range3 && cache_Merlin_2Clouds[idx].Range4 == range4 && cache_Merlin_2Clouds[idx].ShowST == showST && cache_Merlin_2Clouds[idx].ShowMT == showMT && cache_Merlin_2Clouds[idx].BandOpacity == bandOpacity && cache_Merlin_2Clouds[idx].EqualsInput(input))
						return cache_Merlin_2Clouds[idx];
			return CacheIndicator<_Merlin_2Clouds>(new _Merlin_2Clouds(){ Range1 = range1, Range2 = range2, Range3 = range3, Range4 = range4, ShowST = showST, ShowMT = showMT, BandOpacity = bandOpacity }, input, ref cache_Merlin_2Clouds);
		}
	}
}

namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
{
	public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
	{
		public Indicators._Merlin_2Clouds _Merlin_2Clouds(int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(Input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}

		public Indicators._Merlin_2Clouds _Merlin_2Clouds(ISeries<double> input , int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}
	}
}

namespace NinjaTrader.NinjaScript.Strategies
{
	public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase
	{
		public Indicators._Merlin_2Clouds _Merlin_2Clouds(int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(Input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}

		public Indicators._Merlin_2Clouds _Merlin_2Clouds(ISeries<double> input , int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}
	}
}

#endregion

At the time I write this post, this is a screenshot of what you should see on today's chart if you set your bars to 0.3 pt Renko bars on a M2K (Micro Russell 2000) chart.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Once again, don't get too excited, NO INDICATOR alone will make you rich. To make it big you need an ENTIRE ROBUST TRADING SYSTEM.

So if a programmer out there who have Multicharts .NET version and know C#, maybe you can take the C# of the NinjaTrader that seems to work and debug it so that it fits on MC too.

Then we will start to mastermind on he best entries we can find using this indicator.

 
  #245 (permalink)
Montreal
 
 
Posts: 128 since Jan 2013

If you managed to read all 25 pages, you are a saint (or just love drama) but sadly, based on experience as forum admin, I know that very few people get passed the 2-3 first pages ESPECIALLY if those first 3 pages are constant bitching so I create a new thread and posted the code for my 2 Clouds Indicator (for both TradeStation and NinjaTrader).

https://futures.io/psychology-money-management/47679-merlin-2-clouds-indicator-code.html

So if you follow this thread since page 1 good here the link to it, if you don't then you will find it at the top of this

https://futures.io/psychology-money-management/

Hope you like it. Let me know if you can see the indicator lines on your chart.

Merlin

 
  #246 (permalink)
Site Administrator
Manta, Ecuador
 
Trading Experience: Advanced
Platform: My own custom solution
Favorite Futures: E-mini ES S&P 500
 
Big Mike's Avatar
 
Posts: 47,709 since Jun 2009
Thanks: 30,426 given, 90,358 received


MerlinWorld View Post
Yes I know, I have already a thread talking about this but not everyone has the time nor the interest to hear 25 pages of pickering and bitching to reach the part where I start sharing the code I have and the code I get form other programmers.

Please stop creating duplicate threads. Anything to do with this topic shall remain here in one single thread, everyone can read it or not read it, it's up to them. But we won't split the topic.

Mike

Due to time constraints, please do not PM me if your question can be resolved or answered on the forum.

Need help?
1) Stop changing things. No new indicators, charts, or methods. Be consistent with what is in front of you first.
2) Start a journal and post to it daily with the trades you made to show your strengths and weaknesses.
3) Set goals for yourself to reach daily. Make them about how you trade, not how much money you make.
4) Accept responsibility for your actions. Stop looking elsewhere to explain away poor performance.
5) Where to start as a trader? Watch this webinar and read this thread for hundreds of questions and answers.
6)
Help using the forum? Watch this video to learn general tips on using the site.

If you want
to support our community, become an Elite Member (see why)

Follow me on Twitter Visit my Facebook Visit my futures io Trade Journal
The following user says Thank You to Big Mike for this post:
 
  #247 (permalink)
Richmond Virginia
 
Trading Experience: Intermediate
Platform: Ninja Trader
Favorite Futures: ES
 
Posts: 291 since Feb 2013
Thanks: 250 given, 129 received


MerlinWorld View Post
Yes I know, I have already a thread talking about this but not everyone has the time nor the interest to hear 25 pages of pickering and bitching to reach the part where I start sharing the code I have and the code I get form other programmers.

If Big Mike or any other admin would be willing to delete the last 24 pages of us arguing then I would post it there but nobody will see it. So before any admin move this page or merge it with the Millionaire in 10 weeks thread, PLEASE wait a couple of days so that the most people will be able to see before it gets lost on page 25 or 26 of an already messy thread.

Before I post the code, you need to understand the logic of this indicator and why I think it's by far the best indicator I've seen and trust me, after 14 years spent on the TradeStation forum which is "Indicator, strategy and backtesting" HEAVEN for any programmer out trade.

First, my 2 clouds indicator does NOT LAG like 99.999% of the other (Price Channel) indicators out there.

Why is that?

It's because indicators are usually based on previous X number of bars back. So if you have a 50 MA on your chart, that Moving Average has is calculated on the previous 50 bars AND THAT... makes it lag.

It's the same with most price channel indicators out there (Keltner, Bollinger Bands, Donchian Channel, etc..). They are all based on previous bars, not mine.

Mine is based on a FIXED PRICE VALUE.

As you can see, the upper and lower bands of the channel stay parallel during all this climb...

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Here's another price channel (keltner), noticed how it it smoothly curved. This is caused by making an "average" of previous bars and because of that it lags.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Here's a closer shot of what happens on my price channel.

At the beginning, the channel was blue because we were coming out of a downtrend but look what happened when the price moved back up inside the channel and moved 1 BAR above the upperband...down to the very last tick of that bar... BOOM the 5 pt fixed price of the channel has been crossed and therefore, the whole channel changes color from blue to white and the center line also changed from red to green.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


In other words, when the trend changes direction and hits a SPECIFIC FIXED PRICE for that channel, the channel changes color and indicates a trend direction change.

One common line that I heard 100 times throughout my 15 years in this trading business is...

"First..FIND THE TREND and then BUY THE DIPs"

Well when you load this indicator on your charts, the first thing you will notice is how good it is to spot the big trend (when there is one of course). If the market makes a big move that indicator will catch it and fairly early.

So what I did is remove the upper and lower bands of that channel and only kept the red/green center line that I call my Merlin Squared MA.

Then I used 4 of those Squared MA and for now the settings are 6 and 8 pts for the faster TF cloud (light blue and white) and 10 and 12 pts for the slower TF cloud (gray and dark blue).

You end up with this on your 0.2 pt high Renko bar chart.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Now yesterday, Sevak (1 of the programmer working with me at converting this EasyLanguage indicator code) was able to convert it in C# and it seems to be working fine on NinjaTrader (NT8) as you can see... his chart is right smack on the nose because our chart looks the same.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


However, when I loaded it into my MultiChart (.NET version) editor, I got all these errors...

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Now before you tell me to go with the version of MultiCharts that accept EasyLanguage, you need to understand that both version of MC cost $1,500 each but with my new broker (Amp Futures), you can get the .NET version for free with no monthly fee!

Because I like"FREE STUFF" and knowing that people who are interested in trading but don't have millions to throw away, they will be happy to go with this free MC version however, I will still need some help to convert it and debug it for MC too.

So first, here's the EasyLanguage code for those who have TradeStation or MultiCharts w/EasyLanguage...

 
Code
Input: S_TF(True),X(6),X2(8),M_TF(True),X3(10),X4(12),C1(White),C2(RGB(24,117,231)),C3(DarkGray),C4(DarkBlue);  

variables: HH(0),LL(0),Midline(0),MidColor(0),HH2(0),LL2(0),Midline2(0),MidColor2(0),HH3(0),LL3(0),Midline3(0),MidColor3(0),HH4(0),LL4(0),Midline4(0),MidColor4(0);

If High >= HH then 
HH = high;
		
If LL < (HH - X) then
LL = HH - X;

If Low <= LL then
LL = low;

If HH > (LL + X) then
HH = LL + X;

Midline = (HH + LL)/2;

If High >= HH2 then 
HH2 = high;
		
If LL2 < (HH2 - X2) then
LL2 = HH2 - X2;

If Low <= LL2 then
LL2 = low;

If HH2 > (LL2 + X2) then
HH2 = LL2 + X2;

Midline2 = (HH2 + LL2)/2;

If High >= HH3 then 
HH3 = high;
		
If LL3 < (HH3 - X3) then
LL3 = HH3 - X3;

If Low <= LL3 then
LL3 = low;

If HH3 > (LL3 + X3) then
HH3 = LL3 + X3;

Midline3 = (HH3 + LL3)/2;

If High >= HH4 then 
HH4 = high;
		
If LL4 < (HH4 - X4) then
LL4 = HH4 - X4;

If Low <= LL4 then
LL4 = low;

If HH4 > (LL4 + X4) then
HH4 = LL4 + X4;

Midline4 = (HH4 + LL4)/2;


If Midline > Midline2 then begin
MidColor = C1;
End
Else
If Midline < Midline2 then begin
MidColor = C2;
End;


If Midline >= Midline3 then begin
MidColor2 = C3;
End
Else
If Midline <= Midline3 then begin
MidColor2 = C4;
End;


// Plots

If S_TF = True Then begin
plot1(Midline,"Midline",Midcolor);
Plot2(Midline2,"Midline2",Midcolor);
End;

If M_TF = True Then begin
plot3(Midline3,"Midline3",Midcolor2);
Plot4(Midline4,"Midline4",Midcolor2);
End;

And here's the code for NinjaTrader.


 
Code
#region Using declarations
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Gui;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Gui.SuperDom;
using NinjaTrader.Gui.Tools;
using NinjaTrader.Data;
using NinjaTrader.NinjaScript;
using NinjaTrader.Core.FloatingPoint;
using NinjaTrader.NinjaScript.DrawingTools;
#endregion

//This namespace holds Indicators in this folder and is required. Do not change it. 
namespace NinjaTrader.NinjaScript.Indicators
{
	public class _Merlin_2Clouds : Indicator
	{
		protected override void OnStateChange()
		{
			if (State == State.SetDefaults)
			{
				Description									= @"Merlin 2 Clouds Indicator";
				Name										= "_Merlin_2Clouds";
				Calculate									= Calculate.OnBarClose;
				IsOverlay									= true;
				DisplayInDataBox							= true;
				DrawOnPricePanel							= true;
				DrawHorizontalGridLines						= true;
				DrawVerticalGridLines						= true;
				PaintPriceMarkers							= true;
				ScaleJustification							= NinjaTrader.Gui.Chart.ScaleJustification.Right;
				//Disable this property if your indicator requires custom values that cumulate with each new market data event. 
				//See Help Guide for additional information.
				IsSuspendedWhileInactive					= true;

				Range1	= 6;
				Range2	= 8;
				Range3	= 10;
				Range4	= 12;
				
				ShowST = true ;
				ShowMT = true ;
				
				BandOpacity = 50 ;

				AddPlot(Brushes.Transparent, "MM1");
				AddPlot(Brushes.Transparent, "MM2");
				AddPlot(Brushes.Transparent, "MM3");
				AddPlot(Brushes.Transparent, "MM4");
			}
			else if (State == State.Configure)
			{
			}
		}

		System.Windows.Media.Brush color1 = Brushes.White ;
		System.Windows.Media.Brush color2 = Brushes.DeepSkyBlue ;
		System.Windows.Media.Brush color3 = Brushes.DimGray ;
		System.Windows.Media.Brush color4 = Brushes.Blue ;
		
		double hh1 = 0 ;
		double ll1 = 0 ;
		
		double hh2 = 0 ;
		double ll2 = 0 ;

		double hh3 = 0 ;
		double ll3 = 0 ;

		double hh4 = 0 ;
		double ll4 = 0 ;

		int sregnum = 0 ;
		int mregnum = 0 ;

		DateTime start_time1 ;
		DateTime start_time2 ;
		
		System.Windows.Media.Brush pcolor1 = Brushes.Transparent ;
		System.Windows.Media.Brush pcolor2 = Brushes.Transparent ;
		
		protected override void OnBarUpdate()
		{
			if( CurrentBar == 0 ) { start_time1 = Time[0] ; start_time2 = Time[0] ; }
			
			if( High[0] >= hh1 )			{ hh1 = High[0] ; }
			if( ll1 < ( hh1 - Range1 ))		{ ll1 = hh1 - Range1 ; }
			if( Low[0] <= ll1 )				{ ll1 = Low[0] ; }
			if( hh1 > ( ll1 + Range1 ) )	{ hh1 = ll1 + Range1 ; }
			MM1[0] = ( hh1 + ll1 ) / 2 ; ;
			
			if( High[0] >= hh2 )			{ hh2 = High[0] ; }
			if( ll2 < ( hh2 - Range2 )	)	{ ll2 = hh2 - Range2 ; }
			if( Low[0] <= ll2 )				{ ll2 = Low[0] ; }
			if( hh2 > ( ll2 + Range2 ) )	{ hh2 = ll2 + Range2 ; }
			MM2[0] = ( hh2 + ll2 ) / 2 ;

			if( High[0] >= hh3 )			{ hh3 = High[0] ; }
			if( ll3 < ( hh3 - Range3 )	)	{ ll3 = hh3 - Range3 ; }
			if( Low[0] <= ll3 )				{ ll3 = Low[0] ; }
			if( hh3 > ( ll3 + Range3 ) )	{ hh3 = ll3 + Range3 ; }
			MM3[0] = ( hh3 + ll3 ) / 2 ;

			if( High[0] >= hh4 )			{ hh4 = High[0] ; }
			if( ll4 < ( hh4 - Range4 )	)	{ ll4 = hh4 - Range4 ; }
			if( Low[0] <= ll4 )				{ ll4 = Low[0] ; }
			if( hh4 > ( ll4 + Range4 ) )	{ hh4 = ll4 + Range4 ; }
			MM4[0] = ( hh4 + ll4 ) / 2 ;

			if( CurrentBar < 5 ) { return ; }
			
			System.Windows.Media.Brush mycolor1 = MM1[0] > MM2[0] ? color1 : color2 ;
			System.Windows.Media.Brush mycolor2 = MM1[0] > MM3[0] ? color3 : color4 ;
			
			if( pcolor1 != mycolor1 )
			{
				start_time1 = Time[0] ;
				sregnum++ ;
			}
			pcolor1 = mycolor1 ;
			
			if( pcolor2 != mycolor2 )
			{
				start_time2 = Time[0] ;
				mregnum++ ;
			}
			pcolor2 = mycolor2 ;

			if( ShowST ) { Draw.Region(this,"SREG"+sregnum,start_time1,Time[0],MM1,MM2,null,mycolor1,BandOpacity); }
			if( ShowMT ) { Draw.Region(this,"MREG"+mregnum,start_time2,Time[0],MM3,MM4,null,mycolor2,BandOpacity); }
		}

		#region Properties
		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range1", Description="(Short term) Range1 in Points", Order=1, GroupName="Parameters")]
		public int Range1
		{ get; set; }

		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range2", Description="(Short term) Range2 in Points", Order=2, GroupName="Parameters")]
		public int Range2
		{ get; set; }

		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range3", Description="(Medium term) Range3 in Points", Order=3, GroupName="Parameters")]
		public int Range3
		{ get; set; }

		[NinjaScriptProperty]
		[Range(1, int.MaxValue)]
		[Display(Name="Range4", Description="(Medium term) Range4 in Points", Order=4, GroupName="Parameters")]
		public int Range4
		{ get; set; }

		[NinjaScriptProperty]
		[Display(Name="Show short term band", Description="Show or hide the short term band.", Order=5, GroupName="Parameters")]
		public bool ShowST
		{ get; set; }

		[NinjaScriptProperty]
		[Display(Name="Show medium term band", Description="Show or hide the medium term band.", Order=6, GroupName="Parameters")]
		public bool ShowMT
		{ get; set; }
		
		[NinjaScriptProperty]
		[Range(0, 100)]
		[Display(Name="Band opacity", Description="Band Opacity (0-100)", Order=7, GroupName="Parameters")]
		public int BandOpacity
		{ get; set; }

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM1
		{
			get { return Values[0]; }
		}

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM2
		{
			get { return Values[1]; }
		}

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM3
		{
			get { return Values[2]; }
		}

		[Browsable(false)]
		[XmlIgnore]
		public Series<double> MM4
		{
			get { return Values[3]; }
		}

		#endregion

	}
}

#region NinjaScript generated code. Neither change nor remove.

namespace NinjaTrader.NinjaScript.Indicators
{
	public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase
	{
		private _Merlin_2Clouds[] cache_Merlin_2Clouds;
		public _Merlin_2Clouds _Merlin_2Clouds(int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return _Merlin_2Clouds(Input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}

		public _Merlin_2Clouds _Merlin_2Clouds(ISeries<double> input, int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			if (cache_Merlin_2Clouds != null)
				for (int idx = 0; idx < cache_Merlin_2Clouds.Length; idx++)
					if (cache_Merlin_2Clouds[idx] != null && cache_Merlin_2Clouds[idx].Range1 == range1 && cache_Merlin_2Clouds[idx].Range2 == range2 && cache_Merlin_2Clouds[idx].Range3 == range3 && cache_Merlin_2Clouds[idx].Range4 == range4 && cache_Merlin_2Clouds[idx].ShowST == showST && cache_Merlin_2Clouds[idx].ShowMT == showMT && cache_Merlin_2Clouds[idx].BandOpacity == bandOpacity && cache_Merlin_2Clouds[idx].EqualsInput(input))
						return cache_Merlin_2Clouds[idx];
			return CacheIndicator<_Merlin_2Clouds>(new _Merlin_2Clouds(){ Range1 = range1, Range2 = range2, Range3 = range3, Range4 = range4, ShowST = showST, ShowMT = showMT, BandOpacity = bandOpacity }, input, ref cache_Merlin_2Clouds);
		}
	}
}

namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
{
	public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
	{
		public Indicators._Merlin_2Clouds _Merlin_2Clouds(int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(Input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}

		public Indicators._Merlin_2Clouds _Merlin_2Clouds(ISeries<double> input , int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}
	}
}

namespace NinjaTrader.NinjaScript.Strategies
{
	public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase
	{
		public Indicators._Merlin_2Clouds _Merlin_2Clouds(int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(Input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}

		public Indicators._Merlin_2Clouds _Merlin_2Clouds(ISeries<double> input , int range1, int range2, int range3, int range4, bool showST, bool showMT, int bandOpacity)
		{
			return indicator._Merlin_2Clouds(input, range1, range2, range3, range4, showST, showMT, bandOpacity);
		}
	}
}

#endregion

At the time I write this post, this is a screenshot of what you should see on today's chart if you set your bars to 0.3 pt Renko bars on a M2K (Micro Russell 2000) chart.

Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).


Once again, don't get too excited, NO INDICATOR alone will make you rich. To make it big you need an ENTIRE ROBUST TRADING SYSTEM.

So if a programmer out there who have Multicharts .NET version and know C#, maybe you can take the C# of the NinjaTrader that seems to work and debug it so that it fits on MC too.

Then we will start to mastermind on he best entries we can find using this indicator.

Do you plan on posting the Ninjatrader 8 indicator for us ninja 8 users to test?

 
  #248 (permalink)
Denmark
 
Trading Experience: Intermediate
Platform: NinjaTrader
Favorite Futures: CL
 
cejstrup's Avatar
 
Posts: 90 since Jan 2014
Thanks: 1,127 given, 152 received


RickW00716 View Post
Do you plan on posting the Ninjatrader 8 indicator for us ninja 8 users to test?

Code is in the post you just quoted

To succeed in trading you need to think like the minority ,so you won't end up like the majority
 
  #249 (permalink)
Richmond Virginia
 
Trading Experience: Intermediate
Platform: Ninja Trader
Favorite Futures: ES
 
Posts: 291 since Feb 2013
Thanks: 250 given, 129 received


cejstrup View Post
Code is in the post you just quoted

Yes, I noticed that but if the indicator has already been created, I was wondering if it would be posted to save us all the time re-creating it.

The following user says Thank You to RickW00716 for this post:
 
  #250 (permalink)
Denmark
 
Trading Experience: Intermediate
Platform: NinjaTrader
Favorite Futures: CL
 
cejstrup's Avatar
 
Posts: 90 since Jan 2014
Thanks: 1,127 given, 152 received



RickW00716 View Post
Yes, I noticed that but if the indicator has already been created, I was wondering if it would be posted to save us all the time re-creating it.

Copy the text into a file. Rename it so it ends in .cs. put the file in the nt8/bin/custom/indicators folder.


In NT open a ninjascript editor and click on the file in the ninjascript explorer. Then click compile. Done.

To succeed in trading you need to think like the minority ,so you won't end up like the majority
The following 3 users say Thank You to cejstrup for this post:

Closed Thread



futures io > > > Millionaire in 10 weeks & Conversation with broker

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)
 

futures io is celebrating 10-years w/ over $18,000 in prizes!

Right now
 

$250 Amazon Gift Cards with our "Thanks Contest" challenge!

Right now
 

Using Order Flow Analysis & Longer Term Trading w/John @ No BS Trading

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
Polish central bank says tape of governor's conversation was manipulated kbit News and Current Events 0 June 15th, 2014 07:50 PM
Scientist turning Trader yeah I'd like to be a Millionaire....someday decker103 Trading Journals 12 October 30th, 2012 06:43 PM
Almost 2,400 people in millionaire homes received unemployment benefits in 2009 kbit News and Current Events 0 October 2nd, 2012 07:39 PM
Democrats Consider Dropping Millionaire Tax to Get Deal Quick Summary News and Current Events 0 December 14th, 2011 09:10 PM
Conversation on Air Force One kbit Jokes 2 June 6th, 2011 08:46 PM


All times are GMT -4. The time now is 03:20 AM. (this page content is cached, log in for real-time version)

Copyright © 2020 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts