إذا كان تطبيقك يحتاج إلى تحويل الريال البرازيلي إلى الروبية الهندية، أو الكرونة النرويجية إلى دولار سنغافورة، أو أي زوج لا يظهر فيه الدولار الأمريكي على أيٍّ من الجانبين، فأنت على وشك إجراء عمليات حسابية بـأسعار الصرف المتقاطعة. تُسعّر معظم واجهات برمجة العملات ومنصات الفوركس آلاف الأزواج مقابل الدولار، لكن قليلًا جدًا من الأزواج يُتداول مباشرةً بين عملتين غير الدولار. كل ما عدا ذلك — وهو الذيل الطويل — يُحسب على أنه سعر صرف متقاطع.
يشرح هذا الدليل ما هو سعر الصرف المتقاطع، والصيغة في صورها الثلاث، وأمثلة محلولة يمكنك التحقق منها بآلة حاسبة، وأكوادًا جاهزة للإنتاج بلغات JavaScript وPython وPHP وcURL. كما سنغطي المزالق التي تُسبب أخطاء بنسبة 1% في الأنظمة الحقيقية: التقريب، فرق العرض/الطلب، الأسعار القديمة، وأخطاء العكس.
ما هو سعر الصرف المتقاطع؟
سعر الصرف المتقاطع هو سعر عملة معبَّرًا عنه بعملة أخرى عندما لا تكون أيٌّ منهما العملة المحلية أو المرجعية في التسعيرات الأصلية. عمليًا، يعني هذا دائمًا تقريبًا زوج عملات لا يتضمن الدولار الأمريكي، يُشتق من زوجين يتضمن كلٌّ منهما الدولار.
على سبيل المثال، فإن سعر EUR/JPY هو من الناحية التقنية سعر صرف متقاطع. ومع أن EUR/JPY من أكثر الأزواج تداولًا في العالم وله سوقه الخاص، فإن المنطق الكامن لا يتغير: خذ EUR/USD، وخذ USD/JPY، واضرب، وستحصل على نفس الرقم الذي يُسعّره لك بنك في طوكيو. سعر السوق والسعر المحسوب مرتبطان ببعضهما بفعل المراجحة (Arbitrage)؛ فإذا تباعدا، يتدخل المتداولون حتى يتطابقا مجددًا.
العملات التي ليس لها سوق مباشر سائل — مثل النيرة النيجيرية مقابل البيزو الفلبيني (NGN/PHP) — لا توجد إلا على هيئة أسعار صرف متقاطعة. لا يوجد سوق NGN/PHP بأي معنى حقيقي، وكل من يُسعّر هذا الزوج يحسبه من NGN/USD وUSD/PHP.
التعريف التقني يجعل الفرق أوضح:
- السعر المباشر هو سعر يُسعَّر بنشاط في سوق أو موجز مُجمَّع.
- السعر المتقاطع يُحسب من سعرين مباشرين أو أكثر يتشاركان في عملة أساس مشتركة (الدولار الأمريكي عادةً).
معظم مزودي واجهات البرمجة، ومن بينهم Finexly، يقدّمون أسعار الصرف المتقاطعة بشكل سلس: تطلب أي زوج وتقوم المحركات بالحساب خلف الكواليس. ومع ذلك تظل معرفة آلية هذا الحساب مهمة لأنها تؤثر على كيفية تعاملك مع الدقة وفروقات الأسعار والحالات الحدّية.
لماذا تهم أسعار الصرف المتقاطعة المطورين؟
تظهر أسعار الصرف المتقاطعة في ثلاث فئات من التطبيقات:
المدفوعات والتحويلات عبر الحدود. يحتاج فريلانسر فلبيني يفوتر لعميل برازيلي إلى معرفة قيمة أسعاره بـ PHP بـ BRL. لا يوجد سوق مباشر بين BRL/PHP — تحسب المنصة ذلك عبر USD.
التجارة الإلكترونية متعددة العملات. يحتاج تاجر نرويجي يعرض أسعاره لعميل سنغافوري إلى NOK/SGD. تحسب Stripe وAdyen ومعظم معالجات الدفع هذا التقاطع داخليًا، ثم تضيف هامش الصرف الخاص بها فوقه.
التحليل المالي والتداول. تتحوّط أنظمة الكميات (Quants) من المخاطر في محافظ مقومة بعدد من العملات. لمعرفة صافي تعرضك بـ EUR، ينبغي تحويل المراكز بـ MXN وINR وZAR وBRL إلى EUR — كلها حسابات متقاطعة.
في كل حالة، تعتمد جودة سعرك المتقاطع كليًا على جودة وحداثة الزوجين الأساسيين بالدولار. إن EUR/USD عمره ثانيتان مقترنًا بـ USD/JPY عمره 60 ثانية يُنتج سعرًا متقاطعًا خاطئًا بمقدار حركة JPY خلال تلك الفجوة. للاطلاع على أصول الأسعار وكيفية تحديثها، راجع دليلنا كيف تعمل أسعار الصرف.
صيغة سعر الصرف المتقاطع
توجد ثلاث حالات بحسب طريقة تسعير الزوجين المصدرين. المبدأ العام بسيط: عندما تكتب الأسعار كسرورًا، يجب أن تختصر العملة المشتركة.
الحالة 1: الدولار هو عملة التسعير في كلا الزوجين
لنفترض أن لديك:
- EUR/USD = 1.0850 (1 EUR يشتري 1.0850 USD)
- GBP/USD = 1.2620 (1 GBP يشتري 1.2620 USD)
تريد EUR/GBP. الصيغة:
EUR/GBP = (EUR/USD) / (GBP/USD)
EUR/GBP = 1.0850 / 1.2620 = 0.8598أي أن 1 يورو يشتري 0.8598 جنيه. كلا التسعيرين المصدرين يحملان USD على اليمين، لذا نقسم.
الحالة 2: الدولار هو عملة الأساس في كلا الزوجين
لنفترض أن لديك:
- USD/JPY = 152.30
- USD/CHF = 0.8920
تريد JPY/CHF. الصيغة:
JPY/CHF = (USD/CHF) / (USD/JPY)
JPY/CHF = 0.8920 / 152.30 = 0.005857أي أن 1 ين يشتري 0.005857 فرنك سويسري. كلا التسعيرين يحملان USD على اليسار، لذا نقسم، لكن بنسبة معكوسة.
الحالة 3: الدولار أساس في أحدهما وتسعير في الآخر (مختلطة)
هذه أكثر الحالات شيوعًا، وحيث تقع الأخطاء أكثر. لنفترض أن لديك:
- EUR/USD = 1.0850 (USD هو التسعير)
- USD/JPY = 152.30 (USD هو الأساس)
تريد EUR/JPY. الصيغة:
EUR/JPY = (EUR/USD) × (USD/JPY)
EUR/JPY = 1.0850 × 152.30 = 165.25أي أن 1 يورو يشتري 165.25 ين. تختصر الدولارات بنظافة: يورو لكل دولار × دولار لكل ين = يورو لكل ين. في الحالة المختلطة نضرب.
القاعدة العملية: اكتب الأزواج كسوراً، ورتّبها بحيث يختصر USD، ثم اضرب أو اقسم وفقًا لذلك. العملة التي تبقى في البسط تصبح أساس سعرك المتقاطع.
أمثلة محلولة يمكنك التحقق منها
استخدم أي موجز عملات رئيسي للتحقق من هذه الأرقام. القيم الدقيقة تتحرك مع السوق؛ المهم هو البنية.
المثال 1: EUR/JPY (حالة مختلطة)
عند EUR/USD = 1.0850 وUSD/JPY = 152.30:
EUR/JPY = 1.0850 × 152.30 = 165.2455المثال 2: GBP/CHF (حالة مختلطة)
عند GBP/USD = 1.2620 وUSD/CHF = 0.8920:
GBP/CHF = 1.2620 × 0.8920 = 1.1257المثال 3: AUD/NZD (كلاهما مُسعَّر مقابل USD)
عند AUD/USD = 0.6630 وNZD/USD = 0.6010:
AUD/NZD = 0.6630 / 0.6010 = 1.1031أي أن 1 دولار أسترالي يشتري 1.1031 دولار نيوزيلندي.
المثال 4: BRL/INR (كلاهما مُسعَّر بالدولار كأساس)
عند USD/BRL = 5.0850 وUSD/INR = 84.20:
BRL/INR = (USD/INR) / (USD/BRL) = 84.20 / 5.0850 = 16.561أي أن 1 ريال برازيلي يشتري 16.561 روبية هندية.
لمراجعة الأكواد الموحَّدة من ثلاثة أحرف المستخدمة هنا، راجع دليل أكواد العملات ISO 4217.
الأسعار المعكوسة وقلب الأزواج
أحيانًا يعطيك مصدر البيانات USD/EUR بينما تحتاج إلى EUR/USD. المقلوب هو:
EUR/USD = 1 / (USD/EUR)إذا كان USD/EUR = 0.9217، فإن EUR/USD = 1 / 0.9217 = 1.0850.
نقطتان عمليتان حول الأسعار المعكوسة:
أولًا: التقريب يتراكم. إذا قرّبت السعر إلى أربعة منازل عشرية، ثم أخذت المقلوب، ثم قرّبت مرة أخرى، فقد تُدخل أخطاء بنسبة 0.01% أو أكثر. للتطبيقات عالية الدقة، احتفظ بالمقلوب بدقة العائمة الكاملة حتى خطوة العرض النهائي. نتناول استراتيجيات الدقة بالتفصيل في منشورنا أفضل ممارسات التخزين المؤقت ومعالجة الأخطاء في واجهات العملات.
ثانيًا: العرض والطلب يتبادلان مع المقلوب. إذا كان لـ GBP/USD سعر عرض 1.2618 وسعر طلب 1.2622، فإن لـ USD/GBP سعر عرض = 1/1.2622 = 0.7923، وسعر طلب = 1/1.2618 = 0.7925. سعر العرض لزوج هو مقلوب سعر الطلب للزوج الآخر، وليس مقلوب العرض.
فرق العرض/الطلب على الأسعار المتقاطعة
عند بناء سعر متقاطع من زوجين أساسيين، تتراكم الفروقات.
لنفترض:
- EUR/USD: عرض 1.0848 وطلب 1.0852 (فرق 4 نقاط)
- USD/JPY: عرض 152.27 وطلب 152.33 (فرق 6 نقاط)
السعر المتقاطع الضمني EUR/JPY:
Bid = 1.0848 × 152.27 = 165.183
Ask = 1.0852 × 152.33 = 165.309هذا فرق 12.6 نقطة على المتقاطع — أوسع من أي زوج مصدر. عمليًا، فرق سوق EUR/JPY المُسعَّر مباشرة أضيق من هذا المحسوب لأن للأزواج المتقاطعة عالية السيولة صانعو سوق خاصون بها.
الخلاصة للمطورين: الأسعار المتقاطعة بسعر منتصف السوق المحسوبة من زوجين بالدولار هي تقديرات للسوق المباشر الحقيقي. مناسبة لعرض الأسعار في الدفع، جيدة للتحليلات، لكنها ليست ما سينفّذه لك بنكك أو وسيطك فعلاً. الفرق بين سعر منتصف السوق وسعر التاجر مغطى في دليل سعر منتصف السوق.
كيف تحسب الأسعار المتقاطعة باستخدام واجهة Finexly
عادةً لا تحتاج إلى حساب الأسعار المتقاطعة يدويًا. تقبل واجهة Finexly أي أساس وأي قائمة عملات هدف، وتقدّم التقاطع داخليًا بدقة متسقة. إليك كيفية استخدامها في أربع حزم تقنية شائعة.
cURL
curl "https://api.finexly.com/v1/latest?base=BRL&symbols=INR,PHP,NGN" \
-H "Authorization: Bearer YOUR_API_KEY"الاستجابة:
{
"base": "BRL",
"date": "2026-05-09",
"rates": {
"INR": 16.561,
"PHP": 11.272,
"NGN": 312.45
}
}JavaScript (Node 20+, Fetch)
async function getCrossRates(base, targets) {
const url = `https://api.finexly.com/v1/latest?base=${base}&symbols=${targets.join(",")}`;
const res = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.FINEXLY_API_KEY}` }
});
if (!res.ok) throw new Error(`Finexly API error: ${res.status}`);
return res.json();
}
const data = await getCrossRates("BRL", ["INR", "PHP", "NGN"]);
console.log(`1 BRL = ${data.rates.INR} INR`);Python
import os
import requests
def get_cross_rates(base, targets):
url = "https://api.finexly.com/v1/latest"
params = {"base": base, "symbols": ",".join(targets)}
headers = {"Authorization": f"Bearer {os.environ['FINEXLY_API_KEY']}"}
response = requests.get(url, params=params, headers=headers, timeout=10)
response.raise_for_status()
return response.json()
data = get_cross_rates("BRL", ["INR", "PHP", "NGN"])
print(f"1 BRL = {data['rates']['INR']} INR")PHP
<?php
function getCrossRates(string $base, array $targets): array {
$symbols = implode(',', $targets);
$url = "https://api.finexly.com/v1/latest?base={$base}&symbols={$symbols}";
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('FINEXLY_API_KEY')],
CURLOPT_TIMEOUT => 10,
]);
$body = curl_exec($ch);
if (curl_errno($ch)) throw new RuntimeException(curl_error($ch));
curl_close($ch);
return json_decode($body, true);
}
$data = getCrossRates('BRL', ['INR', 'PHP', 'NGN']);
echo "1 BRL = {$data['rates']['INR']} INR\n";في الأمثلة الأربعة، تتولى الواجهة عمليات حساب التقاطع وتعيد قيم منتصف السوق دقيقة. يمكنك تغيير الأساس إلى أي عملة من العملات المدعومة (170+) وطلب أي عدد من العملات الهدف في استدعاء واحد. لمزيد من الأنماط الخاصة بكل لغة، راجع البرنامج التعليمي للغة Python، ودليل التكامل مع Node.js، ودليل PHP.
متى يجب أن تحسب الأسعار المتقاطعة بنفسك
حتى مع وجود واجهة برمجة جيدة، هناك ثلاث حالات تحسب فيها الأسعار المتقاطعة على بياناتك بدلًا من جلبها:
الاختبار الخلفي للاستراتيجيات التاريخية. إذا كانت لديك سنوات من بيانات Tick لـ EUR/USD وUSD/JPY على خوادمك، فحساب EUR/JPY محليًا يجنبك ضرب واجهة خارجية ملايين المرات. استخدم نقاط نهاية الأسعار التاريخية لتغذية البيانات، ثم اشتق التقاطعات داخل محرك الاختبار الخلفي.
التطبيقات الحساسة لزمن الاستجابة. غالبًا ما تحسب أنظمة التداول الخوارزمي التقاطعات مسبقًا في الذاكرة من الأزواج بالدولار لأن توفير ذهابة-إيابة شبكة واحدة يهم. المقابل أنك تتحمّل مسؤولية المزامنة والحداثة.
الأسعار المخلوطة المخصصة. بعض المنصات تُسعّر أسعارًا داخلية تخلط عدة مصادر أو تطبق هامشًا. إجراء حساب التقاطع داخليًا يسمح بتطبيق منطق الأعمال قبل إظهار السعر للعميل.
إذا كانت حالتك ليست أيًا مما سبق — صفحة دفع، أداة فوترة، لوحة تحكم داخلية — فدع الواجهة تخدم التقاطع مباشرة. ستكون أكثر دقة، وأسهل في الصيانة، وأسرع في التنفيذ.
مزالق شائعة عند حساب الأسعار المتقاطعة
هذه أكثر الأخطاء شيوعًا التي نراها أثناء مراجعة كود المطورين.
عكس الزوج الخطأ. عندما يُسعَّر الزوجان المصدران في اتجاهين متعاكسين (أحدهما بالدولار كأساس والآخر بالدولار كتسعير)، يَسهُل الضرب حيث كان ينبغي العكس والقسمة. اكتب الأسعار دائمًا ككسور وتحقق من اختصار العملة المشتركة فعلًا.
التقريب المبكر. خلل شائع: قرّب كل سعر مصدر إلى أربعة منازل عشرية، ثم اضرب. التقريب المتراكم قد يُنتج أخطاء بنسبة 0.01% إلى 0.1%. للحسابات المالية، احتفظ بالدقة الكاملة وقرّب فقط عند العرض.
استخدام أسعار قديمة. إذا جُلب السعران المصدران بفارق 30 ثانية، فالتقاطع المبني منهما غير متسق داخليًا. اجلب الاثنين في استدعاء واحد للواجهة (وهذا ما يفعله ?symbols=A,B,C في واجهة Finexly) ليكون لهما الطابع الزمني نفسه.
خلط بيانات أيام الأسبوع وعطلات نهاية الأسبوع. تُغلق أسواق الفوركس في عطلات الأسبوع. إذا سحبت مهمتك المجدولة EUR/USD يوم الجمعة الساعة 5:01 مساءً بتوقيت الشرق و USD/JPY يوم الجمعة 4:59 مساءً، فقد تخلط بيانات حية وبيانات قديمة. وحّد جميع جلب الأسعار حول طابع زمني واحد للسوق. نتعمق في ذلك في دليل ساعات سوق الفوركس.
تجاهل الفرق للاستخدام المعاملاتي. الأسعار المتقاطعة المحسوبة من مصادر منتصف السوق مناسبة للعرض، لكن إذا تحركت أموال حقيقية، فأنت بحاجة إلى العرض أو الطلب وفقًا لاتجاه الصفقة. ادمج نمذجة الفرق في الكود صراحةً بدلًا من الاعتماد على المنتصف.
الأسئلة الشائعة
ما هو سعر الصرف المتقاطع ببساطة؟
هو سعر الصرف بين عملتين، يُحسب باستخدام سعر صرف كل منهما مقابل عملة ثالثة مشتركة، عادةً الدولار الأمريكي. على سبيل المثال، يُشتق سعر EUR/JPY من EUR/USD وUSD/JPY.
هل يُعتبر EUR/JPY وGBP/JPY أسعارًا متقاطعة؟
نعم، من الناحية التقنية. لا يتضمنان الدولار الأمريكي، لذا يُعدّان متقاطعين بحسب التعريف الصارم. ومع ذلك، يُتداول الزوجان مباشرةً بكثافة، ولهما أسواقهما الخاصة، ويتصرفان كأزواج رئيسية في الواقع.
لماذا الأسعار المتقاطعة مهمة؟
تُتيح الأسعار المتقاطعة تسعير وتداول العملات التي ليس بينها سوق مباشر سائل — وهي معظم الأزواج في العالم. وهي أساسية للمدفوعات عبر الحدود والتجارة متعددة العملات والتحليلات المالية العالمية.
هل يمكنني حساب سعر متقاطع بدون استخدام الدولار الأمريكي كجسر؟
نعم. أي عملة مشتركة تصلح كجسر. يُستخدم EUR أحيانًا في الحسابات المتمحورة حول أوروبا، ويُستخدم JPY في بعض الأسواق الآسيوية. الدولار هو الافتراضي لأن المزيد من الأزواج تُسعَّر مقابله، مما يمنح جودة بيانات أفضل.
ما مدى دقة الأسعار المتقاطعة المحسوبة مقارنةً بتسعيرات السوق المباشرة؟
في التقاطعات السائلة مثل EUR/JPY أو GBP/CHF، تكون الأسعار المحسوبة والتسعيرات المباشرة متطابقة تقريبًا بفضل المراجحة. في التقاطعات غير السائلة مثل NGN/PHP، يكون السعر المحسوب هو المرجع الوحيد المتاح — لا يوجد سوق مباشر منفصل للمقارنة.
هل تحسب Finexly الأسعار المتقاطعة تلقائيًا؟
نعم. تطلب أي أساس وأي قائمة عملات هدف، وتُقدّم الواجهة أسعارًا متقاطعة منتصف السوق متّسقة. لست بحاجة إلى حساب أو عكس أي شيء بنفسك.
ابدأ مع Finexly
هل أنت مستعد لاستخدام أسعار متقاطعة في الوقت الحقيقي في تطبيقك؟ احصل على مفتاح Finexly API مجانًا — بدون بطاقة ائتمان. تحصل على 1000 طلب شهريًا في الخطة المجانية، ويمكنك التوسع عبر خططنا السعرية مع نمو حركة المرور. تدعم الواجهة 170+ عملة وتحسب الأسعار المتقاطعة لأي زوج بسلاسة، حتى تركّز على منتجك بدلاً من حسابات الفوركس.
Explore More
Vlado Grigirov
Senior Currency Markets Analyst & Financial Strategist
Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...
View full profile →