النتائج 16 إلى 30 من 54
- 22-02-2016, 06:31 AM #16
قرأت الموضوع وأحببت أن أشارك بهذه الملاحظات البرمجية :
- عندما نريد عمل شرط مساواة بين رقمين من النوع دبل فإنه لا ينصح أبدا باستخدام المعامل == ... لأنه نتيجة التدوير الداخلي للقيم في المتحولات قد تنتج حالات عدم تساوي .. مع أن الرقمين متساويين أو الفرق ضئيل جدا جدا .
ومعظم لغات البرمجة وليس فقط MQL تنصح بالاستعاضة عنه بالتالي :
كود:if(MathAbs(A-B)<رقم الحساسية المطلوب)
وفي مثالنا عن الأسعار يصبح الكود
كود:if(MathAbs(A-B)<Point)
- يصبح استخدام NormalizeDouble مطلوبا عند إرسال سعر إلى OrderSend ويكون عبارة عن حسابات قد ينتج عنها أرقاما بعد الفاصلة أكثر من عدد الخانات الخاصة بالزوج .
لذلك نستخدم :
كود:NormalizeDouble(Price,Digits);
- 22-02-2016, 08:21 AM #17
ما شاء الله تبارك الله
كنز معرفي
---
الشق الأول انتهت حاجته بعد رد الاستاذ وضاح
أما الباك تيست فعلا لنفس الشركة المذكورة
ولم أحدث البيانات والأسعار ابدا
لم أهتم لكون الأسعار سليمة أم لا .. لكن لماذا نفذ البيع على سعر وأغلق على سعر أقل ونتيجة الربح بالسالب
اتوقع وجود معامل آخر في المعادلة لديهم .. وليس (سعر البيع - سعر الخروج ضرب اللوت)
- 22-02-2016, 08:53 AM #18
الله عليك ما اجملك
شكرا لتشريفك
جواب بسيط أدخلنا في حلقة جديدة وهي الحساسية المناسبة
واخترت هذا
طبعا الغيت MathAbs لأني اريد البيد هو الأكبر أو يساوي .. في الشراء
فلا اريد التنفيذ تحت الخط
فما رأيك بها هل ستتناسب مع الاسعار
كود:if(Bid-B_Line>0.00002)
حصلنا على ناتج 0000
لأني وضعت الخط على رأس الشمعة (رقم خماسي مضبوط)
طبعا يوجد فارق بين سعر الشموع وسعر البيد
- 22-02-2016, 09:30 AM #19
بغض النظر عن السبريد العالي وشارت الدقيقة في المثال التالي
افترضت اني وضعت الخط على القمة
فبعد حدث الاختراق مباشرة
ينشئ لي باي لميت
سيكون الأمر المعلق بفارق السبريد فقط عن نقطة الاختراق
أقرب ما يكون من التنفيذ
ولا ينفذ الا بعد تحقق الحدث
اغلب من يشتري على الاختراق يضع امر معلق باي ستوب فوق القمة بفارق السبريد ( وكثيرا ما يتوسع السبريد قبل القمة بجزء من نقطة)<< مما قد يعني تنفيذ بدون اختراق فعلي
كود:if(Bid-B_Line>0.00002) { int ticket=OrderSend(Symbol(),OP_BUYLIMIT,Lots,B_Line,3*pips2points,0,0,Oo,Magicnumber,0,clrBlue); }
آخر تعديل بواسطة أبو نـاصر ، 22-02-2016 الساعة 09:34 AM
- 22-02-2016, 10:06 AM #20
اسف المعادلة اصغر من وليس أكبرمن
if(Bid-B_Line<0.00002)
- 22-02-2016, 11:58 AM #21
- 22-02-2016, 07:57 PM #22
- 23-02-2016, 12:33 AM #23
شرفنا حضورك يا استاذ وضاح .. بالفعل نقطة دقيقة وصحيحة .. بالفعل قد لا تتساوى قيم الدبل ابداً (إلا في حالات نادرة) ولكني اضيف انه يمكن استخدام المعامل == في حالة واحدة فقط هى اذا تمت المقارنة بالصفر
اسمح لي استاذي الكريم ان اختلف مع في هذه النقطة، وأن تصححني ان كنت مخطئاً .. حتى في حالة MathAbs يمكننا تجنب استخدام NormalizeDouble وسيكون الاصح اضافة عامل قسمة .2 الى عملية المقارنة.
كود:if(MathAbs(A-B) < Point / 2. )
مثال:
كود PHP:High[1] = 1.10289;
Low[1] = 1.10114;
double A = fabs(High[1] - Low[1])/2.;
Comment(A,"\n", NormalizeDouble(A,Digits));
0.0008749999999999591
والثاني بعد استخدام NormalizeDouble :
0.00088
نعم الفارق ليس كبيرا في النهاية ولكنه يبقى فارق واحياناً قد يسبب مشكلة
هذه الفكرة شرحت بالتفصيل في هذا الموضوع :
Can price != price ?
- 23-02-2016, 01:13 AM #24
اخي ابو ناصر .. لما لا تضيف قيمة السبريد الى قيمة الخطوط قبل الرسم وبذلك تتجنب مشاكله؟
مثال
كود PHP:Spread=MarketInfo(Symbol(),MODE_SPREAD)*pips2double;
SellWhen = Bid-(50*pips2double)-Spread;
BuyWhen = Ask+(50*pips2double)+Spread;
مثلاً في هذه الصورة، ستجد الخطوط رسمت بدون قيمة السبريد ثم قمت باضافة القيمة الفعلية للسبريد في الخطوط الممتدة .. لاحظ الفارق ..
ويكون شرط الاختراق كالتالي ..
كود PHP:if(Bid<T_Line && Ask > T_Line)
عموماً وعن تجربة شخصية (مازالت مستمرة) هذه الشركة من افضل شركات الفوركس حقيقية ولا يعيبها هي - وكل الشركات التي تعمل داخل امريكا - سوى موضوع FiFO واجبارك على اغلاق الصفقات بالترتيب التنازلي .. واحياناً الارتفاع الكبير في السبريد على العملات غير الرئيسية ..
وبالفعل لديهم معامل اخر هو اغلاق الصفقة اجبارياً عند الوصول الى المارجن .. اقصد هنا مارجن الصفقة وليس المارجن الكلي للحساب .. في البداية كان هذا الامر مزعجاً للغاية ولكن وجدت مع الممارسة انه على العكس، امر جيد .. فاحيانا تدخل صفقة خاسرة وقد تتركها ايام على امل الارتداد لتمتد الخسارة اكثر فأكثر وفي النهاية لا يرتد السعر فتكون الخسارة كبيرة وقد يضيع فيها الحساب كله .. ولكن اذا كانت الخسارة محددة بالمارجن فانك ستعلم - مبدئياً - اقصى حجم للخسارة وستغلق العملية تلقائياً مما يسمح لك بالدخول مجدداً في صفقات اخرى .. المهم انك ستبقى في السوق وسيبقى الحساب.
نعود للمشكلة، اعتقد ان السبب هو ال FIFO .. ولكن لابد يا اخي من عمل باك تسيت سليم اولاً لنعلم سبب المشكلة بدقة ( شهرين مثلاً)
- 23-02-2016, 01:22 AM #25
- 23-02-2016, 02:10 AM #26
وكما تعلم..
للاختراق لا بد من تجاوز السعر للقمة ولو بجزء من نقطة
همسة : كثيرا على الفريمات الصغيرة يتجاوز برقم خامس فقط 0.00005 للقمة ثم يضغط فيكون فرصة رائعة لي .... الشراء من اسفل
-- ان كان السبريد متغير في كل تكة فلا يمكن اضافته مع الخط .. خاصة انه يتوسع أيضا عند القمم في شركة فوركس قد يصل الى نقطة كاملة لليورو دولار (حسب اهمية القمة + الحركة القادمة)
اضفت السبريد فعليا الى الخط >>> في هدف صفقات البيع فقط (الخروج أخف خطرا من الدخول)
يبقى اخر جزئية :
وهي عندما يحدث اختراق مع انطلاقه سريعة بدون التفات للوراء .. وتكون النتيجة الغاء الأمر المعلق .. وفرصة طارت .. بمقابل ان تفعل صفقتنا فهي تفعلت على اختراق حقيقي يقينا
مارجين خاص بكل صفقة .. اتمنى ان تزيدني معلومات عنها فلم اسمع بها
--
حدثت معي كثيرا ووضعت سؤالا سابقا هنا في المنتدى (الصفقة رابحة .. والربح سالب)<< ولم اجد جواب
كنت اشك بوجود معامل انعكاس الصفقة في هذا الموضوع
عموما هو ليس ذو اهمية كبيرة عندي حاليا وإنما لمجرد استئناس
------
درست كثيرا ولا زلت ادرس اتخاذ المارجين صديق
(بنسبة تسييل 100%) سيحافظ على راس المال لصفقات الفل مارجين على 15-20 نقطة تصبح رائعة (لمن هو مغامر - أو ممتلك لأدواته )
يذهب من الحساب 10% في صفقة مقابل ارباح جيدة
مثال صفقة الباوند أعلاه المارجين على بعد 70 ن من اخر عقد .. وحققت 50% من الحساب ... ديمو
هدف الموجة اختراق القمة .. والهدف الأولي اختراق أعلى شمعة الديلي
الخلاصة استخدام التسييل بديلا عن وقف الخسارة .. يمكنني من رفع اللوت لأقصى حد ممكن
لكنه سيدخلنا في حسابات معقدة أولها أن لا احد يعرف نقطة الماجين بالضبط حتى تأتي
- 23-02-2016, 02:57 AM #27
عزيزي
يتكرر الخطا هذا كل تكة
2016.02.23 02:50:57.904 AboNaser_v2 GBPUSDpro,H4: Error modifing SELL order #102785929 Error: no error, trade conditions not changed
- 23-02-2016, 05:19 AM #28
كما اسلفت يا صديقى .. عندما ترسل أمر الصفقة يقوم سيرفر الشركة بحساب قيمة اجمالي الحساب وقيمة لوت الصفقة ثم يضع مارجن لهذه الصفقة بناء على نسب محددة مسبقاً وتختلف من زوج لآخر .. ستجد النسب في هذا الرابط بالاسفل .. وللعلم هذا يحدث في اي بروكر ولكن الاختلاف في الشركات الامريكية هو تفعيل الاغلاق الاجباري ..
http://www.forex.com/faqs-margin.html
على سبيل المثال، فتحت صفقة على اليورو دولار بقيمة 0.10 لوت .. على حساب ديمو برصيد 9,350 قام بحساب مارجن الصفقة بقيمة 220 دولار .. اي انه عند يصل الى 220 سيقوم بغلق الصفقة اجبارياً .. لا اعلم الحقيقة ان كانت تطبق على حسابات الديمو ولكنها تطبق على الحسابات الحقيقية ..
عذراً يا اخي .. الخطأ خطئي، بعض شروط التحقق في وظيفتي التعديل والبريك ايفن مرتبة بشكل خاطئ ..
مرفق التعديلات
- 23-02-2016, 06:12 AM #29
اي اعتذار .. فضلك سابق
حبيبي
لم يسبق ان رأيت في الحقيقي أو الديمو
أنه يغلق الصفقة اذا نزلت عن قيمة الهامش المحجوز لها
مادام المارجين ليفيل فوق 100% لا يغلق شي <<< هذا المفترض
طيب ماذا لو دخلت مع اليورو .. بصفقة أخرى على الباوند وكسبت 1000$ ولا زالت مفتوحة
في حين اليورو خسرت 220$ هل يغلق اليورو اجباريا ؟؟
ربما هي السياسة الأمريكية لمن يعيش داخل امريكا
- 23-02-2016, 06:14 AM #30