//
// Button groups
// --------------------------------------------------
// Make the div behave like a button
.btn-group,
.btn-group-vertical {
position: relative;
display: inline-block;
vertical-align: middle; // match .btn alignment given font-size hack above
> .btn {
position: relative;
float: left;
// Bring the "active" button to the front
&:hover,
&:focus,
&:active,
&.active {
z-index: 2;
}
&:focus {
// Remove focus outline when dropdown JS adds it after closing the menu
outline: 0;
}
}
}
// Prevent double borders when buttons are next to each other
.btn-group {
.btn + .btn,
.btn + .btn-group,
.btn-group + .btn,
.btn-group + .btn-group {
margin-left: -1px;
}
}
// Optional: Group multiple button groups together for a toolbar
.btn-toolbar {
margin-left: -5px; // Offset the first child's margin
&:extend(.clearfix all);
.btn-group,
.input-group {
float: left;
}
> .btn,
> .btn-group,
> .input-group {
margin-left: 5px;
}
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
.btn-group > .btn:first-child {
margin-left: 0;
&:not(:last-child):not(.dropdown-toggle) {
.border-right-radius(0);
}
}
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
.border-left-radius(0);
}
// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child {
> .btn:last-child,
> .dropdown-toggle {
.border-right-radius(0);
}
}
.btn-group > .btn-group:last-child > .btn:first-child {
.border-left-radius(0);
}
// On active and open, don't show outline
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
// Sizing
//
// Remix the default button sizing classes into new ones for easier manipulation.
.btn-group-xs > .btn { &:extend(.btn-xs); }
.btn-group-sm > .btn { &:extend(.btn-sm); }
.btn-group-lg > .btn { &:extend(.btn-lg); }
// Split button dropdowns
// ----------------------
// Give the line between buttons some depth
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
}
// The clickable button for toggling the menu
// Remove the gradient and set the same inset shadow as the :active state
.btn-group.open .dropdown-toggle {
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
// Show no shadow for `.btn-link` since it has no other button styles.
&.btn-link {
.box-shadow(none);
}
}
// Reposition the caret
.btn .caret {
margin-left: 0;
}
// Carets in other button sizes
.btn-lg .caret {
border-width: @caret-width-large @caret-width-large 0;
border-bottom-width: 0;
}
// Upside down carets for .dropup
.dropup .btn-lg .caret {
border-width: 0 @caret-width-large @caret-width-large;
}
// Vertical button groups
// ----------------------
.btn-group-vertical {
> .btn,
> .btn-group,
> .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
// Clear floats so dropdown menus can be properly placed
> .btn-group {
&:extend(.clearfix all);
> .btn {
float: none;
}
}
> .btn + .btn,
> .btn + .btn-group,
> .btn-group + .btn,
> .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
}
.btn-group-vertical > .btn {
&:not(:first-child):not(:last-child) {
border-radius: 0;
}
&:first-child:not(:last-child) {
border-top-right-radius: @border-radius-base;
.border-bottom-radius(0);
}
&:last-child:not(:first-child) {
border-bottom-left-radius: @border-radius-base;
.border-top-radius(0);
}
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) {
> .btn:last-child,
> .dropdown-toggle {
.border-bottom-radius(0);
}
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
.border-top-radius(0);
}
// Justified button groups
// ----------------------
.btn-group-justified {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
> .btn,
> .btn-group {
float: none;
display: table-cell;
width: 1%;
}
> .btn-group .btn {
width: 100%;
}
> .btn-group .dropdown-menu {
left: auto;
}
}
// Checkbox and radio options
//
// In order to support the browser's form validation feedback, powered by the
// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot
// use `display: none;` or `visibility: hidden;` as that also hides the popover.
// This way, we ensure a DOM element is visible to position the popover from.
//
// See https://github.com/twbs/bootstrap/pull/12794 for more.
[data-toggle="buttons"] > .btn > input[type="radio"],
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
position: absolute;
z-index: -1;
.opacity(0);
}
.elementor-animation-grow-rotate {
transition-duration: 0.3s;
transition-property: transform;
}
.elementor-animation-grow-rotate:active,
.elementor-animation-grow-rotate:focus,
.elementor-animation-grow-rotate:hover {
transform: scale(1.1) rotate(4deg);
}
Yes, FP Markets allows scalping strategies and high-frequency trading. HFM impressed me because it offers tight spreads and smooth execution even in volatile markets. The account types and educational tools are perfect for Pakistani traders who are still learning. Price action trading is a strategy that focuses on analyzing raw price movements without relying heavily on indicators. Traders study candlestick patterns, support and resistance levels, and trend structures to make decisions based on pure market behavior.
If you need a broker with good forex education materials, tastyfx may be the top choice. MT4 and MT5 have already been discussed and are top platforms to consider, especially for automations and creating custom indicators. TradingView platform is also available and this platform has even more charting features plus social trading.

Your choice depends on your trading style, risk tolerance, and whether you want short-term price movements or long-term exposure. You can teach yourself forex trading with the right approach and resources. Start by using free educational platforms like BabyPips, IG Academy, or eToro Academy. These tools explain forex market basics, currency pairs, and forex trading strategies in simple steps.
As has been discussed earlier in the article, narrow spreads lower entry/exit costs and are especially valuable for high-volume strategies. Ultimately, choosing the right broker involves balancing spreads against other factors (commission, service, reliability). By prioritizing tight spread conditions, traders can improve their potential returns and trade with confidence. Saxo Bank caters to both retail and professional traders, offering competitive spreads, multiple account types, and robust trading platforms, including SaxoTraderGO and SaxoTraderPRO. While Saxo Bank is suitable for traders of varying levels, it may be best for those with a bit more experience, given the higher minimum deposit requirements. Exness is a regulated forex broker offering spreads from 0.0 pips on its Raw/Zero account types and around 0.1–0.3 pips on pro/standard accounts for major currency pairs.
MetaTrader 4 is the most popular and used mainstream platform in the market. All these brokers listed are regulated by both the Commodity Futures Trading Commission (CFTC) and by the National Futures Association (NFA) making them suitable for U.S. traders. The sole exception is eToro, which is regulated by the Securities Exchange Commission (SEC) and the Financial Industry Regulatory Authority (FINRA) within the USA. MT4 forex trading has a built-in compiler & editor with access to articles, customer service, and a free software library. This software uses MQL4 & MQL5, which is MetaTrader’s propriety language designed for automated trading that enables Expert Advisors, which is explained further below. The user interface of MetaTrader 4 software is all about maximising ease of use and efficiency for a user-friendly trading experience.

Brokers that minimize slippage are preferred by scalpers, high-frequency traders, and algorithmic traders who need accurate and consistent order execution. I liked Pepperstone because it combines professional trading tools with easy access for Pakistani traders. Price action trading is a strategy that focuses on analyzing the raw movements of a market’s price over time to make trading decisions. It relies on price charts and candlestick patterns rather than on technical indicators or fundamental analysis.
The client software is then provided to the forex broker’s customers to observe financial instruments in various currency markets and execute orders as needed. MT4 software is Windows-based (Microsoft) and allows robots and trading scripts to be created with ease. A newer MT5 version was released in 2013, but most forex brokers offer the MT4 based on the original platform’s ease of use.
The Raw Account charges a commission (e.g., $3 per side per lot for FX) in addition to very tight spreads. The Raw Spread and Zero accounts offer spreads from 0.0 pips, but incur a trading commission per lot. The Pro account, however, is commission-free but has spreads from 0.1 pips.
Strategic evaluation requires a structured approach to filter marketing noise. The goal is to collect execution evidence early, then confirm it under live conditions. That sequence keeps decision time predictable and reduces rework when volumes rise. Gateways, FIX sessions, bridge maintenance, and support SLAs sit on top of the raw price stream, and they tend to scale with venues, symbols, and message rates.
Before trading, you should carefully consider your investment objective, experience, and risk appetite. Like any investment, there is a possibility that you could sustain losses of some or all of your investment whilst trading. You should seek independent advice before trading if you have any doubts. Past performance in the markets is not a reliable indicator of future performance.
]]>