النتائج 4,501 إلى 4,515 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 30-11-2013, 03:03 PM #4501
رد:موضوع مخصص للأسئلة البرمجية
1 - مكتبة الأخطاء البرمجية بترجع لك برقم الخطاء مع الشرح للخطاء .بتوفر عليك البحث عن سبب الخطاء .
2 - بعض المؤشرات تنادي مكتبة DLL وضع هذا الكود يغني عن التركيز متى ستحتاجة ومتى لاتحتاجه وجوده في الأكسبيرت افضل لي .
3- هي نفس المتغير العادي لكن بهذه الصيغة يحتفظ بالقيمة لو قطع الأكسبيرت وعاد للعمل .
وهذه روابط اضافية تشرح اكثر .
http://www.mql4.com/search#!keyword=WinUser32
http://codebase.mql4.com/source/1112
- 30-11-2013, 03:58 PM #4502
- 30-11-2013, 04:32 PM #4503
- 30-11-2013, 04:36 PM #4504
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله تفضل الدالة لأغلاق للبيع وستصنع مثلها للشراء ويمكنك أن تستبدل ال 0 امام البروفت بمتغير
كود PHP:void CloseSell(){
int cnt=OrdersTotal();
for(int i=cnt-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNo)
{
if(OrderType()==OP_SELL && OrderProfit()>0 && Close[1]>Open[1]) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),30,Red);
}
}
} return(0);}
آخر تعديل بواسطة Jmeel ، 30-11-2013 الساعة 04:41 PM
- 30-11-2013, 09:31 PM #4505
- 01-12-2013, 04:27 AM #4506
السلام عليكم ورحمة الله
تحية طيبة
اريد ان اضع جدول معين اضع فيه نقاط دخول الصفقات المفتوحة والصفقات التي ستفتح بحيث اذا سار السعر او عكس عن احدى نقاط دخول هذه الصفقات بمقدار 50 نقطة يقوم لاكسبرت بغلق كل الصفقات المفتوحة...فما هي الكيفية لحفظ نقاط الدخول للصفقات.
شكرا لكم
- 02-12-2013, 01:33 AM #4507
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله وبركاته
سوف تقوم بعمله داله تبحث في الصفقات المفتوحه وتقارن السعر الحالي و سعر فتح الصفقة و إذا كان الفرق 50 نقطه تعطي إشارة لإغلاق كل الصفقات
مثال
كود PHP:bool ShouldCloseOrders()
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(OrderOpenPrice()-Bid>=50*Point)return(true);
}
if(OrderType()==OP_SELL)
{
if(Ask-OrderOpenPrice()>=50*Point)return(true);
}
}
}
return(false);
}
بقي فقط أن تضع الشرط
كود PHP:if(ShouldCloseOrders()==true)
{
// close all orders
}
- 02-12-2013, 11:12 AM #4508
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله وبركاته ..
شكراً للمجهود الخارق والعلم النافع ..
كان لدي استفسار .. علماً بأن خبرتى فى البرمجة = صفر هل من الممكن أن يقوم برنامج forex ea generator بفتح صفقة بناء على مؤشر وعمل استوب لوز لها بناء على إشارة سابقة من المؤشر ذاته .. بمعنى أن الاستوب ليس ثابت أو بعدد النقاط ولكن الاستوب متغير وفقاً لآخر إشارة معاكسة من المؤشر فإذا كانت الصفقة الحالية شراء مثلاً يضع الاستوب على لوو آخر شمعة ظهر عليها إشارة بيع وأرفقت صورة لتوضح إذا ماكان فى إمكان البرنامج عمل مثل هذا الأمر .. وشكراً للمجهود ونفعكم الله بما علمتمونا وجعله فى ميزان حسناتكم إن شاء اللهالملف المرفق 391313
- 02-12-2013, 01:44 PM #4509
- 02-12-2013, 05:23 PM #4510
رد:موضوع مخصص للأسئلة البرمجية
الف شكر استاذنا مستر دولار
سؤال اخر : انشات دالة تقوم بمراقبة الصفقات المفتوحة حاليا فاذا كانت الصفقتين الاخيرتين من نفس النوع + تحرك 10 نقاط في اتجاههما يقوم الاكسبرت بغلق كافة الصفقات
مثلا لو الصفقتين الاخيرتين المفتوحتين بيع وتحرك السعر 10 نقاط اسفل منذ افتتاح الصفقة الثانية يقوم الاكسبرت بغلق كافة الصفقات الموجودة
جربت الدالة هذه لكن لم تنجح
كود:bool NumOrdersSell (){ int num; for(int i=0;i<=OrdersTotal();i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(OrderType()==OP_SELL)num++; if(num>=2)return(true); return(true); } } }
كود:int i=0;i<=OrdersTotal();i++
كود:int i=OrdersTotal();i<=0;i--
- 02-12-2013, 08:25 PM #4511
رد:موضوع مخصص للأسئلة البرمجية
الكود الثاني أنت كتبته خطأ المفروض أكبر من وليس أصغر
كود PHP:for(int i=OrdersTotal()-1;i>=0;i--)
- 03-12-2013, 12:59 AM #4512
رد:موضوع مخصص للأسئلة البرمجية
حاولت مرة اخرى انشاء دالة تراقب الصفقتين الاخيرتين اذا متشابهتين ام لا لكنها لم تنجح معي
كود:bool NumOrdersBuy (){ int Num=0; for(int i=0;i<=1;i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(OrderType()==OP_BUY)Num++; } if(Num>=2)return(true); } return(false); }
آخر تعديل بواسطة wahaab ، 03-12-2013 الساعة 01:09 AM
- 03-12-2013, 07:14 PM #4513
رد:موضوع مخصص للأسئلة البرمجية
هذه الداله ستبحث عن أول صفقتين مفتوحتين وليس آخر صفقتين فيجب أن تبدأ البحث من آخر صفقه OrdersTotal()-1
ثانيا هذه الداله ستبحث عن آخر أي صفقتين مفتوحتين فلنفرض مثلا أنه يوجد أكثر من إكسبرت يعمل و أكثر من صفقة مفتوحه المفروض أنك يجب أن تبحث عن آخر صفقتين مفتوحتين بواسطة الإكسبرت بالتالي لا تقوم بتحديد عدد مرات البحث من 0 الى 1 لكن يجب أن يكون البحث في كل الصفقات المفتوحه
ثم لاحقا تحدد عندما يمر الإكسبرت على آخر صفقتين فتحت بواسطته يتوقف عن البحث ويقارن آخر صفقتين
- 03-12-2013, 10:15 PM #4514
رد:موضوع مخصص للأسئلة البرمجية
لكن هذا الشرط الذي حدد البحث في صفقات الاكسبرت حسب المجك نمبر موجود بالدالة وبالتالي لن ينظر الى صفقات الاكسبرتات الاخرى
كود:if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
كود:bool NumOrdersSell (){ int num=0; for(int i=OrdersTotal()-1;i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(OrderType()==OP_SELL)num++; } } if(num>=2)return(true); return(false); }
بارك الله فيك
- 04-12-2013, 04:03 PM #4515
رد:موضوع مخصص للأسئلة البرمجية
هدفي هو ان يقوم الاكسبرت بمراقبة اخر او احدث صفقتين مفتوحتين واذا تحرك السعر 10 نقاط لصالح الصفقة الاخيرة يغلق جميع العقود...جربت الفكرة بطريقة اخرى بعمل دالة مستقلة لمراقبة نوع اخر صفقة واخرى تراقب نوع الصفقة ما قبل الاخيرة ومع الامر comment يمكن ان اتاكد من صحة عمل الدالة
كود:string TypePOS(){ string type; for(int i=0;i<=OrdersTotal()-1;i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(OrderType()==OP_BUY)type="BuyPosition"; if(OrderType()==OP_SELL)type="SellPosition"; } } Comment(type); return(type); }
كود:string TypePOS2(){ string typee; for(int i=0;i<=OrdersTotal()-2;i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(OrderType()==OP_BUY)typee="BuyPosition"; if(OrderType()==OP_SELL)typee="SellPosition"; } } return(typee); }
كود:if (TypePOS()=="SellPosition"&&TypePOS2()=="SellPosition"&&Openorder()-Ask>=10*point){ CloseSellOrders(); CloseBuyOrders(); }
لكن في الباك تست والتجريب لا تعمل
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM