النتائج 3,031 إلى 3,045 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 16-11-2012, 03:32 AM #3031
- 17-11-2012, 12:52 AM #3032الاخ اسامه الاخوه الافاضل
سلام عليكم
مثلا: لو ابغئ اضيف شرط
لو ابغئ تقول للاكسبيرت لاتشتري اذا كان هناك امر شرا منفذ لك علئ عدد معين من النقاط ولاتبيع اذا كان هناك امر بيع منفذ لك علئ عدد معين من النقاط وجزاكم الله خيرا
- 17-11-2012, 09:46 PM #3033
وعليكم السلام ورحمة الله وبركاته
كمثال
يمكنك عمل داله بحيث تأخذ سعر الدخول الحالي وتقارنه مع سعر جميع الصفقات المفتوحه وإذا كان السعر الحالي قريب بعدد النقاط المحدده لا تفتح صفقه جديده
مثال
كود PHP:bool isInRange(int type,double price){
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double openprice=OrderOpenPrice();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
if(MathAbs(price-openprice)<RangePoints*Point)
return(true);
}
}
return(false);
}
كود PHP:if(isInRange(OP_BUY,Ask)==false)
{
//open Order
}
- 18-11-2012, 01:51 PM #3034
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم مشكلة في الكواد عدم تكرر الصفقات عند تحقق شرط الدخول علي العموم اخدات هد الكود من هد الموضع موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
وتوجد اخطاء في الكودكود PHP:#property copyright "ayoob algde"
#property link "http://www.metaquotes.net"
extern int StopLoss=50;
extern int TakeProfit=50;
extern double Lot=0.1;
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int OrdersTotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
Comment("AUOOB");
if(iMACD("EURUSD",PERIOD_M5,12,26,9,0,1,1)>0 &&OrdersTotal()==0)
{
double SL,TP;
if(StopLoss>0){SL=Ask-StopLoss*Point;}else{SL=0;}
if(TakeProfit>0){TP=Ask+TakeProfit*Point;}else{TP=0;}
OrderSend(Symbol(),OP_BUY,0.1,Ask,30,SL,TP,"",15000,0,Green);
}
if(iMACD("EURUSD",PERIOD_M5,12,26,9,0,1,1)<0&& OrdersTotal()==0)
if(StopLoss>0){SL=Bid+StopLoss*Point;}else{SL=0;}
if(TakeProfit>0){TP=Bid-TakeProfit*Point;}else{TP=0;}
OrderSend(Symbol(),OP_SELL,0.1,Bid,30,SL,TP,"",15000,0,Red);
}
//+------------------------------------------------------------------+
- 18-11-2012, 03:19 PM #3035
اخي ايوب عندما تضع شرط للماكد بأغلاق شمعة تحت الصفر if(iMACD("EURUSD",PERIOD_M5,12,26,9,0,1,1)>0 && OrdersTotal()==0)
يستمر في البيع طالما تحت الصفر ، لكن اذا اضفت الشرط ان الشمعة التي قبلها تكون فوق الصفر فلا يكرر وهذا مثال
if(iMACD("EURUSD",PERIOD_M5,12,26,9,0,1,1)>0 && ("EURUSD",PERIOD_M5,12,26,9,0,1,2) < 0 && OrdersTotal()==0)
- 18-11-2012, 07:27 PM #3036
- 18-11-2012, 07:52 PM #3037
بقي شي واحد الله يبارك اخي اسامه
انا عندي الاكسبيرت علئ سرفر امريكي وفيه خاصية التريلينج ستوب بس اللي ملاحظه ان الترلينج استوب في احيان كثيره يتاخر عن مجارة السعر مما يسبب ان السعر يرجع على
الارباح ومدة التاخير اخي اسامه كما تعلم ياالثواني فهل استخدم له كلمة ريفريش واين
اضعها في كود التريلينج استوب ام ان هناك اده اخرى ولسلام عليكم ورحمة الله وبركاته
- 19-11-2012, 12:44 AM #3038
- 19-11-2012, 07:58 AM #3039
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم اخي جميل فعلت نفس الشي ولكن ونفس المشكلة يفتح الصفقات كل ما تحقق الشرط
كود PHP:#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int StopLoss=100;
extern int TakeProfit=100;
extern double Lot=0.1;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
{
Comment("AUOOB");
if(iMACD("EURUSD",PERIOD_M5,12,26,9,0,1,1)<0 &&iMACD("EUDUSD",PERIOD_M5,12,26,9,0,1,2)>0 &&OrdersTotal()==0)
{
double SL,TP;
if(StopLoss>0){SL=Ask-StopLoss*Point;}else{SL=0;}
if(TakeProfit>0){TP=Ask+TakeProfit*Point;}else{TP=0;}
OrderSend(Symbol(),OP_BUY,0.1,Ask,30,SL,TP,"",15000,0,Green);
}
if(iMACD("EURUSD",PERIOD_M5,12,26,9,0,1,1)>0&& iMACD("EURUSD",PERIOD_M5,12,26,9,0,1,2)<0&&OrdersTotal()==0)
if(StopLoss>0){SL=Bid+StopLoss*Point;}else{SL=0;}
if(TakeProfit>0){TP=Bid-TakeProfit*Point;}else{TP=0;}
OrderSend(Symbol(),OP_SELL,0.1,Bid,30,SL,TP,"",15000,0,Red);
}
return(0);
}
//+------------------------------------------------------------------+
- 19-11-2012, 08:24 AM #3040
- 19-11-2012, 12:57 PM #3041
تمام انا ماراجعت النص الكامل فقط عدلت لك شرط الدخول على التقاطع وهذه قاعدة لمعظم المؤشرات فا حفظها ، الآن راجعت النص للأكسبيرت والشرط لصفقة واحدة يتم بأضافة متغير تحدد فيه ماتريد ثم تضعه كشرط اضافي ، تفضل الأكسبيرت بعد تصحيحه لكن طبعا ينقصه الكثير ويوجد اكسبيرت للماكد على جميع منصات الميتاتريدر اقراء الكود سيفيدك كثير .
تفضل الأكسبيرت بعد تصحيحه
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int StopLoss=100;
extern int TakeProfit=100;
extern double Lot=0.1;
datetime BarTime2 = 0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
{
Comment("AUOOB");
if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1)<0 &&iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,2) >0)// &&OrdersTotal()==0)
{
if (BarTime2 < Time[0])
{
// we have a new bar opened
BarTime2 = Time[0]; // keep the new bar open time
double SL,TP;
if(StopLoss>0){SL=Ask-StopLoss*Point;}else{SL=0;}
if(TakeProfit>0){TP=Ask+TakeProfit*Point;}else{TP= 0;}
OrderSend(Symbol(),OP_BUY,0.1,Ask,30,SL,TP,"",1500 0,0,Green);
}
}
if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1)>0 && iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,2)<0) //&&OrdersTotal()==0)
if (BarTime2 < Time[0])
{
// we have a new bar opened
BarTime2 = Time[0]; // keep the new bar open time
if(StopLoss>0){SL=Bid+StopLoss*Point;}else{SL=0;}
if(TakeProfit>0){TP=Bid-TakeProfit*Point;}else{TP=0;}
OrderSend(Symbol(),OP_SELL,0.1,Bid,30,SL,TP,"",150 00,0,Red);
}
}
return(0);
}
//+------------------------------------------------------------------+آخر تعديل بواسطة Jmeel ، 19-11-2012 الساعة 01:01 PM
- 19-11-2012, 09:36 PM #3042
وعليكم السلام ورحمة الله وبركاته
يوجد طريقتين
الطريقه الأولى هي معرفة كود المؤشر ثم رسم خطوط الترند التي تريدها مباشرة أو حتى إذا أردت إستخدام الكود في الإكسبرت تستخدمه مباشرة
كيف تحسب الحد العلوي والسفلي
1- تحسب مجموع إغلاقات الشموع التي سترسم القناة عليها
2- تحسب مجموع إغلاقات الشموع مضروب في رقم الشمعه
3- تحسب مجموع أرقام الشموع
4- مجموع حاصل ضرب رقم الشمعه في نفسها
كود PHP:for(int i=0; i<barsToCount; i++)
{
sumy+=Close[i];
sumxy+=Close[i]*i;
sumx+=i;
sumx2+=i*i;
}
كود PHP:c=sumx2*barsToCount-sumx*sumx;
b=(sumxy*barsToCount-sumx*sumy)/c;
a=(sumy-sumx*b)/barsToCount;
قيمة الخط = a+b*x
لحساب الخط العلوي والسفلي
كود PHP:for(x=0;x<barsToCount;x++)
{
if(Close[x]-LR_line[x] > h) h = Close[x]-LR_line[x];
if(LR_line[x] - Close[x]> l) l = LR_line[x] - Close[x];
}
تصبح قيمة h تساوي الإغلاق - خط الوسط ( لإستخراج عدد النقاط بين القيمتين )
نفس الكلام بالنسبه ل l
في النهاية تكون معادلة الخط العلوي
كود PHP:a+h+b*x;
كود PHP:a-h+b*x;
- 19-11-2012, 10:11 PM #3043
- 19-11-2012, 10:46 PM #3044
السلام عليكم و رحمة الله و بركاته
اريد افضل الاكسبرتات في ادارة الصفقات التي يمكنها فتح اكثر من صفقة بهدف مختلف و بستوب مختلف و يمكن عمل استوب من الباربوليك سار
لا يهم نوع الاستراتيجية في الاكسبرت الاهم ادارة الصفقات
- 20-11-2012, 03:04 AM #3045
وعليكم السلام ورحمة الله وبركاته
أولا بالنسبه لفتح أكثر من صفقة بهدف مختلف وستوب مختلف لن تختلف كثيرا عن طريقة فتح الصفقات العاديه
مثال
كود PHP:if(Ma1>Ma2){
if(StopLoss1==0){SL=0;}else{SL=Ask-StopLoss1*point;}
if(TakeProfit1==0){TP=0;}else{TP=Ask+TakeProfit1*point;}
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage*Q,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
if(StopLoss2==0){SL=0;}else{SL=Ask-StopLoss2*point;}
if(TakeProfit2==0){TP=0;}else{TP=Ask+TakeProfit2*point;}
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage*Q,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
if(StopLoss3==0){SL=0;}else{SL=Ask-StopLoss3*point;}
if(TakeProfit3==0){TP=0;}else{TP=Ask+TakeProfit3*point;}
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage*Q,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
كود PHP:extern int TakeProfit1=0;
extern int StopLoss1=0;
extern int TakeProfit2=0;
extern int StopLoss2=0;
extern int TakeProfit3=0;
extern int StopLoss3=0;
مثال
كود PHP:if(UseSarStopLoss){SL=iSAR(Symbol(),0,0.02,0.2,1);}
OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage*Q,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM