Symmetry - futures io
futures io futures trading



Symmetry


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one Maletor with 11 posts (3 thanks)
    2. looks_two Big Mike with 6 posts (0 thanks)
    3. looks_3 Todd with 4 posts (0 thanks)
    4. looks_4 kronie with 2 posts (0 thanks)
    1. trending_up 10,122 views
    2. thumb_up 3 thanks given
    3. group 6 followers
    1. forum 25 posts
    2. attach_file 9 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 125,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
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

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

 
Search this Thread
 

Symmetry

(login for full post details)
  #1 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

Here is my version of Mike's Symmetry.
My back test only goes back to 6/3 without crashing.

Maybe that's because I'm using a tick chart or who knows. It would be nice if it could go further back.

Anyways, I've been trying to optimize this to be more profitable. Right now it's pretty much break-even.

It could be that a 3 point simple bracket is not the right idea.

You're free to use this code as you like. Maybe if we can all work on it together we will finally come up with the Holy Grail

 
Code
#region Using declarations
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Data;
using NinjaTrader.Indicator;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Strategy;
#endregion

// This namespace holds all strategies and is required. Do not change it.
namespace NinjaTrader.Strategy
{
    /// <summary>
    /// Enter the description of your strategy here
    /// </summary>
    [Description("Enter the description of your strategy here")]
    public class Symmetry : Strategy
    {
        #region Variables
        // Wizard generated variables
        private int myInput0 = 1; // Default setting for MyInput0
        // User defined variables (add any user defined variables below)
        #endregion

        /// <summary>
        /// This method is used to configure the strategy and is called once before any strategy method is called.
        /// </summary>
        protected override void Initialize()
        {
            SetProfitTarget("", CalculationMode.Ticks, 16);
            SetStopLoss("", CalculationMode.Ticks, 16, false);
            
            TraceOrders = true;
            CalculateOnBarClose = true;
        }

        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            // For direction
            if(direction == "long")
                if(Close[0] < DoubleMA(34, NinjaTrader.Indicator.MAV.MAType.ADXVMA, 34, NinjaTrader.Indicator.MAV.MAType.EMA).RisingPlot[0]) 
                    direction = null;
                
            if(direction == "short")
                if(Close[0] > DoubleMA(34, NinjaTrader.Indicator.MAV.MAType.ADXVMA, 34, NinjaTrader.Indicator.MAV.MAType.EMA).FallingPlot[0]) 
                    direction = null;
                
            if(direction == "long")
                if (TSSuperTrend(14, TradingStudies.NinjaScript.Utility.MovingAverageType.SMA, 2.618, 14, TradingStudies.NinjaScript.Utility.SuperTrendMode.ATR).UpTrend[0] == 0)
                    direction = null;
            
            if(direction == "short")
                if (TSSuperTrend(14, TradingStudies.NinjaScript.Utility.MovingAverageType.SMA, 2.618, 14, TradingStudies.NinjaScript.Utility.SuperTrendMode.ATR).DownTrend[0] == 0)
                    direction = null;
            
            // For longs
            if (ECO2New2(7, 4, 21).Main[0] > 0 &&
                ECO2New2(7, 4, 21).Main[0] > ECO2New2(7, 4, 21).Signal[0]
                && ECO2New2(7, 4, 21).ECORising[0] != 0
                && TSSuperTrend(14, TradingStudies.NinjaScript.Utility.MovingAverageType.SMA, 2.618, 14, TradingStudies.NinjaScript.Utility.SuperTrendMode.ATR).UpTrend[0] != 0
                && Close[0] > DoubleMA(34, NinjaTrader.Indicator.MAV.MAType.ADXVMA, 34, NinjaTrader.Indicator.MAV.MAType.EMA).RisingPlot[0]
                && Close[0] > DoubleMA(16, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA, 16, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA).RisingPlot[0]
                //&& DoubleMA(14, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA, 1, NinjaTrader.Indicator.MAV.MAType.ADXVMA).NeutralPlot[0] == 0
                )
            {
                if(direction != "long")
                {
                    direction = "long";    
                    //DrawArrowUp("Up" + CurrentBar, true, 0, Low[0] - (4 * TickSize), Color.Lime);
                    //DrawText("Up info" + CurrentBar, Close[0].ToString("0.00"), 0, Low[0] - (10 * TickSize), Color.Lime);
                    //PlaySound(@"C:\Program Files\NinjaTrader 6.5\sounds\long.wav");
                    EnterLong(1,"");
                }
            }
            
            // For shorts
            if (ECO2New2(7, 4, 21).Main[0] < 0 && 
                ECO2New2(7, 4, 21).Main[0] < ECO2New2(7, 4, 21).Signal[0]
                && ECO2New2(7, 4, 21).ECOFalling[0] != 0
                && TSSuperTrend(14, TradingStudies.NinjaScript.Utility.MovingAverageType.SMA, 2.618, 14, TradingStudies.NinjaScript.Utility.SuperTrendMode.ATR).DownTrend[0] != 0
                && Close[0] < DoubleMA(34, NinjaTrader.Indicator.MAV.MAType.ADXVMA, 34, NinjaTrader.Indicator.MAV.MAType.EMA).FallingPlot[0]
                && Close[0] < DoubleMA(16, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA, 16, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA).FallingPlot[0]
                //&& DoubleMA(14, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA, 1, NinjaTrader.Indicator.MAV.MAType.ADXVMA).NeutralPlot[0] == 0
                )
            {
                if(direction != "short")
                {
                    direction = "short";    
                    //DrawArrowDown("Down" + CurrentBar, true, 0, High[0] + (4 * TickSize), Color.Lime);
                    //DrawText("Down info" + CurrentBar, Close[0].ToString("0.00"), 0, High[0] + (10 * TickSize), Color.Lime);
                    //PlaySound(@"C:\Program Files\NinjaTrader 6.5\sounds\short.wav");
                    EnterShort(1,"");
                }
            }
        }

        #region Properties
        [Description("")]
        [Category("Parameters")]
        public string direction = null;
        #endregion
    }
}

Attached Thumbnails
Click image for larger version

Name:	Picture 5(2).png
Views:	229
Size:	97.4 KB
ID:	43   Click image for larger version

Name:	Picture 4(2).png
Views:	487
Size:	164.3 KB
ID:	44  
Reply With Quote
The following 2 users say Thank You to Maletor for this post:

Can you help answer these questions
from other members on futures io?
Which kind of Blockvolume is visible? - order processing
Emini and Emicro Index
NT8 indicator to simulate a Funding Evaluation where to …
NinjaTrader
Where can I find Cost to Trade and Book Depth info?
Emini and Emicro Index
Work with historical tcks data on MUltichart NET PowerLa …
MultiCharts
SimplerOptions
Trading Reviews and Vendors
 
 
(login for full post details)
  #2 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,785 since Jun 2009
Thanks: 32,314 given, 97,577 received

Hi Maletor,

Can you post the .CS file or better yet, File -> Utilities -> Export it and post the zip?

There is a hack to make ninja more stable with large backtests. I posted it here:


Mike

Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #3 (permalink)
Alpharetta, GA
 
Experience: Intermediate
Platform: ninja
Broker: Mirus / Zenfire
Trading: ES
 
Todd's Avatar
 
Posts: 257 since Jun 2009
Thanks: 28 given, 40 received


I'm still new at programming but I'm been experimenting with the ECO2 in discretionary trading.

Here was my idea. Maybe you could try this...





See screenshot http://screencast.com/t/5mV31Wku

Step 1:
Enter the trade on the 1st ECO entry signal after the eco line crosses the zero line IN THE DIRECTION OF THE OVERALL TREND LINE (MAYBE A 36 zerolag/zerolag dma).

Only taking trades in the direction of the longer timeframe trendline will hopefully avoid fakeouts without still allowing you to catch most of the profitable trades. I’ve noticed lots of times you have 6e or ES going long or sideways, then you get a little down (to shake people out of their long positions or get others to go short), then a big move up to leave to crush the quick entry shorts and disappoint the early exit longs. It's max pain on a small scale. I see this over and over again. In fact, you can see it in the screenshot.

Then, money management….
Step 2a - Take one contract off at 6 ticks of profit (which should be very easy to do on 6e)
OR
Step 2b – Take a stop loss on both contracts at 15 tick stop loss from entry point


Step 3 – trail the 2nd contract with a progressively tightening trail stop.

Let me know what you think.


P.S.... I'm guessing that your code will only test back a few days because of contract rollover...but that is just a guess.

Todd

Reply With Quote
 
(login for full post details)
  #4 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

Stupid thing won't zip it complaining it won't compile when that is a farce.

Here is the .CS while I see if I can figure out what is making it stick.

Thanks for the NT backtesting hack by the way.

Attached Files
Register to download File Type: cs Symmetry.cs (4.8 KB, 51 views)
Reply With Quote
 
(login for full post details)
  #5 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

You mean take 6 tick profit and move to stop breakeven or keep at -15 ticks?

Are you using ModHA2 in that screenshot?

Mike, still no go with the export... CS file is all that works, but you can just create a new strategy and unlock code and copy and paste.

Reply With Quote
 
(login for full post details)
  #6 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

Here is export.

Attached Files
Register to download File Type: zip Symmetry.zip (61.6 KB, 106 views)
Reply With Quote
 
(login for full post details)
  #7 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,785 since Jun 2009
Thanks: 32,314 given, 97,577 received


Maletor View Post
Here is export.

Cool.

You might try a different period, like 4 range, 6 range, etc. Maybe 1597 volume instead of tick, or 2584 volume, 4181 volume, etc.

It is hard to really know what this strategy will do with only 20 or so trades and a short time frame.

I will load it up over here and backtest it further back and share the results in a few minutes.

Edit: please upgrade to latest SuperTrend from SuperTrend thread on Ninja forums, can't backtest it properly until this is done.

Mike

Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #8 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

You are right Todd, it is more about money management than anything else.

The only reason I would program a strategy is to hear that girl say "possible long signal" so I can watch a movie or something and come back to see what is materializing.

Reply With Quote
 
(login for full post details)
  #9 (permalink)
Alpharetta, GA
 
Experience: Intermediate
Platform: ninja
Broker: Mirus / Zenfire
Trading: ES
 
Todd's Avatar
 
Posts: 257 since Jun 2009
Thanks: 28 given, 40 received

Maletor,

I meant after 6 tick profit, move the stop on the remaining contract from -15 ticks to -6 or -5 ticks to guarantee at least a breakeven trade.

Yes...those are modha2 bars.

Todd

Reply With Quote
 
(login for full post details)
  #10 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received


Version 2.
Here is a simplified version that seems to be doing much better.

It's all so discretionary, but this strategy would be what I should program to alert me that something is happening. I would still have all the indicators on as in the first Sym and would be staying out of flat ECOs.

Attached Thumbnails
Click image for larger version

Name:	Picture 6(2).png
Views:	325
Size:	157.3 KB
ID:	47   Click image for larger version

Name:	Picture 7(2).png
Views:	181
Size:	96.9 KB
ID:	48  
Attached Files
Register to download File Type: zip Sym2.zip (58.8 KB, 102 views)
Reply With Quote
 
(login for full post details)
  #11 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

All prime fib numbers. Because why the heck not?

Attached Thumbnails
Click image for larger version

Name:	Picture 8(2).png
Views:	299
Size:	940.2 KB
ID:	50  
Reply With Quote
 
(login for full post details)
  #12 (permalink)
Neubrandenburg, Germany
 
Experience: Advanced
Platform: R
Trading: Stocks
 
wh's Avatar
 
Posts: 538 since Jun 2009
Thanks: 298 given, 504 received

i have forget symmetrie but now is back in brain and i will insert in my simple strategy some points and add some variables for optimizing.

nice weekend

this is i was looking for onbarupdate

 
Code
// For direction
			if(direction == "long")
				if(Close[0] < DoubleMA(1, NinjaTrader.Indicator.MAV.MAType.ADXVMA, 15, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA).RisingPlot[0]) 
					direction = null;
				
			if(direction == "short")
				if(Close[0] > DoubleMA(1, NinjaTrader.Indicator.MAV.MAType.ADXVMA, 15, NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA).FallingPlot[0]) 
					direction = null;
A other good point is to add in this strategy
 
Code
if(direction == null)
 if(DoubleMA(1, NinjaTrader.Indicator.MAV.MAType.ADXVMA, 15,   NinjaTrader.Indicator.MAV.MAType.ZeroLagEMA).Signal[0] == 0) 
 Go and smoke a cigarette come back in 10 minutes

Reply With Quote
 
(login for full post details)
  #13 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,785 since Jun 2009
Thanks: 32,314 given, 97,577 received


Maletor View Post
All prime fib numbers. Because why the heck not?

28657 tick... awesome!

Your charts are very nice, clean, simple. Great job.

I'd like to see more of your daily charts if you don't mind taking some shots here and there as the days go by. We have a forum just for that:
Daily charts and profit/loss reports

Mike

Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #14 (permalink)
Alpharetta, GA
 
Experience: Intermediate
Platform: ninja
Broker: Mirus / Zenfire
Trading: ES
 
Todd's Avatar
 
Posts: 257 since Jun 2009
Thanks: 28 given, 40 received

maletor,

You said you want to stay out of "flat eco"... how are defining flat? Aren't you entering when eco is near the zero line - isn't that basically flat?

I really think the eco is a good indicator....

Todd

Reply With Quote
 
(login for full post details)
  #15 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

I just mean when the ECO is ranging between -10 and +10 for a relative amount of time.

I really want the thing to thurst through the 0 line like it's got a pair.

Reply With Quote
 
(login for full post details)
  #16 (permalink)
Alpharetta, GA
 
Experience: Intermediate
Platform: ninja
Broker: Mirus / Zenfire
Trading: ES
 
Todd's Avatar
 
Posts: 257 since Jun 2009
Thanks: 28 given, 40 received

true.... but how do you program that into a strategy that can be backtested?

Reply With Quote
 
(login for full post details)
  #17 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

You don't.

We are human. We are infinitely smarter than computers. We just have to be "unconsciously competent".

Reply With Quote
 
(login for full post details)
  #18 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

Here is version 3. Buggy, and still just a prototype.

Attached Files
Register to download File Type: zip Symmetry3.zip (61.5 KB, 101 views)
Reply With Quote
The following user says Thank You to Maletor for this post:
 
(login for full post details)
  #19 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,785 since Jun 2009
Thanks: 32,314 given, 97,577 received

Todd,

I think it will depend on if you want an auto-strategy or a mechanical strategy.

For instance, instead of spending your life trying to program "chop", you can just watch the chart. If you are in chop, then don't have the strategy running. Once you exit, turn the strategy back on. This is the approach I favor. Roonius has something called Discretionary Buttons which put buttons right on your chart to make this incredibly easy, much easier than manually adding/removing a running strategy.

Mike

Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #20 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,785 since Jun 2009
Thanks: 32,314 given, 97,577 received

Maletor,

What I do in order to make my strategies not "jump in" is something like this:
 
Code
#variables
signal = "firstbar"

#onbarupdate

// looking for longs
if (signal == "firstbar")
blah
blah

EnterLong();

signal  = "long";

if (signal != "firstbar" && marketposition == position.flat)
signal = "justexited";
I don't have Ninja up so I had to adlib some of that, but you get the idea. Basically, once you EXIT a position you want the "signal" to change to "justexited". Then you can test for that, and make sure you have a valid NEW setup, not just a continuation of a previous setup.

Make sense?

As for pullbacks, you can record the value of one of your primary signals (say the DMA adxvma line), and then compare price to that value. If price has moved a certain distance you could consider it a pullback, etc.

Mike

Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #21 (permalink)
Boston
 
 
Posts: 88 since Jun 2009
Thanks: 7 given, 27 received

Yes, I have something similar to that programmed. Still doesn't seem to work...
but, it's Saturday night so I'm out of here.

Reply With Quote
 
(login for full post details)
  #22 (permalink)
U.S.A.
 
Experience: Advanced
Platform: NinjaTrader
 
Posts: 19 since May 2010
Thanks: 5 given, 11 received

It started ok, but the strategy didn't get me out. It gave me a box that said I was in the market. I'm trading "CL", and I'm using NT 6.5 and then it said your strategy had an error trying to get out of the position. It just
gave me boxes. I got out of the boxes and I was still live so I had to call the trade desk and get flat. I was thinking I could use my strategy to get in right click and do a flatten all in the strategy box. If my strategy can't
get me out, I'm in deep dog dd! I think there is just an "exit long" or "exit short" and that should work. But anyway, I'm scared. I didn't get hit too bad. I'm down 140 bucks. I'm at Mirus. They gave me a good deal, a thousand per contract to trade CL. So, I have to study, study, study, manage, manage, manage, educate, eduucate, educate, learn, learn, learn! Any help, I would appreciate it!

Reply With Quote
 
(login for full post details)
  #23 (permalink)
NYC + NY / USA
 
Experience: Advanced
Platform: "I trade, therefore, I AM!"; Theme Song: "Atomic Dog!"
Trading: EMD, 6J, ZB
 
kronie's Avatar
 
Posts: 798 since Oct 2009

just attended a presentation by the guys over at Symmetry Indicators,

they haven't ported over to NT7 yet, but are in the process, and it was one of the most impressive presentations that I have ever heard or seen over a webinar, not to be pushing or selling or endorsing their product.

the thing I liked the most was he lives in Florida, and is on the beach daily by 11am or there abouts, because he has already ripped the markets of his daily bread.

now that's the lifestyle to shoot for!


so, question, this thread is only coincidental in name or does it come even close to his approach?

I noticed there were more facets to his approach than just his symmetry dots,

usage of the often quoted Doji and Hammer pattern in quick order, which comprises a triangle pattern and projects a typical squeeze play

usage of the vastly longer term time frame and then the micro time frame to time the entry, trail and exit points

usage of predictive patterns that other majors (mutual fund operators, hedge funds and other large institutions) trade around

recommendation that on news days, trading at least 1min after the news events and being in there participating heavily.

regarding news event trading, has anyone else noticed the huge sweep orders that establish those long tails on either side of the candles? these orders ruin the best of the well placed orders that are resting on either side of a news event, and often rip one's accounts with maximum stoploss in under 1min.

Reply With Quote
 
(login for full post details)
  #24 (permalink)
Southern California
 
Experience: Intermediate
Platform: NinjaTrader
Trading: TF
 
randyjb's Avatar
 
Posts: 70 since Jun 2009
Thanks: 479 given, 32 received

While I can't speak for the value of his current product in Symmetry Indicators, I suggest you Google "Jay Wireman" before getting too excited about this. That does not mean to suggest that he couldn't have somehow stumbled upon something useful.. only that you should always carefully check out whom you would be dealing with if you were to pursue it.

Reply With Quote
 
(login for full post details)
  #25 (permalink)
NYC + NY / USA
 
Experience: Advanced
Platform: "I trade, therefore, I AM!"; Theme Song: "Atomic Dog!"
Trading: EMD, 6J, ZB
 
kronie's Avatar
 
Posts: 798 since Oct 2009

this is a good discussion, however,

two things


1) with a 23,000 tick interval, holding a position would require an awesomely large drawdown capability, presuming premature entry on a verified trade, and a reversal occurring,

say your indicators say buy ES 1100.25 and it reverses 8 points (32ticks) negative, how long are you prepared to hold that trade (just to be proved correct)?


2) is it just coincidence that the thread is named symmetry?, or is there any correlation to what these guys preach / do / trade? Index

thanks

Reply With Quote
 
(login for full post details)
  #26 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,785 since Jun 2009
Thanks: 32,314 given, 97,577 received


kronie View Post
2) is it just coincidence that the thread is named symmetry?, or is there any correlation to what these guys preach / do / trade? Index

thanks

Coincidence only, @Maletor was referring to an indicator/system I wrote a long time ago. Please create a new thread in the Vendor section to discuss the commercial business/indicator.

Mike

We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my futures io Trade Journal Reply With Quote


futures io Trading Community Platforms and Indicators NinjaTrader > Symmetry


Last Updated on August 3, 2010


Upcoming Webinars and Events
 

NinjaTrader Indicator Challenge!

Ongoing
 

Battlestations! Show us your trading desk - $1,500 in prizes!

March
 

Importance of Finding Your Own Way w/Adam Grimes

Elite only
 

Journal Challenge w/Jigsaw

April
     



Copyright © 2021 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