النتائج 2,731 إلى 2,745 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 05-09-2012, 09:47 AM #2731
- 05-09-2012, 12:24 PM #2732
السلام عليكم أستاذ أسامه .. أنا في إنتظار الرد على هذه المشاركه بارك الله فيك
https://forum.arabictrader.com/t37612-181.html#2704
- 05-09-2012, 01:14 PM #2733
رد:موضوع مخصص للأسئلة البرمجية
- 05-09-2012, 06:43 PM #2734
رد:موضوع مخصص للأسئلة البرمجية
استاذ جميل أعتقد انك تريد تعريف دالة بداخل دالة أخرى وهذا غير صحيح لأن الاكسيبرت لن يقوم بإستدعاء هذه الدلة إلا بإستدعاء الدالة الخارجية أولا ولذلك يجب عدم تعريف دالة داخل دالة أخرى .
الخطـأ بالدالة التالية
كود PHP:void CustomCode10()
{
double dayProfit(){
double pips,pipsb,pipss;
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(iTime(Symbol(),1440,0)<OrderOpenTime()&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
if(OrderType()==OP_BUY)pipsb+=(OrderClosePrice()-OrderOpenPrice());
if(OrderType()==OP_SELL)pipss+=(OrderOpenPrice()-OrderClosePrice());
pips=pipsb+pipss;
}
}
return(pips);
}
- 05-09-2012, 08:13 PM #2735
رد:موضوع مخصص للأسئلة البرمجية
يا أخ جميل الدالة كما وضحها أستاذ أسامة ( وخد بالك إنك بعد ما تطرح سعر إغلاق الصفقة من سعر الإفتتاح لازم تقسم ÷ point ) عشان ينتج لك فرق النقاط لتستطيع مقارنته مع DailyTp
وكما قال لك أخونا إسبايدر ما ينفعش تعرف دالة داخل دالة يعني ما ينفعش الشكل ده
كود PHP:void CustomCode10()
{
double dayProfit(){
كود PHP:double dayProfit(){
double profit;
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderOpenTime()>=iTime(Symbol(),1440,0)){
if(OrderType()==OP_BUY)profit+=(OrderClosePrice()-OrderOpenPrice())/Point;
if(OrderType()==OP_SELL)profit+=(OrderOpenPrice()-OrderClosePrice())/Point;
}
}
return(profit);
}
دي بسيطة ما تستديعهاش وإستدعي بدل منها dayProfit()
بالشكل ده بدل من إسم الدالة المحذوفة
كود PHP:void OnEveryTick7()
{
if (true == false && false) PipValue = 10;
if (true && (NDigits == 3 || NDigits == 5)) PipValue = 10;
dayProfit();
TechnicalAnalysis2x15();
TechnicalAnalysis2x16();
}
لإنك إستدخمتها في دالة إستارت بالشكل ده
كود PHP:if (dayProfit()>=(DailyTP-1)*Point&&UseDialyTP==true)return(0);
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
وده هيكون الكود من أول دالة إستارت حتى دالة حساب النقاط
كود PHP:int start()
{
if (Bars < 10)
{
Comment("Not enough bars");
return (0);
}
if (Terminated == true)
{
Comment("EA Terminated.");
return (0);
}
if (dayProfit()>=(DailyTP-1)*Point&&UseDialyTP==true)return(0);
OnEveryTick7();
}
void OnEveryTick7()
{
if (true == false && false) PipValue = 10;
if (true && (NDigits == 3 || NDigits == 5)) PipValue = 10;
dayProfit();
TechnicalAnalysis2x15();
TechnicalAnalysis2x16();
}
///////////////////////////////////////////////Void//////////////////Void//////////////////Void//////////////////Void/////////
double dayProfit(){
double profit;
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderOpenTime()>=iTime(Symbol(),1440,0)){
if(OrderType()==OP_BUY)profit+=(OrderClosePrice()-OrderOpenPrice())/Point;
if(OrderType()==OP_SELL)profit+=(OrderOpenPrice()-OrderClosePrice())/Point;
}
}
return(profit);
}
لما تيجي تعمل دالة بتعرفها حسب نوع الرقم الناتج منها
يعني لو الدالة ستعود بناتج صحيح يبقى تعرفهاكود PHP:int dayProfit(){
كود PHP:double dayProfit(){
كود PHP:void dayProfit(){
وأسف على الإطالة
- 05-09-2012, 09:11 PM #2736
شكرا اخي سبايدر و شكرا استاذ يوسف على التفاعل الرائع والفكرة وصلت وخاصة تسمية الدوال int or double ولي عودة في موضوع تجميد عمل الأكسبيرت بعد الوصول لأهدافه اليومية . تحياتي
- 06-09-2012, 02:19 AM #2737
- 06-09-2012, 02:44 AM #2738
في البداية دالة حفظ بيانات آخر صفقه لا تحتاج إلى كتابة حجم اللوت وسعر الإفتتاح أكثر من مره
كود PHP:string lastM;
for(int ii=OrdersHistoryTotal();ii>=0;ii--)
{
OrderSelect(ii, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
double LastM_lots,LastM_SL,LastM_openprice, LastM_ordertype;
//for buy order
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) lastM="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) lastM="loss";
//for SELL order
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) lastM="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) lastM="loss";
LastM_lots=OrderLots();
LastM_SL=OrderStopLoss();
LastM_openprice=OrderOpenPrice();
LastM_ordertype=OrderType() ;
break;
}
}
كود PHP:if( lastP=="profit" && LastPend()==OP_BUYSTOP )
double bl=LastP_openprice ;
{
OrderSend(Symbol(),OP_BUYLIMIT,Lots,bl,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
if( lastP=="profit" && LastPend()==OP_BUYLIMIT )
double bss=LastP_openprice ;
{
OrderSend(Symbol(),OP_BUYSTOP,Lots,bss,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
كود PHP:if( lastP=="profit" && LastPend()==OP_BUYSTOP )
{
double bl=LastP_openprice ;
OrderSend(Symbol(),OP_BUYLIMIT,Lots,bl,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
if( lastP=="profit" && LastPend()==OP_BUYLIMIT )
{
double bss=LastP_openprice ;
OrderSend(Symbol(),OP_BUYSTOP,Lots,bss,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
//============================
///////////////////===3-RE PUT SELL PENDING===////////////
if( lastP=="profit" && LastPend()==OP_SELLSTOP )
{
double sll=LastP_openprice ;
OrderSend(Symbol(),OP_SELLLIMIT,Lots,sll,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
if( lastP=="profit" && LastPend()==OP_SELLLIMIT )
{
double sss=LastP_openprice ;
OrderSend(Symbol(),OP_SELLSTOP,Lots,sss,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
- 06-09-2012, 07:27 AM #2739
- 06-09-2012, 11:07 AM #2740
رد:موضوع مخصص للأسئلة البرمجية
- 06-09-2012, 06:51 PM #2741
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، لدي مشكلة بالاكسيبرت المرفق ، انا قمت بعمل بعض التعديلات على الاكسيبرت وإضافة بعض الأكواد وعمل في الباك تست ولكن عند متابعة الاكسيبرت لايف يعمل بعد وضعه مباشرة على الشارت وبعدها بفترة يتوقف الاكسيبرت ولايستجيب لأى شيء حتى خصائص الاكسيبرت لا أستطيع فتحها من على الشارت !! ، هل المشكلة من الاكسيبرت ام من المنصة !!
- 06-09-2012, 09:49 PM #2742
- 08-09-2012, 12:41 AM #2743
عندما قمت بكتابة الجمله الشرطيه
إستخدمت
كود PHP:if( lastP=="profit" && LastPend()==OP_SELLSTOP )
double sll=LastP_openprice ;
كود PHP:{
OrderSend(Symbol(),OP_SELLLIMIT,Lots,sll,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
كود PHP:if( lastP=="profit" && LastPend()==OP_SELLSTOP )
{
double sll=LastP_openprice ;
OrderSend(Symbol(),OP_SELLLIMIT,Lots,sll,3,SL,TP,"Expert EA",MagicNumberP,0,Red);
}
- 08-09-2012, 01:04 AM #2744
- 08-09-2012, 03:39 AM #2745
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM