النتائج 2,266 إلى 2,280 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 13-06-2012, 06:45 AM #2266
رد:موضوع مخصص للأسئلة البرمجية
تمام و شكرا جزيلا أخي أسامه ....
أنا قمت بعمل إكسبيرت يقوم بوضع أمر معلق شراء وبيع فوق هاي و أسفل لو آخر شمعة ساعة لليوم السابق (أو شمعة الصفر) بعدد نقاط أحدده خارجيا و إذا تفعل أي الأمرين يتم مسح الآخر
والمفترض أن يقوم الإكسبيرت بالتبريد بشكل مضاعف كلما عكس السعر عدد من النقاط أحدده خارجيا والهدف يكون نقطة دخول الصفقه التي قبلها .
لكن الإكسبيرت لا يقوم بفتح عقود التبريد المضاعفه ..
و أيضا كنت أريد إضافة متغير خارجي بعدد التبريدات ..
رجاء الإطلاع أخي أسامه و جزاك الله خيرا .
الإكسبيرت
- 13-06-2012, 10:21 AM #2267
- 13-06-2012, 07:06 PM #2268
إستخدم الحلقه while بحيث يكرر المحاولة في إغلاق الصفقات حتى يغلقها جميعا
مثال
كود PHP:int start()
{
if (OrdersTotal()<6)OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",0,0,CLR_NONE);
if (OrdersTotal()==6)while(OrdersTotal()>0)close_all_orders();
return(0);
}
//+------------------------------------------------------------------+
void close_all_orders()
{
for ( int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}
}
- 13-06-2012, 07:26 PM #2269
رد:موضوع مخصص للأسئلة البرمجية
تسلم إيديك يا أستاذ
معلش لسه خبرتي قليلة ماكنتش أعرف الكلمة دي
على العموم ياريت تسحملني لان برضه الكود مع الكلمة while قفل الأوردر رقم 1 و 3 و 5 وبعدين قفل 2 و 6 فياريت توضيح ليه العملية بتم بالشكل ده وبرضه حضرتك لما بتكتب كود قفل لجميع الصفقات بتكتبه إزاي
وشكرا مقدما
- 13-06-2012, 07:29 PM #2270
وبعد إذنك ياريت توضيح إيه الفرق بين OrderClose و OrderCloseBy
- 13-06-2012, 07:44 PM #2271
رد:موضوع مخصص للأسئلة البرمجية
أستاذ أسامة ، عدد المحاولات حاليـا هو 20 واذا قمت بتغير عدد المحاولات مثلا لـ 100 محاولة سيكون التعديل فـ الكود كالتالى ..
كود PHP:triednumber++;
if(ticket<=0){
Sleep(1);
RefreshRates();}
else
break;
if(triednumber>100)break;
}
وسرعة الحركة المفترض تحدث على جميع المنصات فـ نفس الوقت مع تأثير الخبر !! ، ومع ذلك لايظهر الخطـأ على باقى المنصـات !!
- 13-06-2012, 08:40 PM #2272
هذا بسبب الشرط الذي وضعته
كود PHP:if(Ask<=openprice-Step*point&& orderscnt(OP_BUY)>=1 && orderscnt(OP_SELL)>=1 ){
لإضافة متغير لتحديد أقصى عدد للتبريدات يمكنك وضع الشرط
كود PHP:&&orderscnt(OP_BUY)<MaxMartingailOrders
- 13-06-2012, 09:23 PM #2273
بالنسبه لي فأنا أستخدم داله لإغلاق صفقات بيع وداله أخرى لإغلاق صفقات الشراء
راجع الإكسبرت المرفق سوف تجد هذا الجزء
كود PHP:while(orderscnt(OP_SELL)+orderscnt(OP_BUY)>0&&Try<20){CloseSellOrders();CloseBuyOrders();Try++;}
OrderClose تستخدم لإغلاق الصفقه بناء على رقم التيكيت في أي وقت تريده أو حسب شرط معينه
OrderCloseBy تقوم بإغلاق صفقتين هيدج في نفس الوقت يجب أن تقوم بتحديد رقم التيكيت لكل الصفقتين
- 13-06-2012, 09:27 PM #2274
يمكنك تحديد الرقم حسب ما تريد أنا أرى أن 100 محاوله كثيره وأكتفي ب 20 والتعديل صحيح
ليس المهم سرعة الحركه نفسها لكن المهم هو سرعة تقبل البروكر لإرسال الأمر فأحيانا بعض البروكرات إذا تم إرسال أمر فتح الصفقه وكان السعر سيتحرك في صالحك يظهر إعادة التسعير بعض البروكرات تتقبل الأمر مباشرة مهما كان
بعض البروكرات تنفيذ الأمر يكون في أجزاء من الثانيه والآخر يظل يظهر رسالة إعادة التسعير حتى لو كان فتح الصفقات يدويا
فالأمر معتمد أولا على البروكر نفسه
- 13-06-2012, 10:42 PM #2275
رد:موضوع مخصص للأسئلة البرمجية
أستاذ أسامة ، أريد توضيح شـئ اذا سمحت لى ، الاكسيبرت فـ المشاركة السابقة كان يقوم بـ 20 محاولة فقط ومع ذلك كانت تظهر رسالة الخطـأ !! ، ويفتح بعض الصفقات وبعضهـا لا إذن ليست المشكلة الآن من عدد المحاولات لفتح الصفقة ، وحسب ما فهمت من مشاركتك استاذى ان المشكلة من إعادة التسعير الخاصة بـ البروكر وتحديدا fxdd malta ، وسؤالى هل يوجد حل لمشكلة إعادة التسعير المستمرة لمنصة fxdd malta غير الحلول السابقة ، وهل ظهرت هذه المشكلة معك من قبل أستاذ اسامة عند عمل اكسيبرتات على منصة fxdd malta
- 14-06-2012, 12:07 AM #2276
رد:موضوع مخصص للأسئلة البرمجية
تمام أخي أسامه تم التعديل و بدأ يقوم بفتح التبريدات ولكن المشكله أن أهداف التبريدات لا تكون عند العقد الذي قبله وتكون 20 نقطة كأهداف الأوامر المعلقه ..
فمثلا لو تم فتح الأمر المعلق شراء من 5500 و التبريد الأول بعد 50 نقطه من 5450 فيكون هدف التبريد الأول 5500 وعقد الأمر المعلق الأول يغلق عند نقطة دخوله ..
المشكله الأخرى أن التبريدات تستمر كلما عكس السعر 50 نقطه رغم أن التبريد الاول مثلا قد ضرب الهدف ..
رجاء الإطلاع أخي أسامه و بارك الله فيك
الإكسبيرت
- 14-06-2012, 12:26 AM #2277
رد:موضوع مخصص للأسئلة البرمجية
قمت بحل مشكلة هدف المضاعفات عن طريق إضافة الstep لسعر الطلب في الشراء و إنقاصه من سعر البيد في حالة البيع
كود PHP:TP=Ask+Step*point;
كود PHP:TP=Bid-Step*point;
آخر تعديل بواسطة dentist_hussein ، 14-06-2012 الساعة 12:30 AM
- 14-06-2012, 02:52 AM #2278
لم أجرب الإكسبرتات على منصة fxdd ويمكنك زيادة عدد المحاولات فكما قلت لك حسب رؤيتك وعدد المحاولات التي تريد وضعها
لا يوجد حل آخر لإعادة التسعير إلا أنك تحاول وضع الأمر كأمر معلق في هذه الحاله سيكون بعيد عن السعر الحالي لكن ستضمن أن يوضع الأمر ويتفعل بدون ظهور أخطاء
- 14-06-2012, 03:56 AM #2279
رد:موضوع مخصص للأسئلة البرمجية
الحمد لله قمت بحل مشكلة الإستمراريه بفتح عقود التبريد برغم ضرب الهدف
وذلك بإضافة داله تحسب آخر صفقة أغلقت على ربح أو خساره :
كود PHP:
string last;
for(int i=OrdersHistoryTotal();i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
//for buy order
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
//for SELL order
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
break;
}
}
كود PHP:&& last!="profit"
الإكسبيرت .
- 14-06-2012, 07:40 PM #2280
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM