النتائج 2,746 إلى 2,760 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 08-09-2012, 05:37 AM #2746
رد:موضوع مخصص للأسئلة البرمجية
انا قمت بتجربة الإعدادات التي توقف عندها الاكسيبرت عند العمل لايف ، وجدته توقف ايضا عند الباك تست وبعد مراجعة الحلقات داخل الاكسيبرت وجدت إنى مستخدم الحلقة while داخل دالة ستارت في شروط الإغلاق ..
كود PHP:if(Use_USD_Profit_Global==true){//Close Total profit for all pairs >>> ACCount profit ||Close Total profit for one pair >>> profit2(OP_BUY)+profit2(OP_SELL)||***ADD Code to CloseOrders() Function
int triednumber2;
if(OrdersTotal()>0&&triednumber2<20){
while(true)
{
if(IsTradeContextBusy()){Sleep(1000);}
else {
if(AccountProfit()>=USD_Profit && Use_USD_Profit==true){
signalbuy1=false;signalbuy2=false;signalsell1=false;signalsell2=false;
CloseOrders();}
if(AccountProfit()<=-USD_Loss&&Use_USD_Loss==true){
signalbuy1=false;signalbuy2=false;signalsell1=false;signalsell2=false;
CloseOrders();}
if(AccountProfit()<=-(lossratio*AccountBalance()/100)&&LossRatio==true){
signalbuy1=false;signalbuy2=false;signalsell1=false;signalsell2=false;
CloseOrders();}
if(AccountProfit()>=(profitratio*AccountBalance()/100)&&ProfitRatio==true){
signalbuy1=false;signalbuy2=false;signalsell1=false;signalsell2=false;
CloseOrders();}
if(DayOfWeek()==5&&Hour()==CloseHour&&Closeby_EndofWeek==true){
signalbuy1=false;signalbuy2=false;signalsell1=false;signalsell2=false;
CloseOrders();}
}
}
triednumber2++;
}
}
كود PHP:while(true)
كود PHP:if(signalbuy1==true||signalbuy2==true){
if(orderstotal()<MaxTrades){
int triednumber;
while(true)
{
if(IsTradeContextBusy()){Sleep(1000);}
else {
int ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,digits),slippage*Q,0,0," EA",MagicNumber,0,Blue);
//if(ticket<0)Alert("Order Send Error "+GetLastError(),"||","open price for the order"+Ask);***in Future Fix "Order Send Error 146،Order Send Error 129،Order Send Error 128"*** !!
}
signalbuy1=false;
signalbuy2=false;
GlobalVariableSet("T"+Symbol(),Time[0]);
triednumber++;
if(ticket<=0){
Sleep(500);
RefreshRates();}
else
break;
if(triednumber>20)break;
}
}
}
- 08-09-2012, 09:27 AM #2747
- 08-09-2012, 01:58 PM #2748
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله وبركاته
عندما اقوم بتعريف المتغيرات داخل الاكسبرت وفي اثناء عمل الاكسبرت اقوم بتعيين قيم المتغيرات على حسب الحالات التي يمر بها الاكسبرت اثناء التداول وبذلك اقوم ببناء كمية الشروط التي احتاجها لفتح الصفقات
ولكن فجأة تنقطع الكهرباء او يقفل الميتاتريدر لاي سبب كان
وتضيع آخر قيمة للمتغيرات التي حددناها اثناء عمل الاكسبرت في جلسته الاخيرة وبالتالي تضيع مجموعة الشروط التي جمعتها شرطا بعد شرط اللازمة لفتح الصفقات
ونضطر الى بدء العمل من جديد بالقيم المبدئية
سؤالي هل يوجد امكانية لتخزين القيم في ملف خارجي تكست فايل مثلا في الهارد ديسك ومن ثم استدعاء هذه القيم المخزنة عند بدء تشغيل الاكسبرت
- 08-09-2012, 06:10 PM #2749
رد:موضوع مخصص للأسئلة البرمجية
حاولت استخدام الامران GlobalVariableSet و GlobalVariableGet
ولكن المشكلة التي اواجهها في هذا الامر هي عندما اضع الاكسبرت في اكثر من عملة على المنصة
فلو اعطيت فيمة للمتغير بواسطة GlobalVariableSet في الاكسبرت الموجود لليورو دولار مثلا
فان القيمة نفسها تعطى لجميع العملات الاخرى المشبوك فيها الاكسبرت .
وهذا يعطي بالتاكيد نتائج غير مرغوبةآخر تعديل بواسطة محمد بن حامد ، 08-09-2012 الساعة 06:17 PM
- 09-09-2012, 02:31 AM #2750
تعديل سكريبت
المرجو من الاخوا المبرمجين أن يساعدوني على هدا السكريبت
بكل بساطة يفتح السكريبت صفقة في شمعة و إدى تحقق الستوب لوس لا يفتح صفقة أخرى في نفس الشمعة .
وشكرا على جميع أعضاء النتدى لأني كسبت تجربة كبيرة في الفركس ولفضل راجع إلى هدا المنتدى بكل سراحة .
- 09-09-2012, 06:53 AM #2751
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، هل يوجد اكسيبرت تم عمله من قبل بالمنتدى يعمل فقط على فكرة إغلاق العقد أو العقود المفتوحة على نقطة التعادل(صفر بروفت) ، أنا أعمل على فكرة مشابهة ولكن بالمضاعفات ، أرجو إرفاق الرابط إذا أمكن .
- 10-09-2012, 06:03 AM #2752
لديك خطأ آخر في هذه الحلقات
كود PHP:string firstM ;
for(int iii=OrdersHistoryTotal();iii<=1;iii--)
{
OrderSelect(iii, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
double firstM_lots,firstM_SL,firstM_openprice, firstM_ordertype;
//for buy order
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) firstM="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) firstM="loss";
//for SELL order
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) firstM="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) firstM="loss";
firstM_lots=OrderLots();
firstM_SL=OrderStopLoss();
firstM_openprice=OrderOpenPrice();
firstM_ordertype=OrderType() ;
break;
}
}
//===========================
////// HISTORICAL FIRST ONES FOR PENDING ORDERS BY MAGIC ///
string firstP ;
for(int iiii=OrdersHistoryTotal();iiii<=1;iiii--)
{
OrderSelect(iiii, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberP)
{
double firstP_lots,firstP_SL,firstP_openprice, firstP_ordertype;
//for buy order
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) firstP="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) firstP="loss";
//for SELL order
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) firstP="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) firstP="loss";
firstP_lots=OrderLots();
firstP_SL=OrderStopLoss();
firstP_openprice=OrderOpenPrice();
firstP_ordertype=OrderType() ;
break;
}
}
كود PHP:for(int iii=OrdersHistoryTotal();iii<=1;iii--)
- 10-09-2012, 06:08 AM #2753
- 10-09-2012, 06:22 AM #2754
- 10-09-2012, 06:24 AM #2755
- 10-09-2012, 06:25 AM #2756
- 10-09-2012, 06:28 AM #2757
راجع الإكسبرت المرفق
سوف تجد الشرط
كود PHP:if(UseAverageTP){
if(orderscnt(OP_BUY)>1)ModifyOrders(OP_BUY);
if(orderscnt(OP_SELL)>1)ModifyOrders(OP_SELL);
}
كود PHP:Av_TP
الفكرة هي في دالة حساب نقطة التعادل وكيف تحسب رياضيا
كود PHP:double AvTP(int type){
double Price;double Lots;
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
Price+=OrderOpenPrice()*OrderLots();
Lots+=OrderLots();
}
}
if(Lots!=0) return(Price/Lots);
}
- 10-09-2012, 03:52 PM #2758
أخي MR Dolar أحتاج جزء من السريبت فقط و إدا أمكن تعديل هدا السكريبت ليصبح بشكل المطلوب , وشكرا على مساعدتك
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if(OrderType() == OP_BUY) {
- 10-09-2012, 04:04 PM #2759
- 10-09-2012, 07:58 PM #2760
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM