البيانات |
تاريخ التسجيل: |
Oct 2011 |
رقم العضوية: |
6309 |
العمر: |
45 |
المشاركات: |
192 |
بمعدل : |
0.04 يوميا |
الإتصالات |
الحالة: |
|
وسائل الإتصال: |
|
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 |
 |
|
 |
|
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
كود:
extern bool CloseOppisite = false;
بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
كود:
if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
CloseSellOrders();
if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
CloseBuyOrders();
وتقوم بعمل وظيفتين لغلق البيع او الشراء
كود:
int CloseBuyOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*t);Sleep(1000);}
}
}
}
return(0);
}
int CloseSellOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*t);Sleep(1000);}
}
}
}
return(0);
}
|
|
 |
|
 |
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط
يا ريت حضرتك تظبطلى الاكواد بحيث يغلق عند الاشارة العكسيه
كود:
double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)buy=true;
if(sell<10000)sell=true;
if (buy<10000&&buy==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);
if (sell<10000&&sell==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Blue);
التوقيع |
الغرب يساندون الفاشل حتى ينجح
والعرب يحاربون الناجح حتى يفشل |
|