FX-Arabia

جديد المواضيع















الملاحظات

منتدى المؤشرات و الاكسبيرتات تعليم برمجة الاكسبيرت ، اكسبيرت مجانى ، برمجة مؤشرات ، مؤشر ، تصميم اكسبيرت مجانا ، اكسبيرتات جديدة ، مؤشرات جديدة ، كل ما يتعلق بالتحليل و الخاص بالمؤشرات الفنية او الرقمية ، Expert advisor ، mql ، mql4 ، دورة برمجة ، برمجة اكسبيرت ، اكسبيرت رابح ، اكسبيرت جيد ، ادارة حسابات ، تداول الى ، ميتاتريدر ، تحميل منصة ، منصة تداول ، برمجة مؤشر ، مكتبة مؤشرات ، مؤشر جديد ، مؤشرات جديدة ، مؤشر حصرى ، احدث مؤشر .


سؤال عاجل للاساتذة المبرمجين

منتدى المؤشرات و الاكسبيرتات


إضافة رد
 
أدوات الموضوع
قديم 20-09-2017, 03:33 AM   المشاركة رقم: 1
الكاتب
Rushdi
عضو متميز
الصورة الرمزية Rushdi

البيانات
تاريخ التسجيل: Oct 2011
رقم العضوية: 6474
الدولة: تركيا & العراق
العمر: 39
المشاركات: 1,334
بمعدل : 0.29 يوميا

الإتصالات
الحالة:
Rushdi غير متواجد حالياً
وسائل الإتصال:

المنتدى : منتدى المؤشرات و الاكسبيرتات
4 سؤال عاجل للاساتذة المبرمجين

صباح الخير

انا احاول تعلم البرمجة لكن اواجه بعض المشاكل بسبب عدم وجود اساس برمجة لدي لكن اتمنى تجاوز المشاكل عبر مساعدة الاساتذة في المنتدى وخاصة الاستاذ اسلام .
حاولت برمجة اكسبرت افتراضي يفتح ويغلق الصفقات عبر تقاطع الموفينك و الباربوليك سار وكان كل شيء على ما يرام ويفتح ويغلق بدون مشاكل الى ان حاولت اضافة خاصية التريلنج ستوب حيث بعد اضافته ورغم عدم اعطائه لاي اخطاء في الكود يتوقف البرنامج بالكامل اول ما احاول تشغيله في التستر كما يحصل في نهاية فيديو الاستاذ اسلام ذو الاسم (درس رقم 10 من سلسلة دورة البرمجة الاحترافية على منتديات اف اكس ارابيا http://www.fx-arabia.com ) .

ارجوا من الاخوة المبرمجين المساعدة لحل هذا المشكلة.




الكود
نقره لعرض الصورة في صفحة مستقلة



كود:
//+------------------------------------------------------------------+
//|                                                 Byu_Sell_Day.mq4 |
//|                              Copyright © 2007, www.****forex.net |
//|                                         http://www.****forex.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, www.****forex.net"
#property link      "http://www.****forex.net"




extern double LotSize=0.01;
extern double StopLossPips=30;
extern double TakeProfitPips=30;
extern int MagicNumber = 55558;
extern int breakEven = 20 ; 
extern int TrailingStop = 30;

extern int matimeframe = 240;
extern int maperiod = 8;
extern int mashift  = 0;
extern int mamethod = 0;
extern int maappliedprice=0;

extern int sartimeframe=240;
extern double sarstep=0.02;
extern double sarmaximum=0.2;
extern int sarshift=0;
double buySL,buyTP,selSl,selTP;


double ma1,ma2,sma1,sma2,sar1,sar2;
void Indicators(){
ma1 = iMA(NULL,matimeframe,maperiod,mashift,mamethod,maappliedprice,1);
ma2 = iMA(NULL,matimeframe,maperiod,mashift,mamethod,maappliedprice,2);



sar1 = iSAR (NULL,sartimeframe,sarstep,sarmaximum,1);
sar2 = iSAR (NULL,sartimeframe,sarstep,sarmaximum,2);
}






//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
double t;
int init()
  {
//----
double tik=MarketInfo(Symbol(),MODE_TICKSIZE);
   if(tik==0.00001 || tik==0.001)
      t=tik*10;
   else t=tik;
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
Indicators();

if(count(1)==0&&count(2)==0){
   if(sar1 < ma1 &&  sar2 > ma2) {
     if (StopLossPips ==0)buySL =0 ;
   else buySL =Ask - (StopLossPips*t);
   if(TakeProfitPips==0)buyTP=0;
   else buyTP = Ask +(TakeProfitPips*t);
   bool x = OrderSend
   (Symbol(),OP_BUY,LotSize,Ask,5,buySL,buyTP,NULL,MagicNumber,0,Green);
 }
  }
if(count(2)==0&&count(1)==0){
   if(sar1 > ma1 &&  sar2 < ma2){  
      if(StopLossPips ==0)selSl=0;
   else  selSl= Bid+(StopLossPips*t);
   if(TakeProfitPips==0)selTP=0;
   else selTP=Bid -(TakeProfitPips*t); 
 bool xx = OrderSend
    (Symbol(),OP_SELL,LotSize,Bid,5,selSl,selTP,NULL,MagicNumber,0,Red);
    }
   
    }
    if (sar1 > ma1 &&  sar2 < ma2) 
    bool g = OrderClose(OrderTicket() ,LotSize ,Bid,5,Red);
    if (sar1 < ma1 &&  sar2 > ma2)
    bool gg= OrderClose(OrderTicket() ,LotSize ,Ask,5,Red);
    
     if (breakEven > 0)breakeven();
     if (TrailingStop > 0) Trailingstop ();
     
   
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

void breakeven ()

 {
 
 for (int i= OrdersTotal ()-1; i >=0;i--)
 {
 if (OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_BUY)
 if (Bid - OrderOpenPrice ()> breakEven*t )
 if (OrderOpenPrice() > OrderStopLoss ())
 bool xx= OrderModify (OrderTicket(),OrderOpenPrice (),OrderOpenPrice (),OrderTakeProfit(),0,Pink);
}
 
 for (int ii= OrdersTotal()-1; ii >=0;ii--)
 {
 if (OrderSelect (ii,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_SELL)
 if (OrderOpenPrice() - Ask > breakEven*t )
 if (OrderOpenPrice() < OrderStopLoss ())
 bool x= OrderModify (OrderTicket(),OrderOpenPrice (),OrderOpenPrice (),OrderTakeProfit(),0,Pink);



 }
}
void Trailingstop ()

 {
 
 for (int i= OrdersTotal ()-1; i >=0;i--)
 {
 if (OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_BUY)
 if (Bid - OrderOpenPrice ()> TrailingStop*t )
 if (OrderStopLoss()< Bid- TrailingStop*t )
 bool xx= OrderModify (OrderTicket(),OrderOpenPrice (), Bid - (TrailingStop*t),OrderTakeProfit(),0,CLR_NONE);
}



for (int ii= OrdersTotal ()-1; ii >=0;i--)
 {
 if (OrderSelect (ii,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_SELL)
 if (OrderOpenPrice()-Ask> TrailingStop*t )
 if (OrderStopLoss()> Ask+ TrailingStop*t )
 bool x =OrderModify (OrderTicket(),OrderOpenPrice (), Ask + (TrailingStop*t),OrderTakeProfit(),0,CLR_NONE);

}
}

int count(int t){
int T=0;
for (int i = 0; i < OrdersTotal(); i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) {

    if(OrderType() == OP_BUY&&t==1)T++;
    if(OrderType() == OP_SELL&&t==2)T++;
         
         
      }
   }
   } 
 return(T);
}



التوقيع

نقره لعرض الصورة في صفحة مستقلة

أزل عن نفسك ضغط السوق مع استراحة طربية


استراحة طربية

عرض البوم صور Rushdi  
رد مع اقتباس


  #1  
قديم 20-09-2017, 03:33 AM
Rushdi Rushdi غير متواجد حالياً
عضو متميز
4 سؤال عاجل للاساتذة المبرمجين

صباح الخير

انا احاول تعلم البرمجة لكن اواجه بعض المشاكل بسبب عدم وجود اساس برمجة لدي لكن اتمنى تجاوز المشاكل عبر مساعدة الاساتذة في المنتدى وخاصة الاستاذ اسلام .
حاولت برمجة اكسبرت افتراضي يفتح ويغلق الصفقات عبر تقاطع الموفينك و الباربوليك سار وكان كل شيء على ما يرام ويفتح ويغلق بدون مشاكل الى ان حاولت اضافة خاصية التريلنج ستوب حيث بعد اضافته ورغم عدم اعطائه لاي اخطاء في الكود يتوقف البرنامج بالكامل اول ما احاول تشغيله في التستر كما يحصل في نهاية فيديو الاستاذ اسلام ذو الاسم (درس رقم 10 من سلسلة دورة البرمجة الاحترافية على منتديات اف اكس ارابيا http://www.fx-arabia.com ) .

ارجوا من الاخوة المبرمجين المساعدة لحل هذا المشكلة.




الكود
نقره لعرض الصورة في صفحة مستقلة



كود:
//+------------------------------------------------------------------+
//|                                                 Byu_Sell_Day.mq4 |
//|                              Copyright © 2007, www.****forex.net |
//|                                         http://www.****forex.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, www.****forex.net"
#property link      "http://www.****forex.net"




extern double LotSize=0.01;
extern double StopLossPips=30;
extern double TakeProfitPips=30;
extern int MagicNumber = 55558;
extern int breakEven = 20 ; 
extern int TrailingStop = 30;

extern int matimeframe = 240;
extern int maperiod = 8;
extern int mashift  = 0;
extern int mamethod = 0;
extern int maappliedprice=0;

extern int sartimeframe=240;
extern double sarstep=0.02;
extern double sarmaximum=0.2;
extern int sarshift=0;
double buySL,buyTP,selSl,selTP;


double ma1,ma2,sma1,sma2,sar1,sar2;
void Indicators(){
ma1 = iMA(NULL,matimeframe,maperiod,mashift,mamethod,maappliedprice,1);
ma2 = iMA(NULL,matimeframe,maperiod,mashift,mamethod,maappliedprice,2);



sar1 = iSAR (NULL,sartimeframe,sarstep,sarmaximum,1);
sar2 = iSAR (NULL,sartimeframe,sarstep,sarmaximum,2);
}






//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
double t;
int init()
  {
//----
double tik=MarketInfo(Symbol(),MODE_TICKSIZE);
   if(tik==0.00001 || tik==0.001)
      t=tik*10;
   else t=tik;
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
Indicators();

if(count(1)==0&&count(2)==0){
   if(sar1 < ma1 &&  sar2 > ma2) {
     if (StopLossPips ==0)buySL =0 ;
   else buySL =Ask - (StopLossPips*t);
   if(TakeProfitPips==0)buyTP=0;
   else buyTP = Ask +(TakeProfitPips*t);
   bool x = OrderSend
   (Symbol(),OP_BUY,LotSize,Ask,5,buySL,buyTP,NULL,MagicNumber,0,Green);
 }
  }
if(count(2)==0&&count(1)==0){
   if(sar1 > ma1 &&  sar2 < ma2){  
      if(StopLossPips ==0)selSl=0;
   else  selSl= Bid+(StopLossPips*t);
   if(TakeProfitPips==0)selTP=0;
   else selTP=Bid -(TakeProfitPips*t); 
 bool xx = OrderSend
    (Symbol(),OP_SELL,LotSize,Bid,5,selSl,selTP,NULL,MagicNumber,0,Red);
    }
   
    }
    if (sar1 > ma1 &&  sar2 < ma2) 
    bool g = OrderClose(OrderTicket() ,LotSize ,Bid,5,Red);
    if (sar1 < ma1 &&  sar2 > ma2)
    bool gg= OrderClose(OrderTicket() ,LotSize ,Ask,5,Red);
    
     if (breakEven > 0)breakeven();
     if (TrailingStop > 0) Trailingstop ();
     
   
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

void breakeven ()

 {
 
 for (int i= OrdersTotal ()-1; i >=0;i--)
 {
 if (OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_BUY)
 if (Bid - OrderOpenPrice ()> breakEven*t )
 if (OrderOpenPrice() > OrderStopLoss ())
 bool xx= OrderModify (OrderTicket(),OrderOpenPrice (),OrderOpenPrice (),OrderTakeProfit(),0,Pink);
}
 
 for (int ii= OrdersTotal()-1; ii >=0;ii--)
 {
 if (OrderSelect (ii,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_SELL)
 if (OrderOpenPrice() - Ask > breakEven*t )
 if (OrderOpenPrice() < OrderStopLoss ())
 bool x= OrderModify (OrderTicket(),OrderOpenPrice (),OrderOpenPrice (),OrderTakeProfit(),0,Pink);



 }
}
void Trailingstop ()

 {
 
 for (int i= OrdersTotal ()-1; i >=0;i--)
 {
 if (OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_BUY)
 if (Bid - OrderOpenPrice ()> TrailingStop*t )
 if (OrderStopLoss()< Bid- TrailingStop*t )
 bool xx= OrderModify (OrderTicket(),OrderOpenPrice (), Bid - (TrailingStop*t),OrderTakeProfit(),0,CLR_NONE);
}



for (int ii= OrdersTotal ()-1; ii >=0;i--)
 {
 if (OrderSelect (ii,SELECT_BY_POS,MODE_TRADES))
 if (OrderSymbol() == Symbol ())
 if (OrderMagicNumber() == MagicNumber )
 if (OrderType() == OP_SELL)
 if (OrderOpenPrice()-Ask> TrailingStop*t )
 if (OrderStopLoss()> Ask+ TrailingStop*t )
 bool x =OrderModify (OrderTicket(),OrderOpenPrice (), Ask + (TrailingStop*t),OrderTakeProfit(),0,CLR_NONE);

}
}

int count(int t){
int T=0;
for (int i = 0; i < OrdersTotal(); i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) {

    if(OrderType() == OP_BUY&&t==1)T++;
    if(OrderType() == OP_SELL&&t==2)T++;
         
         
      }
   }
   } 
 return(T);
}




رد مع اقتباس

إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
للاساتذة, المبرمجين, ضمان, عادل

أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 02:44 AM



جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com

تحذير المخاطرة

التجارة بالعملات الأجنبية تتضمن علي قدر كبير من المخاطر ومن الممكن ألا تكون مناسبة لجميع المضاربين, إستعمال الرافعة المالية في التجاره يزيد من إحتمالات الخطورة و التعرض للخساره, عليك التأكد من قدرتك العلمية و الشخصية على التداول.

تنبيه هام

موقع اف اكس ارابيا هو موقع تعليمي خالص يهدف الي توعية المستثمر العربي مبادئ الاستثمار و التداول الناجح ولا يتحصل علي اي اموال مقابل ذلك ولا يقوم بادارة محافظ مالية وان ادارة الموقع غير مسؤولة عن اي استغلال من قبل اي شخص لاسمها وتحذر من ذلك.

اتصل بنا

البريد الإلكتروني للدعم الفنى : support@fx-arabia.com
جميع الحقوق محفوظة اف اكس ارابيا – احدى مواقع Inwestopedia Sp. Z O.O. للاستشارات و التدريب – جمهورية بولندا الإتحادية.
Powered by vBulletin® Copyright ©2000 - 2024 , Designed by Fx-Arabia Team