# How do you decide if a pair is too expensive to trade (spread costs)?

1147

Hi forum,

I had a look at some exotics and noticed that they often have large spreads but their daily ranges are also much higher than the major's ranges. For example the USDMXN has around 30 pips spread but the average daily range of the last 5 days is around 1360 pips. When I take this into consideration and divide the spread by the average daily range, the spread-daily range-ratio is just 2.5%. And this is the same the EURUSD has.

Is there anything wrong with my calculations or do I oversee anything here?

Do you use different calculations to determine if a pair is "too expensive"?

This is the indicator I made for myself:

```#property copyright ""
#property version   "1.00"
#property strict
#property indicator_chart_window
datetime leftTime;
string strTime;
int dbl2pips, Decimals;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
//---
if (MarketInfo(NULL, MODE_PROFITCALCMODE) == 0) {
dbl2pips = (int)MathPow(10, Digits-1);
Decimals = 1;
}
else if (MarketInfo(NULL, MODE_PROFITCALCMODE) == 1) {
dbl2pips = 1;
Decimals = Digits;
}
else return(-1);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
{
//---
if (Period() <= PERIOD_D1) {
leftTime = (Period()*60)-(TimeCurrent()-Time[0]);
strTime  = "  |  CANDLE CLOSE: " + TimeToStr(leftTime, TIME_SECONDS);
}
else strTime = "";
ATR = iATR(NULL, PERIOD_D1, 5, 1);
DayRange = iHigh(NULL, PERIOD_D1, 0) - iLow(NULL, PERIOD_D1, 0);

Comment  (
"  |  TODAY: ", DoubleToStr(DayRange*dbl2pips, 2),
"  (", DoubleToStr((DayRange / ATR)*100, 2), "%)",
"  |  RATIO: ", DoubleToStr(Spread/ATR*100*Point, 2), "%",
"  |  SWAP (", AccountCurrency(), "): LONG ", DoubleToStr((MarketInfo(NULL, MODE_SWAPLONG)*MarketInfo(NULL, MODE_TICKVALUE)), 2),
" | SHORT ", DoubleToStr((MarketInfo(NULL, MODE_SWAPSHORT)*MarketInfo(NULL, MODE_TICKVALUE)), 2),
strTime
);
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+```
153

i never tought to divide spread and atr but find this interresting for ranking purpose....

1147

Unfortunately, no one is interested... I also hoped for some additional ideas or information.
15577

mar:  I also hoped for some additional ideas or information.

I test for a minimum required RRR = (OrderTakeProfit - OrderOpenPrice) / (OrderOpenPrice - OrderStopLoss)

1147

That's what I do before each trade. But do you trade all pairs your broker offers? If not, why not and which pairs do you avoid? I noticed that the ratio between the spread and the average daily range is way too big on East European currencies like EURRUB, EURRON, EURPLN, USDRUB etc.. Here the range/spread-ratio is over 20%.

Earlier I avoided trading the Turkish Lira (EURTRY and USDTRY) but after calculating the range/spread-ratio I saw that it is something around 5% in the London session. That's acceptable for me. And I had some good trades with these pairs.