اتمنى المساعده من الاخوان المبرمجين
السلام عليكم
موجود عندي اكسبيرت ولي فتره احاول اضيف لكود الاكسبيرت شرط اغلاق الصفقه بعد مرور ساعه كامه من وقت فتح الصفقه ولكن ما استطعت ايجاد الكود المناسب
فلو تكرمتو اعطائي الكود المناسب وانا اعدكم باني سوف اضع الاكسبيرت في المنتدى انشالله
مع الشكر مقدما
رد: اتمنى المساعده من الاخوان المبرمجين
جرب هذا وإذا لزم الأمر عدل الكود بحسب ما كتبته في اكسبرتك
كود:
// insert the following within start function
if(CurTime()-OrderOpenTime()>=60)
{
CloseLongs()
CloseShorts()
}
// insert the following outside start function
//+------------------------------------------------------------------+
//| function for closing orders |
//+------------------------------------------------------------------+
void CloseLongs()
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()|| OrderMagicNumber()!=MagicNumber)
continue;
if(OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,SkyBlue);
}
}
//---------------------------
void CloseShorts()
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()|| OrderMagicNumber()!=MagicNumber)
continue;
if(OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Orange);
}
}
//+------------------------------------------------------------------+
رد: اتمنى المساعده من الاخوان المبرمجين
[QUOTE=ساق الجواء;1143321]جرب هذا وإذا لزم الأمر عدل الكود بحسب ما كتبته في اكسبرتك
يجب الاخذ بالاعتبار ان الوظيفة OrderOpenTime يجب ان تكون بعد OrderSelect
والنقطة الثانية هي ناتج طرح الوقتين تكون بالثواني
بعد تعديل الكود
كود:
//+------------------------------------------------------------------+
//| function for closing orders |
//+------------------------------------------------------------------+
void CloseLongs()
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()|| OrderMagicNumber()!=MagicNumber)
continue;
if(OrderType()==OP_BUY && CurTime()-OrderOpenTime()>3600)
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,SkyBlue);
}
}
//---------------------------
void CloseShorts()
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()|| OrderMagicNumber()!=MagicNumber)
continue;
if(OrderType()==OP_SELL && CurTime()-OrderOpenTime()>3600)
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Orange);
}
}
//+------------------------------------------------------------------+
رد: اتمنى المساعده من الاخوان المبرمجين
كود:
// insert the following within start function
//+------------------------------------------------------------------+
//| close orders after one hour |
//+------------------------------------------------------------------+
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()|| OrderMagicNumber()!=MagicNumber)
continue;
{
if(OrderType()==OP_BUY && CurTime()-OrderOpenTime()>3600)
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,SkyBlue);
}
{
if(OrderType()==OP_SELL && CurTime()-OrderOpenTime()>3600)
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Orange);
}
}
//+------------------------------------------------------------------+
رد: اتمنى المساعده من الاخوان المبرمجين
الشكر للاخ ساق الجواء وصانع القرار على ردودكم السريعه وانشالله اول ما اخلص من الكود راح اضع في المنتدى