النتائج 3,691 إلى 3,705 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 25-04-2013, 02:02 AM #3691
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله وبركاته
أولا ستقوم بعمل دالة لحساب الربح الحالي للصفقات المفتوحه
كود PHP:double ProfitOrders()
{
double profit;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
profit+=OrderProfit();
}
}
return(profit);
}
وداله لمعرفة حجم لوت آخر صفقه ليفتح المضاعفه
كود PHP:double LastOrderLots()
{
double profit;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
return(OrderLots());
}
}
return(0);
}
كود PHP:int LastOrderType()
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
return(OrderType());
}
}
return(0);
}
كود PHP:void CloseOrders()
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
كود PHP:if(/*Open Buy Order*/&&LastOrderType()==OP_SELL)
{
if(ProfitOrders()>0)
{
CloseOrders();
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
else
{
newlot=LastOrderLots()+Lots;
OrderSend(Symbol(),OP_BUY,newlot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
}
- 25-04-2013, 03:05 AM #3692
رد:موضوع مخصص للأسئلة البرمجية
شكرا أستاذي .. نسيت أن 0 تعتبر اول صفقه مغلقة
بالنسبه للشرط هل من الممكن أن يكون هكذا
كود PHP:if (firstclosed()=="lost" || firstclosed()=="profit" && orderscnt(OP_BUY)+orderscnt(OP_SELL)>1 && Time0!=Time[0]) { CloseOrders();}
كود PHP:Time0!=Time[0]
كود PHP:string firstclosed()
{
for(int i=0;i>OrdersHistoryTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice() && Time0!=Time[0]) return("profit");
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()&& Time0!=Time[0]) return("loss");
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()&& Time0!=Time[0]) return("profit");
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()&& Time0!=Time[0]) return("loss");
}
}
return("none");
}
- 25-04-2013, 10:55 AM #3693
أستاذ أسامه كيف أجعل صفقات شراء و بيع يغلقوا مع بعضهم في نفس التوقيت إذا كان ستوب صفقات البيع هو هدف صفقات الشراء و العكس . هل أطرح قيمة السبريد من هدف صفقات الشراء فقط ؟ أم هل ممكن أجعل صفقات البيع تفتح و تغلق بسعر البيد ؟
- 25-04-2013, 04:28 PM #3694
- 25-04-2013, 09:25 PM #3695
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم أستاذي العزيز
لو تكرمت الإكسبيرت بالمرفقات يفتح شراء بعد إغلاق شمعة إيجابية أو بيع بعد إغلاق شمعة سلبية ..
إذا كانت شراء و عكس السعر بمقدار عدد نقاط Step يفتح صفقه بيع عكسيه بمضاعفات تحدد خارجيا ..
إذا عكس و صعد مره اخرى بمقدار step يفتح صفقة شراء مضاعف ايضا بنفس ستوب الشراء الأول وهدفه و هكذا و يكون دائما نفس الهدف و الإستوب لكل صفقه و هدف الشراء يكون إستوب البيع و العكس ... و هو يضع أوامر معلقه ستوب عكس الصفقه المفعله الأخيره .
المشكله التي واجهتني أنه احيانا يفوت تعليق أحد الأوامر و أعتقدت أن حسابي لنقطة الأمر المعلق بها مشكله فجعلتها من سعر الآسك للشراء المعلق و البيد للبيع المعلق بدلا من سعر إفتتاح آخر صفقه و لكن واجهتني مشكله أخرى عدم إغلاق الصفقات البيع و الشراء سويا رغم وضعي شرط لذلك فلا يتم مسح الأوامر و يوثر على الشروط ..
ففضلا رجاء الإطلاع و غفادتي بالأخطاء أو الحلول .
و جزاك الله كل خير
- 25-04-2013, 09:34 PM #3696
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم أستاذي العزيز
لو تكرمت الإكسبيرت بالمرفقات يفتح شراء بعد إغلاق شمعة إيجابية أو بيع بعد إغلاق شمعة سلبية ..
إذا كانت شراء و عكس السعر بمقدار عدد نقاط Step يفتح صفقه بيع عكسيه بمضاعفات تحدد خارجيا ..
إذا عكس و صعد مره اخرى بمقدار step يفتح صفقة شراء مضاعف ايضا بنفس ستوب الشراء الأول وهدفه و هكذا و يكون دائما نفس الهدف و الإستوب لكل صفقه و هدف الشراء يكون إستوب البيع و العكس ... و هو يضع أوامر معلقه ستوب عكس الصفقه المفعله الأخيره .
المشكله التي واجهتني أنه احيانا يفوت تعليق أحد الأوامر و أعتقدت أن حسابي لنقطة الأمر المعلق بها مشكله فجعلتها من سعر الآسك للشراء المعلق و البيد للبيع المعلق بدلا من سعر إفتتاح آخر صفقه و لكن واجهتني مشكله أخرى عدم إغلاق الصفقات البيع و الشراء سويا رغم وضعي شرط لذلك فلا يتم مسح الأوامر و يوثر على الشروط ..
ففضلا رجاء الإطلاع و غفادتي بالأخطاء أو الحلول .
الإكسبيرتو جزاك الله كل خير
- 26-04-2013, 01:42 AM #3697
رد:موضوع مخصص للأسئلة البرمجية
يوجد أيضا ملاحظة آخر بالنسبه للداله
أنت بهذه الطريقة ستقوم بمعرفة آول صفقه أغلقت على ربح أو خساره لكن الصحيح أنك ستبحث في آخر صفقه أغلقت
فسوف تبدأ البحث ب OrdersHistoryTotal والمقارنه تكون أكبر من أو تساوي 0
بالنسبه لتعديل شروط توقيت فتح الصفقه
عند فتح الصفقه الأساسيه ( أول صفقه ) إجعل
كود PHP:Time0=Time[0];
كود PHP:&&OrderOpenTime()> Time0
- 26-04-2013, 01:43 AM #3698
- 26-04-2013, 01:52 AM #3699
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله وبركاته المشكله ليست لديك في سعر وضع الأمر المعلقه
إجعل سعر الأمر المعلق الجديد = ستوب لوز الأمر المفتوح
إلغي الشرط
كود PHP:Time0!=Time[0]
- 26-04-2013, 06:00 PM #3700
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة عندي مشكلة في الاكسبيرت بحيث
اول ما يبدا في المضاعفات يفتح عدد كبير من الصفقة
https://forum.arabictrader.com/t168758.html
ولم استطع تحديد عدد الصفقات داخل دالة التالية
كود PHP:if(Cl2<Cl1&&LastOrderType()==OP_SELL)
{
if(ProfitOrders()>0)
{
CloseOrders();
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
else
{
newLot=LastOrderLots()+Lots;
OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
}
//////////////////////////////////////////////////
if(Cl2>Cl1&&LastOrderType()==OP_BUY)
{
if(ProfitOrders()>0)
{
CloseOrders();
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
else
{
newLot=LastOrderLots()+Lots;
OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
}
return(0);
}
- 26-04-2013, 06:42 PM #3701
رد:موضوع مخصص للأسئلة البرمجية
تضيف المتغير datetime T; ضمن المتغيرات في بداية الأكسبيرت ثم تضيف ضمن الشروط :
كود PHP:if(T!=Time[0]&&Cl2<Cl1&&LastOrderType()==OP_SELL)
{
if(ProfitOrders()>0)
{
CloseOrders();
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
else
{
newLot=LastOrderLots()+Lots;
OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
T=Time [0];
}
//////////////////////////////////////////////////
if(T!=Time[0]&&Cl2>Cl1&&LastOrderType()==OP_BUY)
{
if(ProfitOrders()>0)
{
CloseOrders();
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
else
{
newLot=LastOrderLots()+Lots;
OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
T=Time [0];
}
return(0);
}
- 26-04-2013, 10:56 PM #3702
رد:موضوع مخصص للأسئلة البرمجية
الإضافه إلى مشاركة الأخ جميل قم أيضا بعمل دالة لمعرفة عدد الصفقات المفتوحه حسب نوع الصفقه
مثال
كود PHP:int orderscnt(int type){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type){
cnt++;
}
}
}
return(cnt);
}
كود PHP:orderscnt(OP_BUY)==0
كود PHP:orderscnt(OP_SELL)==0
- 27-04-2013, 12:19 AM #3703
- 27-04-2013, 04:40 AM #3704
رد:موضوع مخصص للأسئلة البرمجية
الخطأ لديك في الكود أنك لم تضع حد معين بحيث عندما يفتح الصفقه لا يفتح غيرها لذلك يجب أن تضع شرط لتحديد عدد الصفقات بحيث عندما يفتح صفقة الشراء سوف نضع شرط بأن صفقات الشراء = 0 بالتالي لن يفتح صفقه جديده حتى إغلاق الصفقه القديمه وأيضا عندما يقوم بالبيع سوف يبيع مره واحده ثم عندما يقارن الشرط أن عدد صفقات البيع = 0 فلن يتحقق الشرط بالتالي لن يفتح إلا صفقه واحده
- 27-04-2013, 04:34 PM #3705
استاذ اسامة تم حل مشلكة عدد الصفقات الكبيرة
لكن حصل مشكلة اخرى هو انه لما يبدا بالمضاعفات
يتوفق مع المضاعف الثاني فهو مثلا يفتح شراء 0.1
لو كان الناتج موجب يغلق بعد شمعة نازلة
ويعمل عادي ويعيد الدخول لكن لو كانت سالبة
يفتح بيع 0.2 ويترك الصفقات مفتوحة لا يغلقها ولا يدخل
في مضاعف جديد
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM