SiamCafe.net Blog
Technology

GMI คืออะไร — รีวิว Forex Broker สำหรับเทรดเดอร์ไทย

gmi คอ
Gmi คืออะไร | SiamCafe Blog
2026-05-19· อ. บอม — SiamCafe.net· 1,651 คำ

GMI คืออะไรและทำไมต้องรู้

GMI (Global Market Index) เป็น Forex broker ที่ให้บริการเทรด Forex, CFDs, commodities, indices และ cryptocurrencies ก่อตั้งในปี 2009 มีสำนักงานใหญ่ในนิวซีแลนด์และสหราชอาณาจักร ได้รับ license จาก FCA (UK) และ FSPR (New Zealand)

GMI ให้บริการ trading platform หลายแบบ ได้แก่ MetaTrader 4 (MT4) แพลตฟอร์มที่ใช้มากที่สุดในโลก, MetaTrader 5 (MT5) version ใหม่ที่มี features มากขึ้น และ GMI Edge แพลตฟอร์มเฉพาะของ GMI ที่ออกแบบสำหรับ mobile trading

จุดเด่นของ GMI ได้แก่ Spread ต่ำเริ่มต้น 0.0 pips สำหรับ ECN account, Leverage สูงสุด 1:2000, Deposit ขั้นต่ำ $15 สำหรับ Cent account, Execution เร็ว average 50ms, รองรับ EA (Expert Advisors) และ automated trading, มี Swap-free account สำหรับ Islamic trading และ Copy Trading ให้ follow traders เก่งๆ ได้

GMI Broker ภาพรวมและบริการ

รายละเอียดบริการของ GMI

# === GMI Broker Overview ===

# 1. Account Types
# ===================================
# Standard Account:
#   - Minimum Deposit: $100
#   - Spread: from 1.2 pips
#   - Commission: None
#   - Leverage: up to 1:1000
#   - Instruments: Forex, Metals, Oil, Indices
#
# ECN Account:
#   - Minimum Deposit: $500
#   - Spread: from 0.0 pips
#   - Commission: $7 per lot round turn
#   - Leverage: up to 1:500
#   - Instruments: Forex, Metals, Oil, Indices, Crypto
#
# Cent Account:
#   - Minimum Deposit: $15
#   - Spread: from 1.5 pips
#   - Commission: None
#   - Leverage: up to 1:2000
#   - Balance shown in cents (1 USD = 100 units)
#   - Good for beginners to practice with real money

# 2. Trading Instruments
# ===================================
# Forex Pairs: 50+ pairs
#   Major: EUR/USD, GBP/USD, USD/JPY, USD/CHF
#   Minor: EUR/GBP, EUR/AUD, GBP/JPY
#   Exotic: USD/THB, USD/SGD, EUR/TRY
#
# Metals: XAU/USD (Gold), XAG/USD (Silver)
# Oil: USOIL (WTI), UKOIL (Brent)
# Indices: US30, SPX500, NAS100, UK100, GER40
# Crypto: BTC/USD, ETH/USD, LTC/USD

# 3. Deposit and Withdrawal Methods
# ===================================
# - Bank Wire Transfer (1-3 business days)
# - Credit/Debit Card (instant)
# - Skrill / Neteller (instant)
# - Local Bank Transfer (Thailand supported)
# - Cryptocurrency (BTC, USDT)
# - No deposit fees (broker absorbs)
# - Withdrawal processing: 1 business day

# 4. Regulation and Security
# ===================================
# - FCA UK (Financial Conduct Authority)
# - FSPR New Zealand
# - Segregated client funds
# - Negative balance protection
# - SSL encryption for all transactions

echo "GMI broker overview"

เปิดบัญชี GMI และเริ่มเทรด

ขั้นตอนเปิดบัญชีและตั้งค่า

# === เปิดบัญชี GMI ===

# 1. Registration Steps
# ===================================
# Step 1: ไปที่ gmimarkets.com
# Step 2: คลิก "Open Account"
# Step 3: กรอกข้อมูลส่วนตัว
#   - ชื่อ-นามสกุล (ตรงกับบัตรประชาชน/passport)
#   - อีเมล
#   - เบอร์โทรศัพท์
#   - ประเทศ: Thailand
# Step 4: เลือกประเภทบัญชี (แนะนำ Standard สำหรับเริ่มต้น)
# Step 5: ยืนยันตัวตน (KYC)
#   - อัพโหลดบัตรประชาชนหรือ passport
#   - อัพโหลด proof of address (bill ค่าน้ำ/ไฟ หรือ bank statement)
# Step 6: รอ verify 1-2 วันทำการ
# Step 7: ฝากเงินและเริ่มเทรด

# 2. MT4 Setup
# ===================================
# Download MT4 จาก GMI website
# หรือ install ผ่าน command line:

# Windows:
# Download จาก https://download.mql5.com/cdn/web/gmi.edge/mt4/gmimarkets4setup.exe

# Linux (via Wine):
# sudo apt install wine
# wine gmimarkets4setup.exe

# MT4 Login:
# Server: GMI-Live หรือ GMI-Demo
# Login: (เลข account ที่ได้จาก email)
# Password: (password ที่ตั้งไว้)

# 3. MT4 Configuration
# ===================================
# Chart Setup:
# - Right-click chart > Properties
# - Colors: Background=Black, Foreground=White
# - Common: Check "Show grid"
# - Add indicators: 
#   Insert > Indicators > Trend > Moving Average
#   Period: 50, Method: Simple, Apply to: Close
#   
#   Insert > Indicators > Trend > Moving Average
#   Period: 200, Method: Simple, Apply to: Close
#   
#   Insert > Indicators > Oscillators > RSI
#   Period: 14, Levels: 30, 70

# 4. Demo Account Practice
# ===================================
# เปิด Demo Account ก่อนเทรดจริง:
# File > Open an Account
# เลือก GMI-Demo server
# กรอกข้อมูล
# เลือก Deposit: $10,000 (virtual money)
# เทรดฝึกจนมั่นใจแล้วค่อยเทรดจริง

# 5. First Trade
# ===================================
# 1. เลือก currency pair (เช่น EUR/USD)
# 2. วิเคราะห์ทิศทาง (Technical + Fundamental)
# 3. กำหนด lot size ตาม risk management (1-2% per trade)
# 4. ตั้ง Stop Loss และ Take Profit ก่อนเปิด order
# 5. เปิด order (Buy หรือ Sell)
# 6. Monitor position

echo "Account setup complete"

แพลตฟอร์มและเครื่องมือเทรด

เครื่องมือสำหรับเทรดบน GMI

// === Trading Tools on GMI ===

// 1. MQL4 Expert Advisor — Simple Moving Average Crossover
// ===================================
// //+------------------------------------------------------------------+
// //| MA_Crossover_EA.mq4                                              |
// //+------------------------------------------------------------------+
// #property copyright "GMI Trader"
// #property version   "1.00"
// 
// input int FastMA = 20;
// input int SlowMA = 50;
// input double LotSize = 0.01;
// input int StopLoss = 50;
// input int TakeProfit = 100;
// input int MagicNumber = 12345;
// 
// int OnInit() {
//     return INIT_SUCCEEDED;
// }
// 
// void OnTick() {
//     // Calculate Moving Averages
//     double fastMA_current = iMA(Symbol(), PERIOD_H1, FastMA, 0, MODE_SMA, PRICE_CLOSE, 0);
//     double fastMA_prev = iMA(Symbol(), PERIOD_H1, FastMA, 0, MODE_SMA, PRICE_CLOSE, 1);
//     double slowMA_current = iMA(Symbol(), PERIOD_H1, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 0);
//     double slowMA_prev = iMA(Symbol(), PERIOD_H1, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 1);
//     
//     // Check for existing orders
//     int totalOrders = 0;
//     for (int i = 0; i < OrdersTotal(); i++) {
//         if (OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber() == MagicNumber) {
//             totalOrders++;
//         }
//     }
//     
//     if (totalOrders > 0) return;
//     
//     double point = MarketInfo(Symbol(), MODE_POINT);
//     int digits = (int)MarketInfo(Symbol(), MODE_DIGITS);
//     double pip = (digits == 3 || digits == 5) ? point * 10 : point;
//     
//     // Golden Cross — Buy Signal
//     if (fastMA_prev < slowMA_prev && fastMA_current > slowMA_current) {
//         double sl = NormalizeDouble(Ask - StopLoss * pip, digits);
//         double tp = NormalizeDouble(Ask + TakeProfit * pip, digits);
//         OrderSend(Symbol(), OP_BUY, LotSize, Ask, 3, sl, tp,
//                   "MA Cross Buy", MagicNumber, 0, clrGreen);
//     }
//     
//     // Death Cross — Sell Signal
//     if (fastMA_prev > slowMA_prev && fastMA_current < slowMA_current) {
//         double sl = NormalizeDouble(Bid + StopLoss * pip, digits);
//         double tp = NormalizeDouble(Bid - TakeProfit * pip, digits);
//         OrderSend(Symbol(), OP_SELL, LotSize, Bid, 3, sl, tp,
//                   "MA Cross Sell", MagicNumber, 0, clrRed);
//     }
// }

// 2. Custom Indicator — Support/Resistance Levels
// ===================================
// // Identifies key price levels based on swing highs/lows
// // Draw horizontal lines at support and resistance
// 
// // Parameters:
// // - Lookback period: 100 bars
// // - Minimum touches: 2
// // - Zone width: 10 pips

// 3. Position Size Calculator (JavaScript)
// ===================================
function calculatePositionSize(balance, riskPercent, slPips, pipValue) {
    const riskAmount = balance * (riskPercent / 100);
    const lotSize = riskAmount / (slPips * pipValue);
    return Math.floor(lotSize * 100) / 100; // Round down to 0.01
}

// Examples for GMI accounts:
const examples = [
    { balance: 1000, risk: 1, sl: 50, pipValue: 10, desc: "Standard ($1000, 1% risk, 50 pip SL)" },
    { balance: 500, risk: 2, sl: 30, pipValue: 10, desc: "Standard ($500, 2% risk, 30 pip SL)" },
    { balance: 100, risk: 1, sl: 50, pipValue: 0.1, desc: "Cent ($100, 1% risk, 50 pip SL)" },
];

examples.forEach(ex => {
    const lots = calculatePositionSize(ex.balance, ex.risk, ex.sl, ex.pipValue);
    console.log(`:  lots`);
});

// 4. Trading Journal Template
// ===================================
// Track every trade:
// - Date/Time
// - Pair
// - Direction (Buy/Sell)
// - Entry Price
// - Stop Loss
// - Take Profit
// - Lot Size
// - Risk Amount
// - Result (Win/Loss)
// - P/L Amount
// - Screenshot
// - Notes (why entered, what learned)

วิเคราะห์ตลาดด้วย Technical Analysis

วิธีวิเคราะห์ตลาดสำหรับเทรดบน GMI

#!/usr/bin/env python3
# market_analysis.py — Technical Analysis Tools
import json
import logging
from typing import Dict, List

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("analysis")

class TechnicalAnalysis:
    def __init__(self):
        self.signals = []
    
    def calculate_sma(self, prices, period):
        if len(prices) < period:
            return []
        return [sum(prices[i-period:i]) / period for i in range(period, len(prices) + 1)]
    
    def calculate_rsi(self, prices, period=14):
        if len(prices) < period + 1:
            return 50.0
        
        gains = []
        losses = []
        
        for i in range(1, len(prices)):
            change = prices[i] - prices[i-1]
            gains.append(max(change, 0))
            losses.append(max(-change, 0))
        
        avg_gain = sum(gains[-period:]) / period
        avg_loss = sum(losses[-period:]) / period
        
        if avg_loss == 0:
            return 100.0
        
        rs = avg_gain / avg_loss
        rsi = 100 - (100 / (1 + rs))
        return round(rsi, 2)
    
    def detect_support_resistance(self, highs, lows, lookback=20):
        if len(highs) < lookback:
            return {"support": [], "resistance": []}
        
        resistance_levels = []
        support_levels = []
        
        for i in range(lookback, len(highs)):
            window_high = max(highs[i-lookback:i])
            window_low = min(lows[i-lookback:i])
            
            if highs[i] == window_high:
                resistance_levels.append(highs[i])
            if lows[i] == window_low:
                support_levels.append(lows[i])
        
        return {
            "support": sorted(set(support_levels))[-3:],
            "resistance": sorted(set(resistance_levels))[:3],
        }
    
    def generate_signal(self, pair, prices, volumes=None):
        if len(prices) < 200:
            return {"signal": "insufficient_data"}
        
        sma50 = self.calculate_sma(prices, 50)
        sma200 = self.calculate_sma(prices, 200)
        rsi = self.calculate_rsi(prices)
        
        current_price = prices[-1]
        
        # Trend
        if sma50 and sma200:
            trend = "bullish" if sma50[-1] > sma200[-1] else "bearish"
        else:
            trend = "neutral"
        
        # Signal
        signal = "neutral"
        if trend == "bullish" and rsi < 30:
            signal = "strong_buy"
        elif trend == "bullish" and rsi < 50:
            signal = "buy"
        elif trend == "bearish" and rsi > 70:
            signal = "strong_sell"
        elif trend == "bearish" and rsi > 50:
            signal = "sell"
        
        result = {
            "pair": pair,
            "price": current_price,
            "sma50": round(sma50[-1], 5) if sma50 else None,
            "sma200": round(sma200[-1], 5) if sma200 else None,
            "rsi": rsi,
            "trend": trend,
            "signal": signal,
        }
        
        self.signals.append(result)
        return result

import random
random.seed(42)

ta = TechnicalAnalysis()

# Simulate EUR/USD prices
base = 1.0900
prices = [base + random.gauss(0, 0.003) + i * 0.0001 for i in range(250)]

signal = ta.generate_signal("EURUSD", prices)
print(json.dumps(signal, indent=2))

# RSI examples
print(f"RSI (current): {ta.calculate_rsi(prices)}")
print(f"SMA50: {ta.calculate_sma(prices, 50)[-1]:.5f}")
print(f"SMA200: {ta.calculate_sma(prices, 200)[-1]:.5f}")

Risk Management สำหรับ Forex Trading

จัดการความเสี่ยงอย่างมืออาชีพ

#!/usr/bin/env python3
# risk_management.py — Forex Risk Management
import json
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("risk")

class RiskManager:
    def __init__(self, balance, max_risk_pct=2.0, max_daily_loss_pct=5.0):
        self.balance = balance
        self.max_risk_pct = max_risk_pct
        self.max_daily_loss_pct = max_daily_loss_pct
        self.daily_pnl = 0
        self.trades_today = 0
    
    def can_trade(self):
        daily_loss_limit = self.balance * (self.max_daily_loss_pct / 100)
        if abs(self.daily_pnl) >= daily_loss_limit and self.daily_pnl < 0:
            return False, "Daily loss limit reached"
        if self.trades_today >= 5:
            return False, "Max trades per day reached"
        return True, "OK"
    
    def calculate_lot_size(self, sl_pips, pair="EURUSD"):
        pip_values = {
            "EURUSD": 10, "GBPUSD": 10, "USDJPY": 9.1,
            "XAUUSD": 1, "USOIL": 10,
        }
        
        pip_value = pip_values.get(pair, 10)
        risk_amount = self.balance * (self.max_risk_pct / 100)
        lot_size = risk_amount / (sl_pips * pip_value)
        lot_size = max(0.01, round(lot_size, 2))
        
        return {
            "pair": pair,
            "balance": self.balance,
            "risk_pct": self.max_risk_pct,
            "risk_amount": round(risk_amount, 2),
            "sl_pips": sl_pips,
            "lot_size": lot_size,
        }
    
    def evaluate_trade(self, entry, sl, tp, direction="buy"):
        if direction == "buy":
            sl_pips = (entry - sl) * 10000
            tp_pips = (tp - entry) * 10000
        else:
            sl_pips = (sl - entry) * 10000
            tp_pips = (entry - tp) * 10000
        
        rr_ratio = tp_pips / sl_pips if sl_pips > 0 else 0
        
        evaluation = {
            "direction": direction,
            "entry": entry,
            "stop_loss": sl,
            "take_profit": tp,
            "sl_pips": round(sl_pips, 1),
            "tp_pips": round(tp_pips, 1),
            "risk_reward": round(rr_ratio, 2),
            "recommendation": "take" if rr_ratio >= 1.5 else "skip",
        }
        
        if rr_ratio < 1:
            evaluation["warning"] = "Risk/Reward below 1:1 — not recommended"
        elif rr_ratio < 1.5:
            evaluation["warning"] = "Risk/Reward below 1:1.5 — marginal"
        
        return evaluation

rm = RiskManager(balance=1000, max_risk_pct=1.0)

# Calculate lot sizes for different scenarios
scenarios = [
    {"sl_pips": 30, "pair": "EURUSD"},
    {"sl_pips": 50, "pair": "GBPUSD"},
    {"sl_pips": 20, "pair": "XAUUSD"},
]

for s in scenarios:
    result = rm.calculate_lot_size(s["sl_pips"], s["pair"])
    print(json.dumps(result, indent=2))

# Evaluate a trade setup
trade = rm.evaluate_trade(
    entry=1.0900, sl=1.0850, tp=1.0990, direction="buy"
)
print(json.dumps(trade, indent=2))

FAQ คำถามที่พบบ่อย

Q: GMI ปลอดภัยไหมสำหรับคนไทย?

A: GMI ได้รับ license จาก FCA (UK) ซึ่งเป็น regulator ที่เข้มงวดที่สุดแห่งหนึ่ง มี segregated client funds แยกเงินลูกค้าจากเงินบริษัท มี negative balance protection ป้องกันไม่ให้ติดหนี้ broker อย่างไรก็ตาม Forex trading ในไทยไม่ได้รับการกำกับดูแลจาก กลต. โดยตรง ดังนั้น trader ต้องรับผิดชอบความเสี่ยงเอง แนะนำเริ่มจาก demo account ฝึกจนมั่นใจก่อนเทรดจริง และอย่าลงทุนเงินที่ไม่พร้อมสูญเสีย

Q: เริ่มต้นเทรดกับ GMI ต้องมีเงินเท่าไหร?

A: Cent account เริ่มต้นที่ $15 เหมาะสำหรับมือใหม่ที่อยากเทรดด้วยเงินจริงแต่ risk น้อย Standard account เริ่มที่ $100 เหมาะสำหรับ trader ที่มีประสบการณ์บ้าง ECN account เริ่มที่ $500 เหมาะสำหรับ trader ที่ต้องการ spread ต่ำ แนะนำเริ่มจาก demo account ฟรี ($10,000 virtual) ฝึก 2-3 เดือนก่อน แล้วเริ่มจริงด้วย Cent account เพื่อทดสอบ strategy ด้วยเงินจริง

Q: GMI กับ broker อื่นต่างกันอย่างไร?

A: เปรียบเทียบกับ broker popular GMI มี spread ต่ำ (0.0 pips ECN) เทียบเท่า IC Markets และ Exness, leverage สูงถึง 1:2000 (Cent) สูงกว่า broker ส่วนใหญ่, deposit ขั้นต่ำต่ำ ($15 Cent) เทียบเท่า Exness, execution เร็ว 50ms เทียบเท่า IC Markets จุดเด่นของ GMI คือ GMI Edge mobile app ที่ใช้งานง่ายและ copy trading feature

Q: ฝาก-ถอนเงิน GMI ใช้เวลานานไหม?

A: ฝากเงินผ่าน e-wallet (Skrill, Neteller) และ crypto ได้ทันที, credit/debit card ใช้เวลา 1-30 นาที, bank wire transfer 1-3 วันทำการ, local bank transfer (ไทย) 1-2 ชั่วโมงในวันทำการ ถอนเงิน process ภายใน 24 ชั่วโมง (วันทำการ) แล้วรอตาม method ที่เลือก e-wallet 1-2 ชั่วโมง bank wire 2-5 วันทำการ GMI ไม่คิดค่าธรรมเนียมฝาก-ถอน

📖 บทความที่เกี่ยวข้อง

copy trade gmiอ่านบทความ → gmi brokerอ่านบทความ → gmi edgeอ่านบทความ → gmi forex ดีไหมอ่านบทความ → gmi forexอ่านบทความ →

📚 ดูบทความทั้งหมด →