اخي واستاذي الغالي
انا اعلم مدى انشغالك في مساعدة الاخوة وتلبية طلباتهم
وعسى الله يجازيك خيرا ً على ما مساعدتك للجميع ويزيدك من علمه علما ً
ارجو تفضلك و اذا امكن في الوقت الحاضر فقط اضافة خاصية ادارة راس المال
وكما موضح في اعلاه
تقبل شكري وتقديري
Printable View
بالنسبه لنقل الأستوب أنت تقصد البريك إيفن سوف تقوم بتعريف الداله
ثم بداخل الداله start ستضع الشروطكود PHP:
void MoveBreakEven()
{
int cnt,total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(BreakEven>0)
{
if(NormalizeDouble((Bid-OrderOpenPrice()),digits)>BreakEven*point)
{
if(NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),digits)<0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+movestopto*point,digits),OrderTakeProfit(),0,Blue);
}
}
}
}
else
{
if(BreakEven>0)
{
if(NormalizeDouble((OrderOpenPrice()-Ask),digits)>BreakEven*point)
{
if(NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),digits)<0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-movestopto*point,digits),OrderTakeProfit(),0,Red);
}
}
}
}
}
}
}
ولا تنسى تعريف المتغيرات الخارجيه المستخدمهكود PHP:
if(BreakEven>0)MoveBreakEven();
بالنسبه لإدارة رأس المالكود PHP:
extern int BreakEven=0;
extern int movestopto=1;
ستسخدم الداله
وتضع الشروطكود PHP:
double LotManage()
{
double lot = MathCeil(AccountFreeMargin() * RiskPercent / 1000) / 100;
if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
return (lot);
}
وتعريف المتغيرات الخارجيهكود PHP:
if(UseMoneyManagement) Lots = LotManage();
كود PHP:
extern bool UseMoneyManagement = false;
extern int RiskPercent = 10;
سلمت يداك يا اخي واستاذي
استاذي الغالي قمت باضافة الاكواد اعلاه
بعد عمل باك تست للاكسبيرت لاحظت عدم قيام الاكسبيرت بزيادة حجم العقد عند زيادة راس المال
علما ً باني قمت بتفعيل خاصية ادارة راس المال
ملاحظة : اني مبتدأ في البرمجة
وارجو تفضلك اذا امكن باضافة الاكواد الى الاكسبيرت المرفق ليتسنى لي دراسته
وتحديد سبب المشكلة التي حدثت معي
مع فائق شكري وتقديري لسيادتك
اخوتي اخواتي واساتذتي الكرام
رمضان كريم
أعاده الله عليكم باليمن والخير والبركات
اما بعد ..
اعلم ان الاستاذ مستر دولار مشغول في الرد على الاستفسارات
وادعو من الله ان يعطيه هو وكل من يمد يده لمساعدة الاخوة الصحة والعافية
وارجوا كل من لديه القدرة على حل مشكلتي مساعدتي في تعديل واضافة الخصائص المطلوبة للاكسبيرت اعلاه
مع فائق شكري وتقديري للجميع
ارجو من سيادتكم التفضل باضافة خاصية تعزيز العقود بحيث عند تراجع السعر 30 نقطة يفتح عقد اخر وهكذا
واضافة خاصية ادارة الصفقات مثلا عند خسارة 2000 دولار يقوم باغلاق جميع العقود المفتوحة
هذا ولكم كل فائق الشكر والتقدير
:hands: :hands: :hands: :hands: :hands: :hands: :hands:
:016::016::016::016::016:
:hands::hands::hands::hands::hands:
السلام عليكم ورحمة الله وبركاته
اساتذتي الاعزاء حاولت اضافة الاكواد ادناه والعائدة لاستاذنا الكبير مستر دولار الى الاكسبيرت المرفق
لكن تظهر لي عدة اخطاء حاولت تصحيها لكن دون جدوى والتي تقوم باغلاق جميع الصفقات المفتوحة على ربح او خسارة معينة
الملف المرفق 335255كود:int m1;
if (profit()>=Profit)
{
if(CloseOrdersAfterProfit){
while(orders()>=1){CloseAllOrders();
}
if(DeleteOrdersAfterProfit){DeletePendingOrders();}
}
}
if(profit()<Loss&&CloseOrdersAfterLoss){
while(orders()>=1&&m1<20){
CloseAllOrders();
DeletePendingOrders();
m1++;
}
}
والكود الثاني والذي يقوم بعملية بمضاعفة العقود
كود:lastlot=0;
if(OpenBuyStopOrders){
for(i=1;i<=NumberOfBuyStopOrders;i++)
{
if(UseMultiplier){
if(X_Multiplier){
newlot=Multiplier*lastlot;
}else{newlot=lastlot+BuyStopFirstLot;}
}else{newlot=BuyStopFirstLot;}
if(newlot==0){newlot=BuyStopFirstLot;}
lastlot=newlot;
علما ً باني قمت بتعريف المتغيرات
double lastlot;
double newlot
ارجوا من حضرتكم التفضل بمساعدتي على حل هذه الاخطاء
مع فائق شكري وتقديري
اخي العزيز صاحب الموضوع
اجابة الاخ مستر دولار وافة وشافية
خصوصا انك في المشاركات بعد هذه المشاركة يبدو منها ان الاكسبيرت شغال
وحسب اضافة احد الاخوة لكود مستر دولار الى اكسبيرتك
لذا عليك اخي الكريم ان توضح الاجزاء التي لا تعمل من الكود
حتى تكون الصورة واضحة لمن يستطيع المساعدة
مع التقدير
جزاك الله خيرا ً يا اخي الغالي
واشكرك على حضورك الكريم
انا اقصد الاكواد الموجودة في المشاركة رقم 26
حيث استخرجتها من اكسبيرت
MR.dollar_Pending Orders EA V4.6
للاستاذ الفاضل مستر دولار
تقبل فائق شكري وتقديري