النتائج 2,386 إلى 2,400 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 03-07-2012, 07:50 PM #2386
- 03-07-2012, 09:08 PM #2387
رد:موضوع مخصص للأسئلة البرمجية
- 04-07-2012, 12:58 AM #2388
رد:موضوع مخصص للأسئلة البرمجية
آخر تعديل بواسطة spiders101 ، 04-07-2012 الساعة 01:19 AM
- 04-07-2012, 01:20 AM #2389
الداله
كود PHP:MarketInfo( string symbol, int type)
يمكن تغيير الإسبريد في الميتاتريدر وبما أنك ذكرت السؤال فسوف أشرحها في موضوع مستقل
- 04-07-2012, 01:30 AM #2390
قد يكون السبب في أن الهدف والأستوب قليل في بعض العملات فحسب ما تقول أغلب المشكله مع الباوند ين فربما السبب لأن الإسبريد لها كبير بالتالي الهدف والاستوب 10 نقاط تعتبر قليله فيظهر هذا خطأ قم بزيادة الهدف والأستوب قليلا وقم بإستخدام الداله NormalizeDouble لتعديل نقاط الهدف والأستوب لوز
- 04-07-2012, 01:06 PM #2391
- 04-07-2012, 03:05 PM #2392
رد:موضوع مخصص للأسئلة البرمجية
شكرا جزيلا أخي أسامه تم التعديل و الإكسبيرت يضع الأوامر الآن و لكن لاحظت ان الإكسبيرت يضع فقط الباي ستوب و لا يضع السيل ستوب و عندما أقوم بإلغاء تفعيل الباي ستوب أو مسح شروط الباي ستوب أجده يضع السيل ستوب ... و لا يضع الإثنان معا لا اعلم لماذا ؟؟
أيضا لاحظت تأخر الإكسبيرت حتى يتفعل لمده تصل خمس دقائق ..
رجاء الإطلاع
و بارك الله فيك
الإكســــــــــــــــــبيرت
- 04-07-2012, 07:25 PM #2393
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، الاكسيبرت المرفق بعد إضافة مضاعفات فيبوناتشي ظهرت مشكلة بسيطة ، وهى انه بعد فتح صفقة رابحة وبعدها صفقة خاسرة الصفقة التى تليها يتم حساب المضاعفات لها بطريقة خطـأ ، وانا أريد ان يبدأ فـ فتح صفقات المضاعفات مرة أخرى بنفس الطريقة 1-2-3-5-8-13-21-34-55-89 وذلك بعد آخر صفقة أغلقت على خسارة ، مرفق صورة للتوضيح .
- 04-07-2012, 08:55 PM #2394
هذا لأنك وضعت الشرط
كود PHP:MyBuyPendingOrdersTotal(MagicNumber)==0
إجعل شروط أوامر البيع والشراء المعلقه في جملة شرطيه واحده
مثال :
كود PHP:if (MyBuyPendingOrdersTotal(MagicNumber)==0 && Time0!=Time[0]) {
if((TimeCurrent()-LastClosedOrderTime())/60/60>=99999){
if(StopLoss==0||HideSL){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0||HideTP){TP=0;}else{TP=Ask+TakeProfit*point;}
if(UseRecTP)TP=(buy+TP_R);
if(UseRecSL)SL=(buy-SL_R);
if(USE_BUYSTOP==TRUE) OrderSend(Symbol(),OP_BUYSTOP,Lots1,NormalizeDouble(buy,Digits),3,SL,TP,"first",MagicNumber,0,Green);
////////
if(StopLoss==0||HideSL){SL=0;}else{SL=Bid+StopLoss*point;}
if(TakeProfit==0||HideTP){TP=0;}else{TP=Bid-TakeProfit*point;}
if(UseRecTP)TP=(sell-TP_R);
if(UseRecSL)SL=(sell+SL_R);
if(USE_SELLSTOP==TRUE) OrderSend(Symbol(),OP_SELLSTOP,Lots1,NormalizeDouble(sell,Digits),3,SL,TP,"first" ,MagicNumber,0,Green);
PlaySound("Alert.wav");
Time0=Time[0];
}
}
- 04-07-2012, 08:57 PM #2395
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، كيف اضيف خاصية الـ UseMoneyManagement للاكسيبرت المرفق
- 04-07-2012, 09:06 PM #2396
السبب في الآتي
المفروض في أول صفقه خاسره مثلا 1 لوت فالمضاعفه الأولى تكون 1 لوت أيضا ثم المضاعفه الثانيه يتم جميع آخر صفقتين وهكذا
لذلك يجب أن تضيف شرط إذا كانت أول صفقه خاسره فحجم اللوت سيكون نفسه
يمكنك عمل داله لحساب عدد الصفقات الخاسره المتتاليه
كود PHP:int NumberOfLosses(){
int N;
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
if(OrderProfit()>0){
return(N);
}
else{
N++;
}
}
}
return(N);
}
كود PHP:if(WinorLoss()==false){
if(NumberOfLosses()==1)Lots=LastLot(MagicNumber,1);
else {Lots=LastLot(MagicNumber,1)+LastLot(MagicNumber,2);}
}
- 05-07-2012, 12:28 AM #2397
- 05-07-2012, 02:27 AM #2398
رد:موضوع مخصص للأسئلة البرمجية
قمت بإضافة الخاصية للاكسيبرت ولكن وجدت الكود كتب بشكل مختلف فـ اكسيبرت آخر .
دالة LotManage()
كود PHP:double LotManage(){
double lot = MathCeil(AccountBalance() * 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 (NormalizeDouble(lot,Lot_Digits));
}
كود PHP:extern int Lot_Digits=2;
- 05-07-2012, 03:52 AM #2399
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة انا اريد كود يقوم بمضاعفة الصفقات المفتوحة فـ حالة خسارتها ، اى اذا كانت أخر صفقة مفتوحة بيع أو شراء البروفت لها سالب يقوم بمضاعفة العقد التالى .
انا استخدمت من قبل هذا الكود لعمل ذلك
كود PHP:if(profit(OP_BUY)<0 ||profit(OP_SELL)<0 && Use_Mult==true){Lots=lastlot2()*Multiplier;}
else {Lots=Firstlot;}
كود PHP:double profit(int type)
{
double pr;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&& type==OrderType()){
pr=OrderProfit(); // Profit For last opened Trade olny , If ALL opened Trades Use pr=pr+OrderProfit(); //
}
}
return(pr);
}
كود PHP:double lastlot2(){
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
double lotsnumber=OrderLots();
}
}
return(lotsnumber);
}
وتعريف متغير خارجى
كود PHP:extern bool Use_Mult=false;
ولكن الغريب ان الاكسيبرت لايفتح العقود بإستخدام خاصية MoneyManagement مع وجود هذا الشرط فـ الاكسيبرت وعند حذفه تعمل الخاصية !!آخر تعديل بواسطة spiders101 ، 05-07-2012 الساعة 04:07 AM
- 05-07-2012, 06:40 AM #2400
رد:موضوع مخصص للأسئلة البرمجية
حاول يا محمد تجمع أكواد الإكسبيرت شوية منعا للخبطة
يعني مثلا شروط تحديد اللوت إنت عامل شوية في شروط البيع والشراء وشوية في إستارت
حاول تجمعهم عشان الإكسبيرت كده بيعدي على أول شرط مثلا MoneyManagement ويقوم محدد اللوت على أساس رأس المال وبعد كده بيعدي على شرط تحديد اللوت حسب ربح أخر صفقة ولو أخر صفقة خسرانة بيغير حجم اللوت وبعد كده بيدخل على شروط البيع والشراء يلاقي شروط تانية لتحديد قيمة اللوت
حاول تجمعهم في شرط واحد في إستارت بحيث تكون عارف مع كل حالة اللوت النهائي هيكون إية بإستخدام if و else if
يعني مثلا بالشكل ده
كود PHP:if(profit()<0 && Use_Mult==true){Lots=lastlot2()*Multiplier;}
else if(profit()>0 && UseMoneyManagement==true){Lots=LotManage();}
else if(UseMultiplier&& WinorLoss()==false){Lots=lastlot()*Multiplier;}
ورتب الشروط بحيث ما يكونش في تضارب بينها
--------------
التضارب عندك في إنك إستخدمت
كود PHP:else {Lots=Firstlot;}
ولو الصفقة الأخيرة رابحة أو Use_Mult==false فإنه سيمر على شرطكود PHP:else {Lots=Firstlot;}
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM