النتائج 1 إلى 7 من 7
الموضوع: الرجاء التعديل على هذا المؤشر للماكد
- 29-12-2007, 10:35 PM #1
الرجاء التعديل على هذا المؤشر للماكد
السلام عليكم ورحمة الله وبركاته
هذا مؤشر للماكد يقوم برسم دوائر خضراء وحمراء حسب تقاطع الماكد
والمطلوب اضافة شرط آخر لهذا المؤشر (متغير خارجي منطقي bool لحرية الاختيار)
بحيث يرسم الدوائر الخضراء عند تقاطع الماكد للاعلى بشرط ان يكون الماكد فوق الصفر مثلاً (متغير خارجي double)
ويرسم الدوائر الحمراء عند تقاطع الماكد للاسفل بشرط ان يكون الماكد تحت الصفر مثلاً (متغير خارجي double)
وهذا هو الكود
كود PHP://+------------------------------------------------------------------+
[center]//| EMA-Crossover_Signal.mq4 |
//| Copyright © 2005, Jason Robinson (jnrtrading) |
//| http://www.jnrtading.co.uk |
//+------------------------------------------------------------------+/*
+------------------------------------------------------------------+
| Allows you to enter two ema periods and it will then show you at |
| Which point they crossed over. It is more usful on the shorter |
| periods that get obscured by the bars / candlesticks and when |
| the zoom level is out. Also allows you then to remove the emas |
| from the chart. (emas are initially set at 5 and 6) |
+------------------------------------------------------------------+
*/
#property copyright "Copyright © 2005, Jason Robinson (jnrtrading)"
#property link "http://www.jnrtrading.co.uk"#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Reddouble CrossUp[];
double CrossDown[];
extern int fast_ema_signal = 5;
extern int slow_ema_signal = 10;
extern int signal_period = 5;//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0, DRAW_ARROW, EMPTY);
SetIndexArrow(0, 163);
SetIndexBuffer(0, CrossUp);
SetIndexStyle(1, DRAW_ARROW, EMPTY);
SetIndexArrow(1, 163);
SetIndexBuffer(1, CrossDown);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- //----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() { static datetime dt = 0;
int limit, i, counter;
double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter;
double Range, AvgRange;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--; limit=Bars-counted_bars;
static datetime cDT = 0;
for(i = 0; i <= limit; i++) {
counter=i;
Range=0;
AvgRange=0;
CrossUp[i] = 0; CrossDown[i] = 0;
for (counter=i ;counter<=i+9;counter++)
{
AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
}
Range=AvgRange/10;
fasterEMAnow = iMACD(NULL,0,fast_ema_signal,slow_ema_signal,signal_period,PRICE_CLOSE,MODE_MAIN,i);
fasterEMAprevious = iMACD(NULL,0,fast_ema_signal,slow_ema_signal,signal_period,PRICE_CLOSE,MODE_MAIN,i+1);
fasterEMAafter = iMACD(NULL,0,fast_ema_signal,slow_ema_signal,signal_period,PRICE_CLOSE,MODE_MAIN,i-1); slowerEMAnow = iMACD(NULL,0,fast_ema_signal,slow_ema_signal,signal_period,PRICE_CLOSE,MODE_SIGNAL,i);
slowerEMAprevious = iMACD(NULL,0,fast_ema_signal,slow_ema_signal,signal_period,PRICE_CLOSE,MODE_SIGNAL,i+1);
slowerEMAafter = iMACD(NULL,0,fast_ema_signal,slow_ema_signal,signal_period,PRICE_CLOSE,MODE_SIGNAL,i-1);
if ((fasterEMAnow > slowerEMAnow) && (fasterEMAprevious < slowerEMAprevious)) {
CrossUp[i] = Low[i];
if ((i < 2) && (dt != iTime(NULL,0,0)))
{
Print("** Macd Xross up");
PlaySound("Alert2.wav");
dt = iTime(NULL,0,0);
}
}
else if ((fasterEMAnow < slowerEMAnow) && (fasterEMAprevious > slowerEMAprevious)) {
CrossDown[i] = High[i];
if ((i < 2) && (dt != iTime(NULL,0,0)))
{
Print("** Macd Xross down");
PlaySound("Alert2.wav");
dt = iTime(NULL,0,0);
}
}
}
return(0);
}
[/center]
الرجاء توضيح ما تم اضافته للاستفادة
والمؤشر في المرفقات ايضاًآخر تعديل بواسطة wajdyss ، 29-12-2007 الساعة 10:41 PM
- 30-12-2007, 12:21 AM #2
رد: الرجاء التعديل على هذا المؤشر للماكد
أخي العزيز
مؤشر الماكد عندما يصعد من تحت الصفر إلى فوق الصفر فهذا يعني تقاطع للأعلى .
والعكس صحيح .
ولا يمكن أن يحدث تقاطع ( لمتوسطات من نفس إعدادات الماكد ) عندما يكون الماكد فوق الصفر أو تحته .
التقاطع يكون دائما عند نقطة الصفر من تحت الصفر لفوق الصفر أو من فوق الصفر لتحت الصفر .
ومستحيل أن يحدث تقاطع والماكد مبتعد عن الصفر سلبا أو ايجابا .
ولذلك فإن الشرط الذي تحاول إضافته مستحيل التحقق .
- 30-12-2007, 09:35 AM #3
رد: الرجاء التعديل على هذا المؤشر للماكد
أرجو أن يكون مافهمته من طلبك صحيحا
تم اضافة شرط أن تكون القيمة أعلى أو أصغر من الصفر حسب نوع التقاطع
fasterEMAnow < 0 في حالة التقاطع لأسفل
والعكس في حالة التقاطع للأعلى
أحيانا تجد أن التقاطع لأعلى قد حدث تحت خط الصفر وأعطى اشارة زرقاء
والسبب أن قيمة الماكد تكون قد تجاوزت خط الصفر في ذلك البار
كما تم تنسيق الدوائر لتظهر بصورة أوضح ولاتلتصق بعمود السعر
وتم وضع المؤشر على اعداداته الافتراضية
وأما غير ذلك فقد يصعب تنفيذه كما تفضل به مشرفنا الحبيب وضاح
تحيتي ومحبتي
- 31-12-2007, 10:55 PM #4
رد: الرجاء التعديل على هذا المؤشر للماكد
- 31-12-2007, 10:57 PM #5
- 01-01-2008, 06:10 AM #6
- 01-01-2008, 04:03 PM #7
المواضيع المتشابهه
-
الرجاء التعديل على مؤشر الفايبو
By ayman_am76 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 10آخر مشاركة: 26-05-2010, 12:59 PM -
ارجو التعديل على هذا المؤشر
By $sofien$ in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 1آخر مشاركة: 31-01-2010, 10:45 PM -
الرجاء التعديل على مؤشر
By the_king1983 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 10آخر مشاركة: 01-05-2009, 09:54 PM -
الرجاء التعديل فى هذا الاكسبرت
By ابو عبد الفتاح in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 13آخر مشاركة: 28-11-2008, 08:55 AM -
الرجاء التعديل على هذا المؤشر للاستوكاستيك
By wajdyss in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 5آخر مشاركة: 23-01-2008, 04:51 PM