النتائج 1 إلى 15 من 23
الموضوع: كيفية اغلاق صفقه معينه
- 09-11-2017, 12:29 AM #1
كيفية اغلاق صفقه معينه
السلام عليكم ورحمة الله وبركاته
برجاء الافاده عن الكود الخاص بأغلاق صفقه معينه
كمثال وضعت الاكسبيرت على الشارت قام بفتح صفقه شراء عند تحقق الشرط ثم قام بفتح صفقه شراء اخرى عند تحقق الشرط ( اريد منه الان ان يغلق الصفقه الاولى الشراء فقط )
ويترك الاخرى كما هى والعكس فى حالة البيع
ايضا فرضا انى اريد الاكسبرت يغلق الصفقه المفتوحه عند اغلاق الشمعه الحاليه ويقوم بفتح صفقه اخرى مع بداية الشمعه الجديده
كيف يمكن عمل ذلك بدون اغلاق جميع الصفقات المفتوحه
- 09-11-2017, 10:18 AM #2
اتمنى الرد ممن لديه الخبره وشكرا لمجهوداتكم
- 09-11-2017, 10:22 AM #3
سؤال آخر ايضا
كيف يمكن جلب التكت الخاص بصفقه معينه مثلا عندى 3 صفقات شراء اريد جلب تكت الصفقه التى تحمل الترتيب 2 من حيث الفتح
هل يمكن ذلك
- 09-11-2017, 05:19 PM #4
هذه الدالة الخاصة بإغلاق صفقه معينه
كود PHP:OrderClose(OrderTicket(),OrderLots(),Ask,3);
مثلا لو لدي مجموعه من الصفقات وأريد إغلاق أول صفقه مفتوحه فسوف يكون الكود
كود PHP:bool select=OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{
bool close=OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
else if(OrderType()==OP_SELL)
{
bool close=OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
لنفرض أني أريد إغلاق جميع الصفقات فهذا مثال
كود PHP:void CloseOrders()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber )
{
if(OrderType()==OP_BUY)
{
bool close=OrderClose(OrderTicket(),OrderLots(),Bid,3*P);
}
else if(OrderType()==OP_SELL)
{
close=OrderClose(OrderTicket(),OrderLots(),Ask,3*P);
}
}
}
}
- 09-11-2017, 07:34 PM #5
الف شكر يا ريس ربنا يكرمك ويجزيك الخير كفيت ووفيت
- 11-11-2017, 07:40 AM #6
لو استشارني او لي عليه سلطان لمنعته من الجواب
انت الان يمكن حليت مشكلة معينة ولكن ستواجهك الكثير من المشاكل
هذه المشاكل الكثيرة تتفاداها بالدراسة المنهجية لدوال التداول وعددها 25 دالة--يكفي منها 11 دالة
بحيث لو فهمتهماا منهجيا تصبح الامور معك مثل الريشة فيما بعد
تأمل الانسيابية في رد اسامة
طلب 1:
الان اخي اريد منك تعريب OrderSelect في ذهنك--افترض انك مجبور تخترع لها مصطلح عربي يعبر فعلا عما تعني
لاحظ عنوانك: صفقة معينة. لاحظ كلمة معينة!!
يعني انت وصلت لمرحلة التسؤل - وسط هذه الاوامر الكثيرة كيف اختار امر محدد منها؟
طلب 2: من دوال التداول ال 24 (كلها الا OrderSelect) كم دالة نحن مجبرين على استخدام OrderSelect معها - وماهي هذه الدوال؟آخر تعديل بواسطة فيلسوف البادية ، 11-11-2017 الساعة 07:43 AM
- 11-11-2017, 07:58 AM #7
- 11-11-2017, 11:36 AM #8
مشكور يا غالى على مجهودك
بس انا عارف انها order select
لكن الفكره فى سؤالى هى ازاى انى لو عندى 4 اوامر شراء موجودين اقفل الصفقه التى ترتيبها 2 بمعنى
يعنى اذا كان الرقم 0 فى الداله order select يعبر عن اخر صفقه مفتوحه فما هو الرقم الذى يعبر عن الصفقه رقم 4 مثلا المفتوحه على الحساب لو كان لدى 6 صفقات مفتوحين كمثال بأعتبار ان ال6 صفقات منهم 2 بيع و4 شراء
او السؤال بطريقه أخرى كيف أغلق صفقه معينه بغض النظر عن نوعها وبعض النظر عن توقيت فتحها ولكن من خلال ترتيبها
هذا سؤالى
- 11-11-2017, 12:23 PM #9
ماهو جوابك انت لهذا السؤال؟
لاحظ اليونيك نمبر للصفقة unique--هل هو رقم اصلفقة ام رقم التكت
مثلا عندك 5 صفقات----وحدة منهم رقمها 3
اذا اغقلت احد هذه الصفقات التي رقمها 3 قد يتغير وتصبح رقم 2 او 4
ولكن اليونيك نمبر الذي لايتغير هو التكت.
انت مصري
الشيء الوحيد الذي يميزك عن 80 مليون مصري هو الرقم الوطني--لايوجد اي مصري معه نفس رقمك الوطني ولكن يوجد الف مصري اسمه الهلالي
ويوجد 10000 مصري لونه ابيض
ويوجد 10000 مصري طوله 176 سم
وهكذا
المواطن رقم
والصفقة تكتآخر تعديل بواسطة فيلسوف البادية ، 11-11-2017 الساعة 12:28 PM
- 11-11-2017, 12:31 PM #10
ملحوظة: في موضوع المضاعفات تحدثت عن اشكالية رقم الصفقات
لو وضعت لوووب تتوقع يغلق كل الصفقات---يغلق نصفها فقط--بسبب اعادة ترقيم الصفقات --- ولاتمكشتف المشكلة ابدا لانه لن يحدث كومبايل ايرور ولن يحدث رن-تايم ايرور
مما يعني انها مسألة ثقافة او وعي بالية عمل الميتا تريدر نفسه. (الـ enviroment)
- 11-11-2017, 12:33 PM #11
او تخيل انك تريد حذف كل الصفقات الموجودة وعددها 500 صفقة
سيحذف 250 صفقة فقط
واذا اعدته مرة اخرى سيحذف 125 صفقة
واذا اعدته مرة اخرى سيحذف 63 صفقة
!
- 11-11-2017, 01:55 PM #12
تمام كلامك اذا كيف يتم جلب ال unique number للصفقه رقم 3 ؟ لو الاجابه من خلال order select هقولك تمام ولكنى احتاج الكود مع ايضاح المتغير الذى يعبر عن الunique
او بصورة أخرى هل يمكن جلب التكت نمبر لكل صفقه مفتوحه على الحساب سواء معلقه او ماركت ؟ ولو سمحت لو ممكن اعطنى مثال على جلب التكت ل 4 صفقات 3 ماركت وواحده pending
- 11-11-2017, 10:28 PM #13
انت اخي عندما تتحدث عن صفقة محددة يكون الخيار امامك التكت نمبر
لو اخترت مثلا البوزشن نمبر--هذا يتغير
وبالتالي التكت نمبر الذي هو اساسا output لـ orderselect ستتعامل معه ك input---يعني انت في ذهنك حددت سلفا تلك الصفقة ولكن ليس input بقيمة تحددها انت من رأسك--لا بل قيمة للمقارنة مع الموجود من التكتات
وفي هذه الحالة ماهي الفائدة---يصبح الاغلاق اليدوي افضل
سأعتبر انك قلت افترض لدي 10 صفقات مفتوحة واريد ان انام واحدى هذه الصفقات بلوت كبير شوي واريد ان تغلق تحديدا اذا الربح وصل 20%
في هذه الحالة هناك تقارن التكات.
شيء كهذا:
كود PHP:input int orderTickt=500989347;
void OnTick()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
{
if(OrderTicket()==orderTickt)
{
if(OrderType()==OP_BUY)
{
bool CloseOrder1=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),10,clrRed);
}
else if(OrderType()==OP_SELL)
{
bool CloseOrder2=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),10,clrRed);
}
}
}
}
}
- 11-11-2017, 10:30 PM #14
MarketInfo(OrderSymbol(),MODE_BID)
ليش اخترنا البد من خلال MarketInfo وليس من خلال Bid الوردية؟؟
ج: لان زوج الصفقة قد يكون زوج اخر غير زوج التشارت اللي طبقنا عليه الخبير
- 12-11-2017, 01:00 AM #15