Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
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 for basic access, or support us by becoming an Elite Member -- discounts are available after registering.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
In the past two weeks I just started incorporating it into backtesting in a systematic way so I can only tell you how its changed the results on different systems for me. It has in general reduced the number of trades significantly and also increased my win rate. I started toying with the idea because I was coding a system that looks for volatility expansion. I was using 63.33% of the volume traded since the previous pit session close as my idea of the area of normal random fluctuation, then filtering by mom, rvol, delta of the bar as an entry. I realized that I am obviously looking for periods of volatility so I brushed up on some vol forecasting methods and stated testing that as a filter on different time frames. Filtering on a daily level has great results but less trades than I was looking for that particular system. Do you incorporate a vol filter as an entry condition for your momentum Strats?
Not yet. I do use it however in setting Stop Losses and Take Profit targets.
See lower indicator in the attachment. I sometimes use the Average line value outright (white line), but sometimes use the ratio of the actual volatility to the average times the average. This ratio can range from 0.5 to 2.0.
Curious as to whether anyone has been able to code a profitable trading bot specifically for CL or MCL futures? I have been working to accomplish this, and wanted to see if anyone else had a successful bot they were willing to share. Appreciate it!
1 trade x week, Wednesday only, 15min Data1, Daily Data2, $20 of total commissions already included.
// CRUDE inventories news, 15min Data1, Daily Data2
input: MyPerc(0.5), StartTime(300), EndTime(1000);
input: MyStopLoss(1500);
input: News(3);
vars: MaxSetup(0),
MinSetup(0),
MP(0),
MyRange(0,Data2),
MyTime(false),
CanTrade(True);
MP = Marketposition;
MyTime = False;
if Time >= StartTime and Time <= EndTime and EntriesToday(date[0]) < 1 then MyTime = True;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Levels
var: CurSess(0);
CurSess = CurrentSession(0);
if CurSess[1] <> CurSess then begin
CanTrade = True;
MyRange = HighSession(1,1) - LowSession(1,1);
MaxSetup = OpenSession(0,0) + MyRange*MyPerc;
MinSetup = OpenSession(0,0) - MyRange*MyPerc;
end;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Entries
if
MP = 0 and
MyTime = True and
Close < MaxSetup and
dayofweek(date) = News then
begin
Buy next Bar at MaxSetup on Stop;
end;
if Time >= 1515 then Sell next bar at open;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if
MP = 0 and
MyTime = True and
Close > MinSetup and
dayofweek(date) = News then
begin
Sellshort next bar at MinSetup on Stop;
end;
if Time >= 1515 then Buytocover next bar at open;
// Exits
if MyStopLoss > 0 then Setstoploss(MyStopLoss);
1 trade x week, Wednesday only, 15min Data1, Daily Data2, $20 of total commissions already included.
// CRUDE inventories news, 15min Data1, Daily Data2
input: MyPerc(0.5), StartTime(300), EndTime(1000);
input: MyStopLoss(1500);
input: News(3);
vars: MaxSetup(0),
MinSetup(0),
MP(0),
MyRange(0,Data2),
MyTime(false),
CanTrade(True);
MP = Marketposition;
MyTime = False;
if Time >= StartTime and Time <= EndTime and EntriesToday(date[0]) < 1 then MyTime = True;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Levels
var: CurSess(0);
CurSess = CurrentSession(0);
if CurSess[1] <> CurSess then begin
CanTrade = True;
MyRange = HighSession(1,1) - LowSession(1,1);
MaxSetup = OpenSession(0,0) + MyRange*MyPerc;
MinSetup = OpenSession(0,0) - MyRange*MyPerc;
end;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Entries
if
MP = 0 and
MyTime = True and
Close < MaxSetup and
dayofweek(date) = News then
begin
Buy next Bar at MaxSetup on Stop;
end;
if Time >= 1515 then Sell next bar at open;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if
MP = 0 and
MyTime = True and
Close > MinSetup and
dayofweek(date) = News then
begin
Sellshort next bar at MinSetup on Stop;
end;
if Time >= 1515 then Buytocover next bar at open;
// Exits
if MyStopLoss > 0 then Setstoploss(MyStopLoss);
Can you please explain in plain English how this strategy works?
The strategy buys or sells if the range is broken during the time window (3am to 10pm exchange time). The trade is closed at the end of the session.
The range is calculated based on the previous daily range and half of it is taken (MyPerc 0.5) and added above and below today's open --> MaxSetup = OpenSession(0,0) + MyRange*MyPerc; MinSetup = OpenSession(0,0) - MyRange*MyPerc;
It trades on Wednesday only because it tries to take advantage of the increased volatility caused by the Crude Oil Inventories.