Wie man die ATR in einer Forex-Strategie einsetzt

Stocks - Investing and trading for all

Almost any post related to stocks is welcome on /stocks. Don't hesitate to tell us about a ticker we should know about, but read the sidebar rules before you post. Check out our wiki and Discord!
[link]

My home-made bar replay for MT4

I made a home-made bar replay for MT4 as an alternative to the tradingview bar replay. You can change timeframes and use objects easily. It just uses vertical lines to block the future candles. Then it adjusts the vertical lines when you change zoom or time frames to keep the "future" bars hidden.
I am not a professional coder so this is not as robust as something like Soft4fx or Forex Tester. But for me it gets the job done and is very convenient. Maybe you will find some benefit from it.

Here are the steps to use it:
1) copy the text from the code block
2) go to MT4 terminal and open Meta Editor (click icon or press F4)
3) go to File -> New -> Expert Advisor
4) put in a title and click Next, Next, Finish
5) Delete all text from new file and paste in text from code block
6) go back to MT4
7) Bring up Navigator (Ctrl+N if it's not already up)
8) go to expert advisors section and find what you titled it
9) open up a chart of the symbol you want to test
10) add the EA to this chart
11) specify colors and start time in inputs then press OK
12) use "S" key on your keyboard to advance 1 bar of current time frame
13) use tool bar buttons to change zoom and time frames, do objects, etc.
14) don't turn on auto scroll. if you do by accident, press "S" to return to simulation time.
15) click "buy" and "sell" buttons (white text, top center) to generate entry, TP and SL lines to track your trade
16) to cancel or close a trade, press "close order" then click the white entry line
17) drag and drop TP/SL lines to modify RR
18) click "End" to delete all objects and remove simulation from chart
19) to change simulation time, click "End", then add the simulator EA to your chart with a new start time
20) When you click "End", your own objects will be deleted too, so make sure you are done with them
21) keep track of your own trade results manually
22) use Tools-> History center to download new data if you need it. the simulator won't work on time frames if you don't have historical data going back that far, but it will work on time frames that you have the data for. If you have data but its not appearing, you might also need to increase max bars in chart in Tools->Options->Charts.
23) don't look at status bar if you are moused over hidden candles, or to avoid this you can hide the status bar.


Here is the code block.
//+------------------------------------------------------------------+ //| Bar Replay V2.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #define VK_A 0x41 #define VK_S 0x53 #define VK_X 0x58 #define VK_Z 0x5A #define VK_V 0x56 #define VK_C 0x43 #define VK_W 0x57 #define VK_E 0x45 double balance; string balance_as_string; int filehandle; int trade_ticket = 1; string objectname; string entry_line_name; string tp_line_name; string sl_line_name; string one_R_line_name; double distance; double entry_price; double tp_price; double sl_price; double one_R; double TP_distance; double gain_in_R; string direction; bool balance_file_exist; double new_balance; double sl_distance; string trade_number; double risk; double reward; string RR_string; int is_tp_or_sl_line=0; int click_to_cancel=0; input color foreground_color = clrWhite; input color background_color = clrBlack; input color bear_candle_color = clrRed; input color bull_candle_color = clrSpringGreen; input color current_price_line_color = clrGray; input string start_time = "2020.10.27 12:00"; input int vertical_margin = 100; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { Comment(""); ChartNavigate(0,CHART_BEGIN,0); BlankChart(); ChartSetInteger(0,CHART_SHIFT,true); ChartSetInteger(0,CHART_FOREGROUND,false); ChartSetInteger(0,CHART_AUTOSCROLL,false); ChartSetInteger(0,CHART_SCALEFIX,false); ChartSetInteger(0,CHART_SHOW_OBJECT_DESCR,true); if (ObjectFind(0,"First OnInit")<0){ CreateStorageHLine("First OnInit",1);} if (ObjectFind(0,"Simulation Time")<0){ CreateTestVLine("Simulation Time",StringToTime(start_time));} string vlinename; for (int i=0; i<=1000000; i++){ vlinename="VLine"+IntegerToString(i); ObjectDelete(vlinename); } HideBars(SimulationBarTime(),0); //HideBar(SimulationBarTime()); UnBlankChart(); LabelCreate("New Buy Button","Buy",0,38,foreground_color); LabelCreate("New Sell Button","Sell",0,41,foreground_color); LabelCreate("Cancel Order","Close Order",0,44,foreground_color); LabelCreate("Risk To Reward","RR",0,52,foreground_color); LabelCreate("End","End",0,35,foreground_color); ObjectMove(0,"First OnInit",0,0,0); //--- create timer EventSetTimer(60); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer EventKillTimer(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if (id==CHARTEVENT_CHART_CHANGE){ int chartscale = ChartGetInteger(0,CHART_SCALE,0); int lastchartscale = ObjectGetDouble(0,"Last Chart Scale",OBJPROP_PRICE,0); if (chartscale!=lastchartscale){ int chartscale = ChartGetInteger(0,CHART_SCALE,0); ObjectMove(0,"Last Chart Scale",0,0,chartscale); OnInit(); }} if (id==CHARTEVENT_KEYDOWN){ if (lparam==VK_S){ IncreaseSimulationTime(); UnHideBar(SimulationPosition()); NavigateToSimulationPosition(); CreateHLine(0,"Current Price",Close[SimulationPosition()+1],current_price_line_color,1,0,true,false,false,"price"); SetChartMinMax(); }} if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam=="New Sell Button") { distance = iATR(_Symbol,_Period,20,SimulationPosition()+1)/2; objectname = "Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1],foreground_color,2,5,false,true,true,"Sell"); objectname = "TP for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]-distance*2,clrAqua,2,5,false,true,true,"TP"); objectname = "SL for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]+distance,clrRed,2,5,false,true,true,"SL"); trade_ticket+=1; } } if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam=="New Buy Button") { distance = iATR(_Symbol,_Period,20,SimulationPosition()+1)/2; objectname = "Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1],foreground_color,2,5,false,true,true,"Buy"); objectname = "TP for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]+distance*2,clrAqua,2,5,false,true,true,"TP"); objectname = "SL for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]-distance,clrRed,2,5,false,true,true,"SL"); trade_ticket+=1; } } if(id==CHARTEVENT_OBJECT_DRAG) { if(StringFind(sparam,"TP",0)==0) { is_tp_or_sl_line=1; } if(StringFind(sparam,"SL",0)==0) { is_tp_or_sl_line=1; } Comment(is_tp_or_sl_line); if(is_tp_or_sl_line==1) { trade_number = StringSubstr(sparam,7,9); entry_line_name = trade_number; tp_line_name = "TP for "+entry_line_name; sl_line_name = "SL for "+entry_line_name; entry_price = ObjectGetDouble(0,entry_line_name,OBJPROP_PRICE,0); tp_price = ObjectGetDouble(0,tp_line_name,OBJPROP_PRICE,0); sl_price = ObjectGetDouble(0,sl_line_name,OBJPROP_PRICE,0); sl_distance = MathAbs(entry_price-sl_price); TP_distance = MathAbs(entry_price-tp_price); reward = TP_distance/sl_distance; RR_string = "RR = 1 : "+DoubleToString(reward,2); ObjectSetString(0,"Risk To Reward",OBJPROP_TEXT,RR_string); is_tp_or_sl_line=0; } } if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam=="Cancel Order") { click_to_cancel=1; Comment("please click the entry line of the order you wish to cancel."); } } if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam!="Cancel Order") { if(click_to_cancel==1) { if(ObjectGetInteger(0,sparam,OBJPROP_TYPE,0)==OBJ_HLINE) { entry_line_name = sparam; tp_line_name = "TP for "+sparam; sl_line_name = "SL for "+sparam; ObjectDelete(0,entry_line_name); ObjectDelete(0,tp_line_name); ObjectDelete(0,sl_line_name); click_to_cancel=0; ObjectSetString(0,"Risk To Reward",OBJPROP_TEXT,"RR"); } } } } if (id==CHARTEVENT_OBJECT_CLICK){ if (sparam=="End"){ ObjectsDeleteAll(0,-1,-1); ExpertRemove(); }} } //+------------------------------------------------------------------+ void CreateStorageHLine(string name, double value){ ObjectDelete(name); ObjectCreate(0,name,OBJ_HLINE,0,0,value); ObjectSetInteger(0,name,OBJPROP_SELECTED,false); ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); ObjectSetInteger(0,name,OBJPROP_COLOR,clrNONE); ObjectSetInteger(0,name,OBJPROP_BACK,true); ObjectSetInteger(0,name,OBJPROP_ZORDER,0); } void CreateTestHLine(string name, double value){ ObjectDelete(name); ObjectCreate(0,name,OBJ_HLINE,0,0,value); ObjectSetInteger(0,name,OBJPROP_SELECTED,false); ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite); ObjectSetInteger(0,name,OBJPROP_BACK,true); ObjectSetInteger(0,name,OBJPROP_ZORDER,0); } bool IsFirstOnInit(){ bool bbb=false; if (ObjectGetDouble(0,"First OnInit",OBJPROP_PRICE,0)==1){return true;} return bbb; } void CreateTestVLine(string name, datetime timevalue){ ObjectDelete(name); ObjectCreate(0,name,OBJ_VLINE,0,timevalue,0); ObjectSetInteger(0,name,OBJPROP_SELECTED,false); ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); ObjectSetInteger(0,name,OBJPROP_COLOR,clrNONE); ObjectSetInteger(0,name,OBJPROP_BACK,false); ObjectSetInteger(0,name,OBJPROP_ZORDER,3); } datetime SimulationTime(){ return ObjectGetInteger(0,"Simulation Time",OBJPROP_TIME,0); } int SimulationPosition(){ return iBarShift(_Symbol,_Period,SimulationTime(),false); } datetime SimulationBarTime(){ return Time[SimulationPosition()]; } void IncreaseSimulationTime(){ ObjectMove(0,"Simulation Time",0,Time[SimulationPosition()-1],0); } void NavigateToSimulationPosition(){ ChartNavigate(0,CHART_END,-1*SimulationPosition()+15); } void NotifyNotEnoughHistoricalData(){ BlankChart(); Comment("Sorry, but there is not enough historical data to load this time frame."+"\n"+ "Please load more historical data or use a higher time frame. Thank you :)");} void UnHideBar(int barindex){ ObjectDelete(0,"VLine"+IntegerToString(barindex+1)); } void BlankChart(){ ChartSetInteger(0,CHART_COLOR_FOREGROUND,clrNONE); ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,clrNONE); ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,clrNONE); ChartSetInteger(0,CHART_COLOR_CHART_DOWN,clrNONE); ChartSetInteger(0,CHART_COLOR_CHART_UP,clrNONE); ChartSetInteger(0,CHART_COLOR_CHART_LINE,clrNONE); ChartSetInteger(0,CHART_COLOR_GRID,clrNONE); ChartSetInteger(0,CHART_COLOR_ASK,clrNONE); ChartSetInteger(0,CHART_COLOR_BID,clrNONE);} void UnBlankChart(){ ChartSetInteger(0,CHART_COLOR_FOREGROUND,foreground_color); ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,bear_candle_color); ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,bull_candle_color); ChartSetInteger(0,CHART_COLOR_BACKGROUND,background_color); ChartSetInteger(0,CHART_COLOR_CHART_DOWN,foreground_color); ChartSetInteger(0,CHART_COLOR_CHART_UP,foreground_color); ChartSetInteger(0,CHART_COLOR_CHART_LINE,foreground_color); ChartSetInteger(0,CHART_COLOR_GRID,clrNONE); ChartSetInteger(0,CHART_COLOR_ASK,clrNONE); ChartSetInteger(0,CHART_COLOR_BID,clrNONE);} void HideBars(datetime starttime, int shift){ int startbarindex = iBarShift(_Symbol,_Period,starttime,false); ChartNavigate(0,CHART_BEGIN,0); if (Time[WindowFirstVisibleBar()]>SimulationTime()){NotifyNotEnoughHistoricalData();} if (Time[WindowFirstVisibleBar()]=0; i--){ vlinename="VLine"+IntegerToString(i); ObjectCreate(0,vlinename,OBJ_VLINE,0,Time[i],0); ObjectSetInteger(0,vlinename,OBJPROP_COLOR,background_color); ObjectSetInteger(0,vlinename,OBJPROP_BACK,false); ObjectSetInteger(0,vlinename,OBJPROP_WIDTH,vlinewidth); ObjectSetInteger(0,vlinename,OBJPROP_ZORDER,10); ObjectSetInteger(0,vlinename,OBJPROP_FILL,true); ObjectSetInteger(0,vlinename,OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,vlinename,OBJPROP_SELECTED,false); ObjectSetInteger(0,vlinename,OBJPROP_SELECTABLE,false); } NavigateToSimulationPosition(); SetChartMinMax();} }//end of HideBars function void SetChartMinMax(){ int firstbar = WindowFirstVisibleBar(); int lastbar = SimulationPosition(); int lastbarwhenscrolled = WindowFirstVisibleBar()-WindowBarsPerChart(); if (lastbarwhenscrolled>lastbar){lastbar=lastbarwhenscrolled;} double highest = High[iHighest(_Symbol,_Period,MODE_HIGH,firstbar-lastbar,lastbar)]; double lowest = Low[iLowest(_Symbol,_Period,MODE_LOW,firstbar-lastbar,lastbar)]; ChartSetInteger(0,CHART_SCALEFIX,true); ChartSetDouble(0,CHART_FIXED_MAX,highest+vertical_margin*_Point); ChartSetDouble(0,CHART_FIXED_MIN,lowest-vertical_margin*_Point); } void LabelCreate(string labelname, string labeltext, int row, int column, color labelcolor){ int ylocation = row*18; int xlocation = column*10; ObjectCreate(0,labelname,OBJ_LABEL,0,0,0); ObjectSetString(0,labelname,OBJPROP_TEXT,labeltext); ObjectSetInteger(0,labelname,OBJPROP_COLOR,labelcolor); ObjectSetInteger(0,labelname,OBJPROP_FONTSIZE,10); ObjectSetInteger(0,labelname,OBJPROP_ZORDER,10); ObjectSetInteger(0,labelname,OBJPROP_BACK,false); ObjectSetInteger(0,labelname,OBJPROP_CORNER,CORNER_LEFT_UPPER); ObjectSetInteger(0,labelname,OBJPROP_ANCHOR,ANCHOR_LEFT_UPPER); ObjectSetInteger(0,labelname,OBJPROP_XDISTANCE,xlocation); ObjectSetInteger(0,labelname,OBJPROP_YDISTANCE,ylocation);} double GetHLinePrice(string name){ return ObjectGetDouble(0,name,OBJPROP_PRICE,0); } void CreateHLine(int chartid, string objectnamey, double objectprice, color linecolor, int width, int zorder, bool back, bool selected, bool selectable, string descriptionn) { ObjectDelete(chartid,objectnamey); ObjectCreate(chartid,objectnamey,OBJ_HLINE,0,0,objectprice); ObjectSetString(chartid,objectnamey,OBJPROP_TEXT,objectprice); ObjectSetInteger(chartid,objectnamey,OBJPROP_COLOR,linecolor); ObjectSetInteger(chartid,objectnamey,OBJPROP_WIDTH,width); ObjectSetInteger(chartid,objectnamey,OBJPROP_ZORDER,zorder); ObjectSetInteger(chartid,objectnamey,OBJPROP_BACK,back); ObjectSetInteger(chartid,objectnamey,OBJPROP_SELECTED,selected); ObjectSetInteger(chartid,objectnamey,OBJPROP_SELECTABLE,selectable); ObjectSetString(0,objectnamey,OBJPROP_TEXT,descriptionn); } //end of code 
submitted by Learning_2 to Forex [link] [comments]

My current Forex trading plan and results, what you traders think?

My current Forex trading plan and results, what you traders think?
Chart Indicators:
A. ATR(14)
B. Baseline Indicator: Ichimoku[baseline]
C. Volume Indicator: WAE_Ext
D. Confirmation Indicator #1: EMA(20)
E. Confirmation Indicator #2: WAE_Ext
F. Exit Indicator: Price action
--
Find, trade, and exit buy\sell position plan:
Check FXTT Scanner[MT4:M30] verify with 2nd Conformation Forex Scanner[TradingView] check MarketMilk status if buy\sell position found make buy\sell trade[MT4] monitor buy\sell position(s) for exit on Tradingview[Heikin Ashi Chart: M15].
my current trading results using the above trading plan

10/05/20
week before

09/24/20
submitted by moneymakinjes to Forex [link] [comments]

H1 Backtest of ParallaxFX's BBStoch system

Disclaimer: None of this is financial advice. I have no idea what I'm doing. Please do your own research or you will certainly lose money. I'm not a statistician, data scientist, well-seasoned trader, or anything else that would qualify me to make statements such as the below with any weight behind them. Take them for the incoherent ramblings that they are.
TL;DR at the bottom for those not interested in the details.
This is a bit of a novel, sorry about that. It was mostly for getting my own thoughts organized, but if even one person reads the whole thing I will feel incredibly accomplished.

Background

For those of you not familiar, please see the various threads on this trading system here. I can't take credit for this system, all glory goes to ParallaxFX!
I wanted to see how effective this system was at H1 for a couple of reasons: 1) My current broker is TD Ameritrade - their Forex minimum is a mini lot, and I don't feel comfortable enough yet with the risk to trade mini lots on the higher timeframes(i.e. wider pip swings) that ParallaxFX's system uses, so I wanted to see if I could scale it down. 2) I'm fairly impatient, so I don't like to wait days and days with my capital tied up just to see if a trade is going to win or lose.
This does mean it requires more active attention since you are checking for setups once an hour instead of once a day or every 4-6 hours, but the upside is that you trade more often this way so you end up winning or losing faster and moving onto the next trade. Spread does eat more of the trade this way, but I'll cover this in my data below - it ends up not being a problem.
I looked at data from 6/11 to 7/3 on all pairs with a reasonable spread(pairs listed at bottom above the TL;DR). So this represents about 3-4 weeks' worth of trading. I used mark(mid) price charts. Spreadsheet link is below for anyone that's interested.

System Details

I'm pretty much using ParallaxFX's system textbook, but since there are a few options in his writeups, I'll include all the discretionary points here:

And now for the fun. Results!

As you can see, a higher target ended up with higher profit despite a much lower winrate. This is partially just how things work out with profit targets in general, but there's an additional point to consider in our case: the spread. Since we are trading on a lower timeframe, there is less overall price movement and thus the spread takes up a much larger percentage of the trade than it would if you were trading H4, Daily or Weekly charts. You can see exactly how much it accounts for each trade in my spreadsheet if you're interested. TDA does not have the best spreads, so you could probably improve these results with another broker.
EDIT: I grabbed typical spreads from other brokers, and turns out while TDA is pretty competitive on majors, their minors/crosses are awful! IG beats them by 20-40% and Oanda beats them 30-60%! Using IG spreads for calculations increased profits considerably (another 5% on top) and Oanda spreads increased profits massively (another 15%!). Definitely going to be considering another broker than TDA for this strategy. Plus that'll allow me to trade micro-lots, so I can be more granular(and thus accurate) with my position sizing and compounding.

A Note on Spread

As you can see in the data, there were scenarios where the spread was 80% of the overall size of the trade(the size of the confirmation candle that you draw your fibonacci retracements over), which would obviously cut heavily into your profits.
Removing any trades where the spread is more than 50% of the trade width improved profits slightly without removing many trades, but this is almost certainly just coincidence on a small sample size. Going below 40% and even down to 30% starts to cut out a lot of trades for the less-common pairs, but doesn't actually change overall profits at all(~1% either way).
However, digging all the way down to 25% starts to really make some movement. Profit at the -161.8% TP level jumps up to 37.94% if you filter out anything with a spread that is more than 25% of the trade width! And this even keeps the sample size fairly large at 187 total trades.
You can get your profits all the way up to 48.43% at the -161.8% TP level if you filter all the way down to only trades where spread is less than 15% of the trade width, however your sample size gets much smaller at that point(108 trades) so I'm not sure I would trust that as being accurate in the long term.
Overall based on this data, I'm going to only take trades where the spread is less than 25% of the trade width. This may bias my trades more towards the majors, which would mean a lot more correlated trades as well(more on correlation below), but I think it is a reasonable precaution regardless.

Time of Day

Time of day had an interesting effect on trades. In a totally predictable fashion, a vast majority of setups occurred during the London and New York sessions: 5am-12pm Eastern. However, there was one outlier where there were many setups on the 11PM bar - and the winrate was about the same as the big hours in the London session. No idea why this hour in particular - anyone have any insight? That's smack in the middle of the Tokyo/Sydney overlap, not at the open or close of either.
On many of the hour slices I have a feeling I'm just dealing with small number statistics here since I didn't have a lot of data when breaking it down by individual hours. But here it is anyway - for all TP levels, these three things showed up(all in Eastern time):
I don't have any reason to think these timeframes would maintain this behavior over the long term. They're almost certainly meaningless. EDIT: When you de-dup highly correlated trades, the number of trades in these timeframes really drops, so from this data there is no reason to think these timeframes would be any different than any others in terms of winrate.
That being said, these time frames work out for me pretty well because I typically sleep 12am-7am Eastern time. So I automatically avoid the 5am-6am timeframe, and I'm awake for the majority of this system's setups.

Moving stops up to breakeven

This section goes against everything I know and have ever heard about trade management. Please someone find something wrong with my data. I'd love for someone to check my formulas, but I realize that's a pretty insane time commitment to ask of a bunch of strangers.
Anyways. What I found was that for these trades moving stops up...basically at all...actually reduced the overall profitability.
One of the data points I collected while charting was where the price retraced back to after hitting a certain milestone. i.e. once the price hit the -61.8% profit level, how far back did it retrace before hitting the -100% profit level(if at all)? And same goes for the -100% profit level - how far back did it retrace before hitting the -161.8% profit level(if at all)?
Well, some complex excel formulas later and here's what the results appear to be. Emphasis on appears because I honestly don't believe it. I must have done something wrong here, but I've gone over it a hundred times and I can't find anything out of place.
Now, you might think exactly what I did when looking at these numbers: oof, the spread killed us there right? Because even when you move your SL to 0%, you still end up paying the spread, so it's not truly "breakeven". And because we are trading on a lower timeframe, the spread can be pretty hefty right?
Well even when I manually modified the data so that the spread wasn't subtracted(i.e. "Breakeven" was truly +/- 0), things don't look a whole lot better, and still way worse than the passive trade management method of leaving your stops in place and letting it run. And that isn't even a realistic scenario because to adjust out the spread you'd have to move your stoploss inside the candle edge by at least the spread amount, meaning it would almost certainly be triggered more often than in the data I collected(which was purely based on the fib levels and mark price). Regardless, here are the numbers for that scenario:
From a literal standpoint, what I see behind this behavior is that 44 of the 69 breakeven trades(65%!) ended up being profitable to -100% after retracing deeply(but not to the original SL level), which greatly helped offset the purely losing trades better than the partial profit taken at -61.8%. And 36 went all the way back to -161.8% after a deep retracement without hitting the original SL. Anyone have any insight into this? Is this a problem with just not enough data? It seems like enough trades that a pattern should emerge, but again I'm no expert.
I also briefly looked at moving stops to other lower levels (78.6%, 61.8%, 50%, 38.2%, 23.6%), but that didn't improve things any. No hard data to share as I only took a quick look - and I still might have done something wrong overall.
The data is there to infer other strategies if anyone would like to dig in deep(more explanation on the spreadsheet below). I didn't do other combinations because the formulas got pretty complicated and I had already answered all the questions I was looking to answer.

2-Candle vs Confirmation Candle Stops

Another interesting point is that the original system has the SL level(for stop entries) just at the outer edge of the 2-candle pattern that makes up the system. Out of pure laziness, I set up my stops just based on the confirmation candle. And as it turns out, that is much a much better way to go about it.
Of the 60 purely losing trades, only 9 of them(15%) would go on to be winners with stops on the 2-candle formation. Certainly not enough to justify the extra loss and/or reduced profits you are exposing yourself to in every single other trade by setting a wider SL.
Oddly, in every single scenario where the wider stop did save the trade, it ended up going all the way to the -161.8% profit level. Still, not nearly worth it.

Correlated Trades

As I've said many times now, I'm really not qualified to be doing an analysis like this. This section in particular.
Looking at shared currency among the pairs traded, 74 of the trades are correlated. Quite a large group, but it makes sense considering the sort of moves we're looking for with this system.
This means you are opening yourself up to more risk if you were to trade on every signal since you are technically trading with the same underlying sentiment on each different pair. For example, GBP/USD and AUD/USD moving together almost certainly means it's due to USD moving both pairs, rather than GBP and AUD both moving the same size and direction coincidentally at the same time. So if you were to trade both signals, you would very likely win or lose both trades - meaning you are actually risking double what you'd normally risk(unless you halve both positions which can be a good option, and is discussed in ParallaxFX's posts and in various other places that go over pair correlation. I won't go into detail about those strategies here).
Interestingly though, 17 of those apparently correlated trades ended up with different wins/losses.
Also, looking only at trades that were correlated, winrate is 83%/70%/55% (for the three TP levels).
Does this give some indication that the same signal on multiple pairs means the signal is stronger? That there's some strong underlying sentiment driving it? Or is it just a matter of too small a sample size? The winrate isn't really much higher than the overall winrates, so that makes me doubt it is statistically significant.
One more funny tidbit: EUCAD netted the lowest overall winrate: 30% to even the -61.8% TP level on 10 trades. Seems like that is just a coincidence and not enough data, but dang that's a sucky losing streak.
EDIT: WOW I spent some time removing correlated trades manually and it changed the results quite a bit. Some thoughts on this below the results. These numbers also include the other "What I will trade" filters. I added a new worksheet to my data to show what I ended up picking.
To do this, I removed correlated trades - typically by choosing those whose spread had a lower % of the trade width since that's objective and something I can see ahead of time. Obviously I'd like to only keep the winning trades, but I won't know that during the trade. This did reduce the overall sample size down to a level that I wouldn't otherwise consider to be big enough, but since the results are generally consistent with the overall dataset, I'm not going to worry about it too much.
I may also use more discretionary methods(support/resistance, quality of indecision/confirmation candles, news/sentiment for the pairs involved, etc) to filter out correlated trades in the future. But as I've said before I'm going for a pretty mechanical system.
This brought the 3 TP levels and even the breakeven strategies much closer together in overall profit. It muted the profit from the high R:R strategies and boosted the profit from the low R:R strategies. This tells me pair correlation was skewing my data quite a bit, so I'm glad I dug in a little deeper. Fortunately my original conclusion to use the -161.8 TP level with static stops is still the winner by a good bit, so it doesn't end up changing my actions.
There were a few times where MANY (6-8) correlated pairs all came up at the same time, so it'd be a crapshoot to an extent. And the data showed this - often then won/lost together, but sometimes they did not. As an arbitrary rule, the more correlations, the more trades I did end up taking(and thus risking). For example if there were 3-5 correlations, I might take the 2 "best" trades given my criteria above. 5+ setups and I might take the best 3 trades, even if the pairs are somewhat correlated.
I have no true data to back this up, but to illustrate using one example: if AUD/JPY, AUD/USD, CAD/JPY, USD/CAD all set up at the same time (as they did, along with a few other pairs on 6/19/20 9:00 AM), can you really say that those are all the same underlying movement? There are correlations between the different correlations, and trying to filter for that seems rough. Although maybe this is a known thing, I'm still pretty green to Forex - someone please enlighten me if so! I might have to look into this more statistically, but it would be pretty complex to analyze quantitatively, so for now I'm going with my gut and just taking a few of the "best" trades out of the handful.
Overall, I'm really glad I went further on this. The boosting of the B/E strategies makes me trust my calculations on those more since they aren't so far from the passive management like they were with the raw data, and that really had me wondering what I did wrong.

What I will trade

Putting all this together, I am going to attempt to trade the following(demo for a bit to make sure I have the hang of it, then for keeps):
Looking at the data for these rules, test results are:
I'll be sure to let everyone know how it goes!

Other Technical Details

Raw Data

Here's the spreadsheet for anyone that'd like it. (EDIT: Updated some of the setups from the last few days that have fully played out now. I also noticed a few typos, but nothing major that would change the overall outcomes. Regardless, I am currently reviewing every trade to ensure they are accurate.UPDATE: Finally all done. Very few corrections, no change to results.)
I have some explanatory notes below to help everyone else understand the spiraled labyrinth of a mind that put the spreadsheet together.

Insanely detailed spreadsheet notes

For you real nerds out there. Here's an explanation of what each column means:

Pairs

  1. AUD/CAD
  2. AUD/CHF
  3. AUD/JPY
  4. AUD/NZD
  5. AUD/USD
  6. CAD/CHF
  7. CAD/JPY
  8. CHF/JPY
  9. EUAUD
  10. EUCAD
  11. EUCHF
  12. EUGBP
  13. EUJPY
  14. EUNZD
  15. EUUSD
  16. GBP/AUD
  17. GBP/CAD
  18. GBP/CHF
  19. GBP/JPY
  20. GBP/NZD
  21. GBP/USD
  22. NZD/CAD
  23. NZD/CHF
  24. NZD/JPY
  25. NZD/USD
  26. USD/CAD
  27. USD/CHF
  28. USD/JPY

TL;DR

Based on the reasonable rules I discovered in this backtest:

Demo Trading Results

Since this post, I started demo trading this system assuming a 5k capital base and risking ~1% per trade. I've added the details to my spreadsheet for anyone interested. The results are pretty similar to the backtest when you consider real-life conditions/timing are a bit different. I missed some trades due to life(work, out of the house, etc), so that brought my total # of trades and thus overall profit down, but the winrate is nearly identical. I also closed a few trades early due to various reasons(not liking the price action, seeing support/resistance emerge, etc).
A quick note is that TD's paper trade system fills at the mid price for both stop and limit orders, so I had to subtract the spread from the raw trade values to get the true profit/loss amount for each trade.
I'm heading out of town next week, then after that it'll be time to take this sucker live!

Live Trading Results

I started live-trading this system on 8/10, and almost immediately had a string of losses much longer than either my backtest or demo period. Murphy's law huh? Anyways, that has me spooked so I'm doing a longer backtest before I start risking more real money. It's going to take me a little while due to the volume of trades, but I'll likely make a new post once I feel comfortable with that and start live trading again.
submitted by ForexBorex to Forex [link] [comments]

Backtesting advise? Kinda stuck

Backtesting advise? Kinda stuck
Hello traders. I am kinda new with forex. Still studying baby pips and have watched some YT. I tried backtesting GBPUSD with a plan I come up with which I though not really that promising because of some flaw in it. I am backtesting with 200 USD just to make sure that the system works, and when I start with a live account I can re-create the plan with 200 USD and start compounding.

This is my plan for now:
  • 1 hr chart
  • Aroon Up/down
  • ATR 14, for SL and lot size
  • 2% risk per trade
  • 2 trade (1 with 1:1 RR, 1 w/o TP but close when Aroon crossed)
  • Let the trade (1:1 RR) run until it hits SL or TP
  • If the trade (1:1 RR) hit TP, the trade w/o tp should close on the next Aroon cross
Long
  • Aroon up reached max
  • Charts are above 50 ema
  • 50 ema is above 200 ema
Short
  • Aroon down reached max
  • Charts are below 50 ema
  • 50 ema is below 200 ema

The Results are:
  • No. of Trade : 300
  • Win Trade : 171
  • Lose Trade : 129
  • Winrate : 57%
  • Duration : 12 months
  • Total profit : 478.045%
  • Monthly profit : 39.837%
  • Highest Streak
  • Win : 11
  • Lose : 9

Progress
  • 14-Jan-19 : 200 USD
  • 7-Jan-20 : 1,156.09 USD

https://preview.redd.it/bzz7k1c92w451.png?width=621&format=png&auto=webp&s=26d52b8069135de85f6d17aa6a45080ee5153efd
From backtesting, I found:
  • Risk management need more evaluation, seems dangerous
  • need better exit indicator
  • Need trailing SL to lock profits
  • If the distance between both EMA is small, it tends to lose
  • If some of the previous bars (candlestick) are small, it tends to lose
  • need to consider the spreads
  • when balance reached 1000 USD, it is harder to grow, bigger losses
  • Lot sizes also killing the account
  • need to cut unnecessary losses, filter "flat" charts
  • need forward testing
Any advice on how to filter out the “flat charts” early? Most of the time these charts are the culprit to my losses. Or any other advice that I may need to know? Thank you
submitted by fadilke2 to Forex [link] [comments]

Reading the ATR Indicator

All right, I've read multiple guides/sites/forum posts on this topic, and I'm still flummoxed. So I ask you, Forex reddit:
How do you read the ATR indicator?
For example: I'm looking at a pair with an ATR(20) of 1.2889. I want to use the ATR*1.5 method to set my stop loss. Of those five digits, which do I actually multiply to get the SL?
The answer seems simple enough for pairs with an ATR of something like 0.0045; that's just 45 pips. But I'm lost when it comes to values bigger than that, because I can't imagine a trade with a SL of, say, 4333 pips (to use my ATR(20) example), especially if I'm scaling out and intend to enter three positions.
I realize this is the most absolute of absolute rookie questions, but in all my months of doing this I've never been able to figure it out. I appreciate your help!
submitted by dangerous_beans to Forex [link] [comments]

Swing trading the dailies

Hey everyone! New to the subreddit, I've been lurking for a couple of weeks and picking up some good stuff, so thank you all for your contributions.
A little background on me. I've been trading on and off for over 20 years. Made and lost several hundred thousand dollars while trading futures and equity options. I've never really gotten into forex before other than to do a little research and testing. I personally don't like to take pure directional bets so with futures I traded spreads and with options I was a premium seller.
But I'm giving it a try now and my first month (January) I'm up 6% on my demo account. So I thought I'd start a fresh account for February and share how things go. I've set up a myfxbook too if you're interested. If things go well I'll probably go live in March or April with a small account.
As indicated in the title I'm swing trading the daily charts, mostly holding trades for a few days although backtesting there are multi-week trends that I may have caught too, although I put much stock in backtesting.
For trade entries I keep things very simple with just Support/Resistance and using Heikin Ashi to identify strength or weakness. I'll then check IG and Oanda open positions to confirm I'm taking a position opposite most retail traders.
For TP I'm experimenting with multiples of ATR to take up to 2/3's off and allowing the remainder to ride with a trailing stop.
For initial SL I've been using the high/low of the previous bar but I'm also experimenting with ATR there too since I've noticed that my trades tend to either go quickly right or quickly wrong and when they go wrong they don't come back and when they go right they don't retrace back to entry, so a tighter SL may be wise.
Finally, I'm risking 1% of my account per trade.
Tomorrow I'll post the pairs that I'll be looking to get into Monday.
I think that's about it. If you have any questions or suggestions please feel free!
submitted by IndustrialFX to Forex [link] [comments]

MAME 0.210

MAME 0.210

It’s time for the delayed release of MAME 0.210, marking the end of May. This month, we’ve got lots of fixes for issues with supported systems, as well as some interesting additions. Newly added hand-held and tabletop games include Tronica’s Shuttle Voyage and Space Rescue, Mattel’s Computer Chess, and Parker Brothers’ Talking Baseball and Talking Football. On the arcade side, we’ve added high-level emulation of Gradius on Bubble System hardware and a prototype of the Neo Geo game Viewpoint. For this release, Jack Li has contributed an auto-fire plugin, providing additional functionality over the built-in auto-fire feature.
A number of systems have had been promoted to working, or had critical issues fixed, including the Heathkit H8, Lola 8A, COSMAC Microkit, the Soviet PC clone EC-1840, Zorba, and COMX 35. MMU issues affecting Apollo and Mac operating systems have been addressed. Other notable improvements include star field emulation in Tutankham, further progress on SGI emulation, Sega Saturn video improvements, write support for the CoCo OS-9 disk image format, and preliminary emulation for MP3 audio on Konami System 573 games.
There are lots of software list additions this month. Possibly most notable is the first dump of a Hanimex Pencil II cartridge, thanks to the silicium.org team. Another batch of cleanly cracked and original Apple II software has been added, along with more ZX Spectrum +3 software, and a number of Colour Genie cassette titles.
That’s all we’ve got space for here, but there are lots more bug fixes, alternate versions of supported arcade games, and general code quality improvements. As always, you can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to emulation [link] [comments]

MAME 0.210

MAME 0.210

It’s time for the delayed release of MAME 0.210, marking the end of May. This month, we’ve got lots of fixes for issues with supported systems, as well as some interesting additions. Newly added hand-held and tabletop games include Tronica’s Shuttle Voyage and Space Rescue, Mattel’s Computer Chess, and Parker Brothers’ Talking Baseball and Talking Football. On the arcade side, we’ve added high-level emulation of Gradius on Bubble System hardware and a prototype of the Neo Geo game Viewpoint. For this release, Jack Li has contributed an auto-fire plugin, providing additional functionality over the built-in auto-fire feature.
A number of systems have had been promoted to working, or had critical issues fixed, including the Heathkit H8, Lola 8A, COSMAC Microkit, the Soviet PC clone EC-1840, Zorba, and COMX 35. MMU issues affecting Apollo and Mac operating systems have been addressed. Other notable improvements include star field emulation in Tutankham, further progress on SGI emulation, Sega Saturn video improvements, write support for the CoCo OS-9 disk image format, and preliminary emulation for MP3 audio on Konami System 573 games.
There are lots of software list additions this month. Possibly most notable is the first dump of a Hanimex Pencil II cartridge, thanks to the silicium.org team. Another batch of cleanly cracked and original Apple II software has been added, along with more ZX Spectrum +3 software, and a number of Colour Genie cassette titles.
That’s all we’ve got space for here, but there are lots more bug fixes, alternate versions of supported arcade games, and general code quality improvements. As always, you can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to MAME [link] [comments]

MAME 0.210

MAME 0.210

It’s time for the delayed release of MAME 0.210, marking the end of May. This month, we’ve got lots of fixes for issues with supported systems, as well as some interesting additions. Newly added hand-held and tabletop games include Tronica’s Shuttle Voyage and Space Rescue, Mattel’s Computer Chess, and Parker Brothers’ Talking Baseball and Talking Football. On the arcade side, we’ve added high-level emulation of Gradius on Bubble System hardware and a prototype of the Neo Geo game Viewpoint. For this release, Jack Li has contributed an auto-fire plugin, providing additional functionality over the built-in auto-fire feature.
A number of systems have had been promoted to working, or had critical issues fixed, including the Heathkit H8, Lola 8A, COSMAC Microkit, the Soviet PC clone EC-1840, Zorba, and COMX 35. MMU issues affecting Apollo and Mac operating systems have been addressed. Other notable improvements include star field emulation in Tutankham, further progress on SGI emulation, Sega Saturn video improvements, write support for the CoCo OS-9 disk image format, and preliminary emulation for MP3 audio on Konami System 573 games.
There are lots of software list additions this month. Possibly most notable is the first dump of a Hanimex Pencil II cartridge, thanks to the silicium.org team. Another batch of cleanly cracked and original Apple II software has been added, along with more ZX Spectrum +3 software, and a number of Colour Genie cassette titles.
That’s all we’ve got space for here, but there are lots more bug fixes, alternate versions of supported arcade games, and general code quality improvements. As always, you can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to cade [link] [comments]

Master The ATR Indicator (Most Useful Indicator On The ... How to read ATR in Forex - Average True Range Indicator Explained FOREX : placement du Stop Loss selon l'ATR Using the ATR in Forex Trading - YouTube ATR Forex Trading IV and ATR (Implied Volatility and Average True Range) The ATR Indicator Is The Single Best Indicator Forex ...

They specifically used the 20-day ATR. The higher the value, the smaller the position they took and vice versa. ATR Indicator in Summary. The ATR indicator was originally designed with commodities in mind, but today it is widely applied to stocks and Forex. The 'Turtles' mentioned above, for example, traded a cross-section of bond, commodity, and Forex futures, and used the ATR as their ... - measure ATR for the previous 14 days (default) or 21 days (another preferred value); - for example, we’ve found that EURUSD 14 day ATR stands at 110 pips. - we choose to enter at breakout + 20% ATR (110 x 20% = 22 pips) - now, instead of rushing in on a breakout and risking to be whipsawed, we enter at 1.3000 + 22 pips = 1.3022 ATR indicator is also used for forex trading and also for cryptocurrency trading. Price Action Strategy. Currency Chart Indicator. This appliesto all the trader professionals and beginners. This is available for both short term trading and long term trading. This indicator used different color schemes that help the traders in easy understanding and it also uses a specific level or pip that ... Instead of 20 pips you can set stop loss to be 0.2 Daily ATR. So if today is 100 pips range it will 20 pips, but if it is 150 pips range it will be 30 pips stop loss. Your stop loss is following the current market average true range. So in your forex stop loss indicator, you just need to set stop loss to be as a function from ATR. The ATR can also help decide how much you should devote to ... Learn Forex – ATR Indikator in Pips (Erstellt mit FXCM’s Marketscope 2.0 Charts) Der Indikator in Pips ATR ist ein Custom Indicator für die Marketscope 2.0 Charts und kann innerhalb der FXCM ... ATR Trend Strategy is a classic intraday strategy trend following based on moving average, parabolic sar and Atr. You can apply this strategy a more currency pairs at the same time. This is a winning strategy happy pips.This strategy is also suitable with median renko chart. Die Average True Range kann für ganz verschiedene Zwecke eingesetzt werden: So dienst der ATR Indikator von J. Welles Wilder unter anderem der Bestimmung eines Trends, der Identifizierung eines Stops oder zum Festlegen eines Exit-Punktes. Alles zu den Einsatzmöglichkeiten und der richtigen Anwendung erfahren Sie hier.

[index] [23245] [25309] [4022] [18697] [20645] [18286] [13112] [20858] [7788] [24884]

Master The ATR Indicator (Most Useful Indicator On The ...

VIP EAP Mentorship Program - https://eaptrainingprogram.com/video-sales-page Pro Trader Report - https://protraderreport.com/ptr Free Spreadsheet - FREE cour... Video on the Average Trade Range of a currency pair Want to learn more? FIRST: Download our FREE ebook "4 THINGS YOU MUST KNOW TO TRADE IN HARMONY WITH THE B... I have tested thousands. The ATR indicator won. The Average True Range Indicator, or the ATR Indicator for short, if used the right way, is something every F... The first 20 hours -- how to learn anything ... The ATR Indicator Is The Single Best Indicator Forex Traders Can Have (Use It or Lose It) - Duration: 16:40. No Nonsense Forex 705,645 views. 16:40 ... BEGINNER FOREX TRADING GUIDE (The ATR Indicator) - Duration: 18:46. Greg Secker - Learn To Trade 10,202 views. 18:46. forex - Duration: 1:28:06. Simple Ton 267 views. 1:28:06. Euro Nymphing How ... How to read ATR in Forex - Average True Range Indicator Explained The Average True Range (ATR) is a simple yet very effective technical indicator, developed by the American mechanical engineer J ... The ATR Indicator Is The Single Best Indicator Forex Traders Can Have ... (Thinkorswim Day Trading Set Up, Scanners, Indicators, On Demand etc) - Duration: 20:11 . Humbled Trader 275,423 views. 20 ...

http://binaryoptiontrade.bodetirabut.tk