1 مرفق
ادارة الصفقات عن طريق مؤشر MACD
السلام عليكم ورحمة الله
الي اخي مستر دولار والي كافت الاخواة والاصدقاء الي ممكن يساعدوني
تتمثل طرقاتي في المداولة في فتح صفقات يدويا اعتمادا علي التحليل بي موجات اليوت و الهرمونيك في نفس الوقت
والاغلاق باعتماد مؤشر الماكد المرفق مع Metarader
المشكل: هدي الطريقة جيدة لاكن تحتاج ان اكون طول الوقت امام الجهاز وهدا ما لا استطيعه نضرا لي طبيعة عملي وارتبطاتي
الحل واتمني ان تساعدوني فيه : ان اقم بي عمل اكسبيرت ادارة صفقات يقوف فقط باغلاق الصفقات حسب نوعها بيع او شراء اعتمادا علي تقطع MACD بي بضعة شروط ساشرحها بالتفصيل :
شروط اغلاق صفقة الشراء :
شروط اغلاق صفقة البيع :
ملاحضة :shift يكون بعد التقاطع بي شمعة واحدة مثلا
الكود الي وصلت له
كود PHP:
//+------------------------------------------------------------------+
//| m-e-c biz Close_Buy_Orders_or_Sell_Orders_V1.mq4 |
//| Copyright © 2009 m-e-c.biz |
//| http://m-e-c.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009 m-e-c.biz"
#property link "http://m-e-c.biz"
extern int slippage=3;
extern bool Close_Buy_or_Sell=true;// true -> Close Buy Orders , false -> Close Sell Orders
int t1,t2;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
if (Close_Buy_or_Sell)
{
while(MyBuyRealOrdersTotal(0)>0) CloseBuyOrders();
}
else
{
while(MySellRealOrdersTotal(0)>0) CloseSellOrders();
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
// وظيفة لحساب عدد صفقات الشراء الحالية
int MyBuyRealOrdersTotal(int Count)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
// وظيفة لحساب عدد صفقات البيع الحالية
int MySellRealOrdersTotal(int Count)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && (OrderType()==OP_SELL))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
// وظيفة لاغلاق جميع صفقات الشراء المفتوحة
//+------------------------------------------------------------------+
int CloseBuyOrders()
{
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
if(OrderClose(OrderTicket(),OrderLots(),Bid,3)==false)
{
RefreshRates();
}
else
{
cnt=0;
total=OrdersTotal();
}
}
}
}
return(0);
}
// وظيفة لاغلاق جميع صفقات البيع المفتوحة
//+------------------------------------------------------------------+
int CloseSellOrders()
{
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
if(OrderClose(OrderTicket(),OrderLots(),Ask,3)==false)
{
RefreshRates();
}
else
{
cnt=0;
total=OrdersTotal();
}
}
}
}
return(0);
}
الرجاء مساعدتي لي اكمال ادخال شروط غلق الصفقات في الاكسبيرت...والله لا يضيع اجر المحسنين
وان شاء الله يستفيد غيري منه