النتائج 1,426 إلى 1,440 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 13-12-2011, 08:58 PM #1426
لأن القسم ليس مخصص فقط للطلبات البرمجيه بل هو تعليمي في الأساس
بالإضافه كثير من الأعضاء يتجاهل هذا الموضوع
https://forum.arabictrader.com/t95019.html
بالإضافه طبعا إلى الإنشغال بتنظيم الخطط الخاصه بالقسم للعام الجديد 2012 بإذن اللهآخر تعديل بواسطة MR.dollar ، 13-12-2011 الساعة 09:01 PM
- 13-12-2011, 09:03 PM #1427
الخطأ الآن هو أن الإكسبرت يريد أن يفتح صفقة مثلا على اليورو دولار وفي نفس الوقت يفتح صفقة على عمله أخرى بالتالي يتم فتح الصفقه على أحد العملات
ثم يعطي خيار أن السيرفر مشغول على العمله الأخرى
بالتالي يجب أن تضع شرط
كود PHP:if(IsTradeContextBusy()==false)
وهو يعني إذا لم يكن السيرفر مشغول فسوف يتم تنفيذ الأمر
- 13-12-2011, 09:06 PM #1428
يجب أن تتأكد أولا إذا لم يكن يظهر خطأ في خانة Journal و Experts بالتالي العيب ليس من الإكسبرت وتكون قلصت حجم البحث عن المشكله
ثم تتأكد من أن قوانين الشركه لا تمنع فتح الصفقه لكن لا يوجد ما يسمى أن الشركة أبطلت عمل المضاعفات فالشركه لا أتعلم أنه مضاعفات لكن الشركه يأتي لها الأمر فتح صفقة بحجم لوت كذا
فيتم تنفيذ الأمر أو عدم تنفيذه إذا لم ينفذ فيجب أن يظهر لديك رقم الخطأ
- 16-12-2011, 06:21 PM #1429كود:
/+------------------------------------------------------------------+ //| SnakeForce SnakeInBorders.mq4 | //| "" | //| | //+------------------------------------------------------------------+ #property copyright "" #property link "" //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Red #property indicator_color3 Lime #property indicator_color4 Red //---- extern int cPeriod=24; //---- double ForceUp[]; double ForceDown[]; double ResistanceUp[]; double ResistanceDown[]; double Mart[]; //---- double Snake_Sum, Snake_Weight, Snake_Sum_Minus, Snake_Sum_Plus; //---- int init() { int draw_begin; double indperiod,val1,val2; string CommentStr; draw_begin=3*cPeriod; IndicatorBuffers(5); SetIndexBuffer(0,ForceUp); SetIndexBuffer(1,ForceDown); SetIndexBuffer(2,ResistanceUp); SetIndexBuffer(3,ResistanceDown); SetIndexBuffer(4,Mart); SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,2); SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,2); SetIndexStyle(2,DRAW_HISTOGRAM); SetIndexStyle(3,DRAW_HISTOGRAM); SetIndexStyle(4,DRAW_NONE); SetIndexLabel(2,NULL); SetIndexLabel(3,NULL); SetIndexLabel(4,NULL); SetIndexDrawBegin(0,draw_begin); SetIndexDrawBegin(1,draw_begin); SetIndexDrawBegin(2,draw_begin); SetIndexDrawBegin(3,draw_begin); SetIndexDrawBegin(4,draw_begin); indperiod=1.0*cPeriod*Period(); if(indperiod<60) { CommentStr=DoubleToStr(indperiod,0); CommentStr=" M"+CommentStr+", FORCE UP -DOWN "; } else { indperiod=indperiod/60; if(indperiod>=24) { val1=MathAbs(MathRound(indperiod/24)-indperiod/24); if(val1<0.01) { CommentStr=DoubleToStr(indperiod/24,0); CommentStr=" D"+CommentStr+", FORCE UP -DOWN "; } else { CommentStr=DoubleToStr(indperiod/24,1); CommentStr=" D"+CommentStr+", FORCE UP -DOWN "; } } else { val1=MathAbs(MathRound(indperiod)-indperiod); if(val1<0.01) { CommentStr=DoubleToStr(indperiod,0); CommentStr=" H"+CommentStr+", FORCE UP -DOWN "; } else { CommentStr=DoubleToStr(indperiod,1); CommentStr=" H"+CommentStr+", FORCE UP -DOWN "; } } } IndicatorShortName("SnakeInBorders"+CommentStr); return(0); } //---- void deinit() { } //---- int start() { int FirstPos, ExtCountedBars=0,i; if(Bars<=50) return(0); if(cPeriod<21) return(0); ExtCountedBars=IndicatorCounted(); if (ExtCountedBars<0) return(-1); if (ExtCountedBars>0) ExtCountedBars--; FirstPos=Bars-ExtCountedBars-1; if(FirstPos>Bars-cPeriod-7) { FirstPos=Bars-cPeriod-7; Mart[FirstPos+cPeriod]=SnakeFirstCalc(FirstPos+cPeriod); for(i=FirstPos+cPeriod-1;i>FirstPos;i--) SnakeNextCalc(i); } Snake(FirstPos); return(0); } //---- void Snake(int Pos) { int i; if(Pos<6) Pos=6; Mart[Pos]=SnakeFirstCalc(Pos); Drawing(Pos); Pos--; while(Pos>=5) { Mart[Pos]=SnakeNextCalc(Pos); Drawing(Pos); Pos--; } while(Pos>0) { Mart[Pos]=SnakeFirstCalc(Pos); Drawing(Pos); Pos--; } if(Pos==0) { // Mart[Pos]=iMA(NULL,0,6,0,MODE_LWMA,PRICE_TYPICAL,0); Mart[Pos]=iMA(NULL,0,6,0,MODE_LWMA,PRICE_CLOSE,0); Drawing(Pos); } return; } //---- double SnakePrice(int Shift) { // return((2*Close[Shift]+High[Shift]+Low[Shift])/4); return(Close[Shift]); } //---- double SnakeFirstCalc(int Shift) { int i, j, w; Snake_Sum=0.0; if(Shift<5) { Snake_Weight=0.0; i=0; w=Shift+5; while(w>=Shift) { i++; Snake_Sum=Snake_Sum+i*SnakePrice(w); Snake_Weight=Snake_Weight+i; w--; } while(w>=0) { i--; Snake_Sum=Snake_Sum+i*SnakePrice(w); Snake_Weight=Snake_Weight+i; w--; } } else { Snake_Sum_Minus=0.0; Snake_Sum_Plus=0.0; for(j=Shift-5,i=Shift+5,w=1; w<=5; j++,i--,w++) { Snake_Sum=Snake_Sum+w*(SnakePrice(i)+SnakePrice(j)); Snake_Sum_Minus=Snake_Sum_Minus+SnakePrice(i); Snake_Sum_Plus=Snake_Sum_Plus+SnakePrice(j); } Snake_Sum=Snake_Sum+6*SnakePrice(Shift); Snake_Sum_Minus=Snake_Sum_Minus+SnakePrice(Shift); Snake_Weight=36; } return(Snake_Sum/Snake_Weight); } //---- double SnakeNextCalc(int Shift) { Snake_Sum_Plus=Snake_Sum_Plus+SnakePrice(Shift-5); Snake_Sum=Snake_Sum-Snake_Sum_Minus+Snake_Sum_Plus; Snake_Sum_Minus=Snake_Sum_Minus-SnakePrice(Shift+6)+SnakePrice(Shift); Snake_Sum_Plus=Snake_Sum_Plus-SnakePrice(Shift); return(Snake_Sum/Snake_Weight); } //---- void Drawing(int Shift) { double val,Dval,val1,val2,val11,val22,val3; val= 5*(Mart[Shift]-Mart[ArrayMinimum(Mart,cPeriod,Shift)])/9; Dval=5*(Mart[Shift]- Mart[Shift+1]+ Mart[ArrayMinimum(Mart,cPeriod,Shift+1)]- Mart[ArrayMinimum(Mart,cPeriod,Shift)] )/9; if(Dval>0) { ForceUp[Shift]=val; ResistanceUp[Shift]=0; } else { ForceUp[Shift]=0; ResistanceUp[Shift]=val; } val= 5*(Mart[Shift]-Mart[ArrayMaximum(Mart,cPeriod,Shift)])/9; Dval=5*(Mart[Shift]- Mart[Shift+1]+ Mart[ArrayMaximum(Mart,cPeriod,Shift+1)]- Mart[ArrayMaximum(Mart,cPeriod,Shift)] )/9; if(Dval<0) { ForceDown[Shift]=val; ResistanceDown[Shift]=0; } else { ForceDown[Shift]=0; ResistanceDown[Shift]=val; } return; }
- 16-12-2011, 09:37 PM #1430
السلام عليكم ورحمة الله
أنا أحاول تعلم MQL4 بدأت بكورس الأخ وضاح عطار و مؤشر Candle Length إتبعت الخطوات كما كانت موضحة لاكن لم أفهم لماذا لا يشتغل المؤشر أرجو التوضيح وشكرا
كود PHP://+------------------------------------------------------------------+
//| Candle Length.mq4 |
//| Copyright 2011 Cher Amine |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011 Cher Amine"
#property link "[email protected]"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_minimum 0
#property indicator_level1 0.0020
#property indicator_level2 0.0040
double BufLength1[];
double BufLength2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0,BufLength1);
SetIndexBuffer(1,BufLength2);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
for(int i=0;i<Bars;i++)
}
BufLength1[i]=High[i]-Low[i];
BufLength2[i]=MathAbs(Close[i]-Open[i]);
{
return(0);
}
//+------------------------------------------------------------------+
- 17-12-2011, 07:06 PM #1431
وعليكم السلام ورحمة الله وبركاته
الخطأ عندك في هذا الجزء
كود PHP:for(int i=0;i<Bars;i++)
}
BufLength1[i]=High[i]-Low[i];
BufLength2[i]=MathAbs(Close[i]-Open[i]);
{
يجب أن تكون بهذا الشكل
كود PHP:for(int i=0;i<Bars;i++)
{
BufLength1[i]=High[i]-Low[i];
BufLength2[i]=MathAbs(Close[i]-Open[i]);
}
- 17-12-2011, 07:32 PM #1432
ممكن من الاساتده المبرمجين
كود استدعاء المؤشرين المرفقين
وجاكم الله كل الخير
- 17-12-2011, 10:07 PM #1433
بارك الله فيك أستاذي المؤشر شغال 100%
أكملت الكورس وصلت لمؤشر الإنفجار السعري في هذه المرحة بالضبط
كود PHP:int limit, i, counted_bars = IndicatorCounted();
// إذا لم يكن هناك شمعات جديدة اخرج دون حساب
if(counted_bars < 0)
return(-1);
// إذا كان هناك شمعات جديدة احسب مقدار الشموع الجديدة فقط
if(counted_bars > 0)
counted_bars--;
limit = Bars - counted_bars;
// الحلقة تكون من عدد الشموع الجديدة المكونة وحتى الشمعة الحالية رقم صفر
for(i = limit - 1; i >= 0; i--)
كود PHP:int limit, i, counted_bars = IndicatorCounted();
// إذا لم يكن هناك شمعات جديدة اخرج دون حساب
if(counted_bars < 0)
return(-1);
// إذا كان هناك شمعات جديدة احسب مقدار الشموع الجديدة فقط
if(counted_bars > 0)
counted_bars--;
كود PHP:limit = Bars - counted_bars;
// الحلقة تكون من عدد الشموع الجديدة المكونة وحتى الشمعة الحالية رقم صفر
for(i = limit - 1; i >= 0; i--)
- 18-12-2011, 11:16 AM #1434
- 18-12-2011, 11:02 PM #1435
بالنسبه للمؤشر الأول فلا يمكنك إستخدام الداله iCustom لإستدعاء هذا المؤشر لذلك ستحتاج إلى إضافة الكود مباشرة بداخل الإكسبرت وسيكون كالآتي
كود PHP:double yesterday_high=iHigh(NULL, PERIOD_H1,Highest(NULL, PERIOD_H1, MODE_HIGH, BarsBack, 0));
double yesterday_low=iLow(NULL, PERIOD_H1,Lowest(NULL, PERIOD_H1, MODE_LOW, BarsBack, 0));
BarsBack سيكون متغير خارجي تقوم بتعريفه كما هو معرف في المؤشر
كود PHP:extern int BarsBack=8;
كود PHP:double UpperLine=iCustom(Symbol(),0,"NB-channel",2,0);
double LowerLine=iCustom(Symbol(),0,"NB-channel",1,0);
- 18-12-2011, 11:16 PM #1436
بالنسبة للجزء الأول فالفكره أننا لا نريد في كل مره يتحرك فيها السعر أن يقوم المؤشر بحساب قيم جميع الشمعات مره أخرى لذلك نحتاج إلى كود بحيث يقوم المؤشر بمعرفة عدد الشمعات التي تم حسابها سابقا ونطرح منه عدد الشموع الكلي الموجود على الشارت فينتج لنا عدد الشمعات التي لم يتم حسابها بعد فيتم حسابها
وفائدة هذا الكود هو زيادة سرعة المؤشر
شرح الكود كالآتي
أولا قام بتعريف المتغيرات limit و i و counted_bars
جعل قيمة counted_bars=indicatorCounted()
والداله indicator_counted تقوم بمعرفة عدد الشموع التي تم قرائتها في آخر مره
والآن لنفرض مثلا أن عدد الشموع على الشارت 20 شمعه وعدد الشموع التي تم قرائتها حتى الآن هو 19 شمعه أي أن هناك شمعه جديده إفتتحت
فتصبح قيمة
limit=Bars - counted_bars
أي limit = 20 - 19 أي limit=1 وهي عدد الشموع التي لم يتم حساب قيمها بعد
ثم يبدأ في إستخدام الحلقات وأنصحك بمراجعة هذا الموضوع لشرح الحلقات
https://forum.arabictrader.com/t93679.html#post1698141
ومعناه كالآتي
أولا يعطي قيمة المتغير i قيمة مبدئية وهي المتغير limit والذي قمنا بمعرفة قيمته سابقا
ثم يبدأ بالمقارنه هل قيمة i أكبر من أو تساوي 0 إذا كان ترو يطرح واحد من قيمة i ثم ينفذ العملية التي بداخل الحلقه for
- 18-12-2011, 11:19 PM #1437
الاخ الحبيب مستر دولار اسعد الله اوقاتك بكل خير
هل بالامكان استرجاع قيمة ادوات الميتاتريدر الموجودة في القائمة insert
مثل gann line / gann fan / andrews pichfork
او القنوات مثل linear regression / standard deviatioin
انا حاولت استخدام ObjectGetValueByShift للحصول على قيمة الحد العلوي او الحد السفلي للقناة linear regression ولكنها لا ترجع بشيء
- 19-12-2011, 11:48 AM #1438
- 19-12-2011, 11:58 AM #1439
- 19-12-2011, 03:38 PM #1440
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM