Forex Renko Trading System - ATR V/s Fixed Box size

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]

Former investment bank FX trader: Risk management part II

Former investment bank FX trader: Risk management part II
Firstly, thanks for the overwhelming comments and feedback. Genuinely really appreciated. I am pleased 500+ of you find it useful.
If you didn't read the first post you can do so here: risk management part I. You'll need to do so in order to make sense of the topic.
As ever please comment/reply below with questions or feedback and I'll do my best to get back to you.
Part II
  • Letting stops breathe
  • When to change a stop
  • Entering and exiting winning positions
  • Risk:reward ratios
  • Risk-adjusted returns

Letting stops breathe

We talked earlier about giving a position enough room to breathe so it is not stopped out in day-to-day noise.
Let’s consider the chart below and imagine you had a trailing stop. It would be super painful to miss out on the wider move just because you left a stop that was too tight.

Imagine being long and stopped out on a meaningless retracement ... ouch!
One simple technique is simply to look at your chosen chart - let’s say daily bars. And then look at previous trends and use the measuring tool. Those generally look something like this and then you just click and drag to measure.
For example if we wanted to bet on a downtrend on the chart above we might look at the biggest retracement on the previous uptrend. That max drawdown was about 100 pips or just under 1%. So you’d want your stop to be able to withstand at least that.
If market conditions have changed - for example if CVIX has risen - and daily ranges are now higher you should incorporate that. If you know a big event is coming up you might think about that, too. The human brain is a remarkable tool and the power of the eye-ball method is not to be dismissed. This is how most discretionary traders do it.
There are also more analytical approaches.
Some look at the Average True Range (ATR). This attempts to capture the volatility of a pair, typically averaged over a number of sessions. It looks at three separate measures and takes the largest reading. Think of this as a moving average of how much a pair moves.
For example, below shows the daily move in EURUSD was around 60 pips before spiking to 140 pips in March. Conditions were clearly far more volatile in March. Accordingly, you would need to leave your stop further away in March and take a correspondingly smaller position size.

ATR is available on pretty much all charting systems
Professional traders tend to use standard deviation as a measure of volatility instead of ATR. There are advantages and disadvantages to both. Averages are useful but can be misleading when regimes switch (see above chart).
Once you have chosen a measure of volatility, stop distance can then be back-tested and optimised. For example does 2x ATR work best or 5x ATR for a given style and time horizon?
Discretionary traders may still eye-ball the ATR or standard deviation to get a feeling for how it has changed over time and what ‘normal’ feels like for a chosen study period - daily, weekly, monthly etc.

Reasons to change a stop

As a general rule you should be disciplined and not change your stops. Remember - losers average losers. This is really hard at first and we’re going to look at that in more detail later.
There are some good reasons to modify stops but they are rare.
One reason is if another risk management process demands you stop trading and close positions. We’ll look at this later. In that case just close out your positions at market and take the loss/gains as they are.
Another is event risk. If you have some big upcoming data like Non Farm Payrolls that you know can move the market +/- 150 pips and you have no edge going into the release then many traders will take off or scale down their positions. They’ll go back into the positions when the data is out and the market has quietened down after fifteen minutes or so. This is a matter of some debate - many traders consider it a coin toss and argue you win some and lose some and it all averages out.
Trailing stops can also be used to ‘lock in’ profits. We looked at those before. As the trade moves in your favour (say up if you are long) the stop loss ratchets with it. This means you may well end up ‘stopping out’ at a profit - as per the below example.

The mighty trailing stop loss order
It is perfectly reasonable to have your stop loss move in the direction of PNL. This is not exposing you to more risk than you originally were comfortable with. It is taking less and less risk as the trade moves in your favour. Trend-followers in particular love trailing stops.
One final question traders ask is what they should do if they get stopped out but still like the trade. Should they try the same trade again a day later for the same reasons? Nope. Look for a different trade rather than getting emotionally wed to the original idea.
Let’s say a particular stock looked cheap based on valuation metrics yesterday, you bought, it went down and you got stopped out. Well, it is going to look even better on those same metrics today. Maybe the market just doesn’t respect value at the moment and is driven by momentum. Wait it out.
Otherwise, why even have a stop in the first place?

Entering and exiting winning positions

Take profits are the opposite of stop losses. They are also resting orders, left with the broker, to automatically close your position if it reaches a certain price.
Imagine I’m long EURUSD at 1.1250. If it hits a previous high of 1.1400 (150 pips higher) I will leave a sell order to take profit and close the position.
The rookie mistake on take profits is to take profit too early. One should start from the assumption that you will win on no more than half of your trades. Therefore you will need to ensure that you win more on the ones that work than you lose on those that don’t.

Sad to say but incredibly common: retail traders often take profits way too early
This is going to be the exact opposite of what your emotions want you to do. We are going to look at that in the Psychology of Trading chapter.
Remember: let winners run. Just like stops you need to know in advance the level where you will close out at a profit. Then let the trade happen. Don’t override yourself and let emotions force you to take a small profit. A classic mistake to avoid.
The trader puts on a trade and it almost stops out before rebounding. As soon as it is slightly in the money they spook and cut out, instead of letting it run to their original take profit. Do not do this.

Entering positions with limit orders

That covers exiting a position but how about getting into one?
Take profits can also be left speculatively to enter a position. Sometimes referred to as “bids” (buy orders) or “offers” (sell orders). Imagine the price is 1.1250 and the recent low is 1.1205.
You might wish to leave a bid around 1.2010 to enter a long position, if the market reaches that price. This way you don’t need to sit at the computer and wait.
Again, typically traders will use tech analysis to identify attractive levels. Again - other traders will cluster with your orders. Just like the stop loss we need to bake that in.
So this time if we know everyone is going to buy around the recent low of 1.1205 we might leave the take profit bit a little bit above there at 1.1210 to ensure it gets done. Sure it costs 5 more pips but how mad would you be if the low was 1.1207 and then it rallied a hundred points and you didn’t have the trade on?!
There are two more methods that traders often use for entering a position.
Scaling in is one such technique. Let’s imagine that you think we are in a long-term bulltrend for AUDUSD but experiencing a brief retracement. You want to take a total position of 500,000 AUD and don’t have a strong view on the current price action.
You might therefore leave a series of five bids of 100,000. As the price moves lower each one gets hit. The nice thing about scaling in is it reduces pressure on you to pick the perfect level. Of course the risk is that not all your orders get hit before the price moves higher and you have to trade at-market.
Pyramiding is the second technique. Pyramiding is for take profits what a trailing stop loss is to regular stops. It is especially common for momentum traders.

Pyramiding into a position means buying more as it goes in your favour
Again let’s imagine we’re bullish AUDUSD and want to take a position of 500,000 AUD.
Here we add 100,000 when our first signal is reached. Then we add subsequent clips of 100,000 when the trade moves in our favour. We are waiting for confirmation that the move is correct.
Obviously this is quite nice as we humans love trading when it goes in our direction. However, the drawback is obvious: we haven’t had the full amount of risk on from the start of the trend.
You can see the attractions and drawbacks of both approaches. It is best to experiment and choose techniques that work for your own personal psychology as these will be the easiest for you to stick with and build a disciplined process around.

Risk:reward and win ratios

Be extremely skeptical of people who claim to win on 80% of trades. Most traders will win on roughly 50% of trades and lose on 50% of trades. This is why risk management is so important!
Once you start keeping a trading journal you’ll be able to see how the win/loss ratio looks for you. Until then, assume you’re typical and that every other trade will lose money.
If that is the case then you need to be sure you make more on the wins than you lose on the losses. You can see the effect of this below.

A combination of win % and risk:reward ratio determine if you are profitable
A typical rule of thumb is that a ratio of 1:3 works well for most traders.
That is, if you are prepared to risk 100 pips on your stop you should be setting a take profit at a level that would return you 300 pips.
One needn’t be religious about these numbers - 11 pips and 28 pips would be perfectly fine - but they are a guideline.
Again - you should still use technical analysis to find meaningful chart levels for both the stop and take profit. Don’t just blindly take your stop distance and do 3x the pips on the other side as your take profit. Use the ratio to set approximate targets and then look for a relevant resistance or support level in that kind of region.

Risk-adjusted returns

Not all returns are equal. Suppose you are examining the track record of two traders. Now, both have produced a return of 14% over the year. Not bad!
The first trader, however, made hundreds of small bets throughout the year and his cumulative PNL looked like the left image below.
The second trader made just one bet — he sold CADJPY at the start of the year — and his PNL looked like the right image below with lots of large drawdowns and volatility.
Would you rather have the first trading record or the second?
If you were investing money and betting on who would do well next year which would you choose? Of course all sensible people would choose the first trader. Yet if you look only at returns one cannot distinguish between the two. Both are up 14% at that point in time. This is where the Sharpe ratio helps .
A high Sharpe ratio indicates that a portfolio has better risk-adjusted performance. One cannot sensibly compare returns without considering the risk taken to earn that return.
If I can earn 80% of the return of another investor at only 50% of the risk then a rational investor should simply leverage me at 2x and enjoy 160% of the return at the same level of risk.
This is very important in the context of Execution Advisor algorithms (EAs) that are popular in the retail community. You must evaluate historic performance by its risk-adjusted return — not just the nominal return. Incidentally look at the Sharpe ratio of ones that have been live for a year or more ...
Otherwise an EA developer could produce two EAs: the first simply buys at 1000:1 leverage on January 1st ; and the second sells in the same manner. At the end of the year, one of them will be discarded and the other will look incredible. Its risk-adjusted return, however, would be abysmal and the odds of repeated success are similarly poor.

Sharpe ratio

The Sharpe ratio works like this:
  • It takes the average returns of your strategy;
  • It deducts from these the risk-free rate of return i.e. the rate anyone could have got by investing in US government bonds with very little risk;
  • It then divides this total return by its own volatility - the more smooth the return the higher and better the Sharpe, the more volatile the lower and worse the Sharpe.
For example, say the return last year was 15% with a volatility of 10% and US bonds are trading at 2%. That gives (15-2)/10 or a Sharpe ratio of 1.3. As a rule of thumb a Sharpe ratio of above 0.5 would be considered decent for a discretionary retail trader. Above 1 is excellent.
You don’t really need to know how to calculate Sharpe ratios. Good trading software will do this for you. It will either be available in the system by default or you can add a plug-in.

VAR

VAR is another useful measure to help with drawdowns. It stands for Value at Risk. Normally people will use 99% VAR (conservative) or 95% VAR (aggressive). Let’s say you’re long EURUSD and using 95% VAR. The system will look at the historic movement of EURUSD. It might spit out a number of -1.2%.

A 5% VAR of -1.2% tells you you should expect to lose 1.2% on 5% of days, whilst 95% of days should be better than that
This means it is expected that on 5 days out of 100 (hence the 95%) the portfolio will lose 1.2% or more. This can help you manage your capital by taking appropriately sized positions. Typically you would look at VAR across your portfolio of trades rather than trade by trade.
Sharpe ratios and VAR don’t give you the whole picture, though. Legendary fund manager, Howard Marks of Oaktree, notes that, while tools like VAR and Sharpe ratios are helpful and absolutely necessary, the best investors will also overlay their own judgment.
Investors can calculate risk metrics like VaR and Sharpe ratios (we use them at Oaktree; they’re the best tools we have), but they shouldn’t put too much faith in them. The bottom line for me is that risk management should be the responsibility of every participant in the investment process, applying experience, judgment and knowledge of the underlying investments.Howard Marks of Oaktree Capital
What he’s saying is don’t misplace your common sense. Do use these tools as they are helpful. However, you cannot fully rely on them. Both assume a normal distribution of returns. Whereas in real life you get “black swans” - events that should supposedly happen only once every thousand years but which actually seem to happen fairly often.
These outlier events are often referred to as “tail risk”. Don’t make the mistake of saying “well, the model said…” - overlay what the model is telling you with your own common sense and good judgment.

Coming up in part III

Available here
Squeezes and other risks
Market positioning
Bet correlation
Crap trades, timeouts and monthly limits

***
Disclaimer:This content is not investment advice and you should not place any reliance on it. The views expressed are the author's own and should not be attributed to any other person, including their employer.
submitted by getmrmarket 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]

GBP/USD POTENTIAL +3.4% UPSIDE

THE BRITISH POUND SURGES FROM THE ASHES WITH A BULL MARUBUZO, AFTER A DOJI DRAGONFLY CANDLESTICK, ON THE BACK OF STRONGER THAN EXPECTED CPI DATA, SIGNAL THAT UK CONSUMERS HAVE BEEN SPENDING, WHILE THE POSSIBILITY OF THE UK ECONOMY REBOUNDING DECENTLY, GIVEN ALSO THE POTENTIAL AVAILABILITY OF A UK MADE VACCINE READY TO BE DEPLOYED IN WINTER Q4.THE GBP/USD CHART HINTS TO FEW TECHNICAL POINTS THAT SUPPORT THE BUY SIGNAL IN THE BRITISH POUND: THE RSI(14) OSCILLATOR MOVES HIGHER ON A DOUBLE BOTTOM PATTERN, THE ICHIMOKU TENKAN LINE PROVIDES SUPPORT, WHILE ALSO HAVING MOVED THROUGH THE IKH KIJUN LINE AS A BUY SIGNAL, FURTHERMORE CLEARING OFF THE GBP/USD 1.2698 200 DAYS MOVING AVERAGE CAN EVENTUALLY GIVE A CONSISTENT BUY SIGNAL WITH CONCRETE MARKET POSSIBILITY OF CABLE MOVING TOWARD GBP/USD 1.30 IN A +3.0%.HAVING SAID THAT, WORTH TO NOTICE THAT IN THE LONGER TERM, A PERMANENT BUY SIGNAL FOR THE POUND WOULD REQUIRE A FLOOR EXCHANGE RATE OF GBP/USD 1.40 AND ABOVE, THEREOF A SHORT TERM UPSIDE MOVE +3.0% TO GBP/USD 1.30 DOES NOT PROVIDE A LONGER HORIZON FORECAST; IN SO A CONSISTENT CHANGE IN THE BRITISH WILL REQUIRE AN OVERALL LONGER TERM CHANGE IN MARKET POSITIONING AMONG ASSETS MANAGERS/INSTITUTIONAL INVESTORS AND LEVERAGED FUND THAT HAVE HEAVILY SKEWED POSITION SHORT ON GBP/USD. IN FACT FOR AN OVERALL 105 MOST RELEVANT FOREX MARKETS INVESTORS, 57 BETWEEN ASSETS MANAGERS/INSTITUTIONAL AND LEVERAGE FUNDS ARE CONSISTENTLY SHORT ON THE BRITISH POUND FOR AN OVERALL 128,805 CONTRACTS IN A TOTAL 180,969 CONTRACTS.

Technical Indicators

NameValueAction
RSI(14)60.081Buy
STOCH(9,6)76.362Buy
STOCHRSI(14)99.545Overbought
MACD(12,26)0.005Buy
ADX(14)25.732Neutral
Williams %R-6.794Overbought
CCI(14)101.9183Buy
ATR(14)0.0104Less Volatility
Highs/Lows(14)0.0092Buy
Ultimate Oscillator56.632Buy
ROC1.808Buy
Bull/Bear Power(13)0.0109Buy
Buy: 8 Sell: 0 Neutral: 1
Summary:STRONG BUY

Moving Averages

PeriodSimpleExponential
MA51.2595
Buy
1.2588
Buy
MA101.2557
Buy
1.2556
Buy
MA201.2484
Buy
1.2524
Buy
MA501.2442
Buy
1.2476
Buy
MA1001.2426
Buy
1.2522
Buy
MA2001.2704
Sell
1.2605
Buy
Buy: Sell:
Summary:BUY

from Blogger https://ift.tt/32r2Lm1
via IFTTT
submitted by lucas8282 to STOCKMARKETNEWS [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]

The ATR Indicator Is The Single Best Indicator Forex ... Trading ATR Setup on Forex 5 Minute Timeframe How to Use the Average True Range Indicator (ATR) 📈 - YouTube An Unbiased View of Easy ATR (14) - Price Volatility ... The 45-Second Trick For Easy ATR (14) - Price Volatility ... How to Use ATR Indicator to Set Stoploss (MY APPROACH ... Trading mit ATR (Average True Range) Indikator erklärt  Tutorial (Deutsch)

A ready made expert adviser template to use for further development - Free download of the 'Basic ATR based take and stop expert adviser' expert by 'kenpar' for MetaTrader 4 in the MQL5 Code Base, 2020.03.14 Hier zeigt die ATR(14) für den DAX einen Wert von 141,31 Punkten an, während der Schlusskurs bei 9.446,69 Punkten liegt. Addieren wir zu diesem den ATR Wert hinzu, ergäbe sich ein oberer ... On these settings, all the ATR does is tell you on average, how many pips from top to bottom price has moved in the last 14 candles. And that’s it. By doing this, it became the world’s best Forex trading indicator. Seriously. But let’s keep going. So change nothing, and just hit OK. The indicator will display. You will see a line. The standard ATR setting is 14, so it calculates the average of the true range over the past 14 periods. Like ADX, the ATR creates the single line that appears in the sub-graph below the chart. A low ATR shows that the price for the market is level and that there is little to no volatility in the market. A high ATR indicates that the markets are volatile. In the USD/JPY chart, you can see that ... Die folgenden ATR-Werte werden darauf aufbauend berechnet (x steht für die aktuelle Periode nach den ersten n Perioden). Je mehr Perioden verwendet werden, desto schwerfälliger reagiert die ATR auf Veränderungen der Volatilität. Wilder empfahl in seinem Werk, Periodeneinstellungen von 7 und 14, abhängig vom verwendeten Trading-System. Die ... Forex Renko trading system – ATR Based. In the ATR based forex Renko trading system, the Renko charting is typically configured to a 14 period ATR. For example, if the 14 period ATR for EURUSD is 20 pips, then the Renko bricks are constructed based on 20 pips. After a certain period of time, due to volatility should the ATR change, the pip value also changes, which therefore results in the ... How to Read a ATR Chart. The ATR with a period setting of “14” is presented on the bottom portion of the above “15 Minute” chart for the “GBP/USD” currency pair. In the example above, the “Red” line is the ATR. The ATR values in this example vary between 5 and 29 “pips”.

[index] [15197] [8541] [22389] [24757] [8240] [21979] [7823] [24822] [2751] [17708]

The ATR Indicator Is The Single Best Indicator Forex ...

Using the Average True Range. http://www.financial-spread-betting.com/course/volume.html PLEASE LIKE AND SHARE THIS VIDEO SO WE CAN DO MORE! This lesson is a... 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... CLICK HERE FOR MORE INFO: https://rebrand.ly/forex33 And start earning in the Forex Market Now! In our expanding international corporate setting, there are f... Risikowarnung: der Handel mit Binären Optionen, Forex, Kryptowährungen oder CFD kann nicht für jedermann geeignet sein, so stellen Sie bitte sicher, dass Sie die Risiken vollständig verstehen ... JOIN MY ACADEMY Income-Mentor-Box https://www.incomementorbox.com/ 👉Income Mentor Box read FULL Review http://www.investing-news.net/income-mentor-box-d... CLICK HERE FOR MORE INFO: https://rebrand.ly/forex33And start earning in the Forex Market Now!In our expanding international business environment, there are... The ATR Forex Indicator. A FREE Average True Range tool that makes wealthy traders even more wealthy - Duration: 14:33. Expert4x 32,481 views. 14:33. ...

https://binary-optiontrade.laterpa.tk