النتائج 1 إلى 15 من 23
- 10-01-2008, 12:59 AM #1
مطلوب من الاخوه المساعده في كود أتعبني
السلام عليكم ورحمة الله وبركاته
أنا مبتدئ في البرمجة
وكل ما أعرفه هو التعديل على المؤشرات
واجهت صعوبة شديدة في كود ولا أعرف أين الخطأ بالضبط
الفكرة التي اود الوصول إليها هي حساب مستويات الدعم والمقاومة اعتماداً على معطيات شارت الأربع ساعات وليس اليومي
وقد أوضحت التعديلات التي اجريتها على المؤشر بالكلمتين Start Edit و End Edit
مرفق مع هذه المشاركة الملف الاصلي للمؤشر وهو لحساب مستويات البايفوت للفاصل اليومي Daily
والملف بعد التعديل لفاصل الأربع ساعات H4
أرجو من الاخوه توضيح أين الخطأ لنستفيد من خبراتكم
تحية طيبة للجميع
وفي انتظار الرد
أخوكم عادل الماجد
آخر تعديل بواسطة الماجد ، 10-01-2008 الساعة 01:06 AM
- 10-01-2008, 02:29 AM #2
رد: مطلوب من الاخوه المساعده في كود أتعبني
السلام عليكم
اخي الكود الاصلي الذي ارسلته واللي هو Pivot Daily يعمل على كل الفريمات الاصغر من اليومي ولا يعمل على اليومي اصلا وذلك بسبب هناك شرط وهوكود PHP:x=Period();
if (x>240) return(-1);
- 10-01-2008, 01:54 PM #3
رد: مطلوب من الاخوه المساعده في كود أتعبني
هلا فيك اخوي هيثم
انت لو ركزت شويه في الفكرة المطلوبه قبل الإجابة لفهمت قصدي
أنا لا اريد مستويات البايفوت الناتجة من معطيات شمعة الديلي وانما شمعة الأربع ساعات
ركز معي وافتح عيونك في المثال التالي :
المؤشر الأصلي يقوم بحساب البايفوت بالكود التالي :
كود:double P; // لاحظ هنا معطيات المعادلة مستنتجة من شمعة اليومي ( Daily ) P = (High[i+1] + Low[i+1] + Close[i+1])/3;
كود:double P; // لاحظ هنا قمنا بتحديد معطيات المعادلة من شمعة الأربع ساعات ( H4 ) P=(iHigh(NULL,PERIOD_H4,i+1) + iLow(NULL,PERIOD_H4,i+1) + iClose(NULL,PERIOD_H4,i+1))/3;
في انتظار ردك اخي هيثم..
تحية طيبه
أخوك عادل الماجد
- 10-01-2008, 02:31 PM #4
رد: مطلوب من الاخوه المساعده في كود أتعبني
اخي الفاضل هذا الكود التالي لا يحسب شمعة الدايلي ، فهو يحسب الشمعه الحالية اللي انت مشغلها على الشارت يعني لو حاطط المؤشر على فريم الساعه هيحسب على الساعه لو حاطط على الاربع ساعات هيسحب على الاربع ساعات لانه بيديلك اعلى سعر للشمعه i واقل سعر للشمعه i ، وهنا يتم تحديد الشمعه على اساس الفريم الي انت مشغله وليس اليومي.
كود PHP:P = (High[i+1] + Low[i+1] + Close[i+1])/3;
- 10-01-2008, 07:39 PM #5
رد: مطلوب من الاخوه المساعده في كود أتعبني
أخوي هيثم
شوف الله يعافيك
كل المطلوب سهل جداً بالنسبة للمحترفين البرمجيين
ولكن بالنسبة لي يعتبر صعب.. وقد قيمت نفسي بالصعوبة في مواجهة هذا النص البرمجي لأني حاولت بكل ما اعرفه عن البرمجه،،، ولكن للأسف لم استطع !!!
خلينا نشوف عمل المؤشر في استخراج البايفوت اليومي...
أولاً : يأخذ ( أعلى سعر و أدني سعر و سعر الإغلاق ) لليوم السابق
ثانياً : يجمع المعطيات التي أخذت من الخطوه الأولى
ثالثاً : يقسم المجموع على الرقم 3
وتكون المعادله بالشكل التالي :
كود:( Yesterday High + Yesterday Low + Yesterday Close ) / 3
فهل تستطيع عمل ذلك ؟؟؟
واذا كان الكود الذي أدخلته في تعديلي صحيح.. فلماذا لم تظهر الخطوط بشكل صحيح ؟؟
اتمنى منك أخي الكريم ان تضع المؤشر على الشارت لتواجه معي المشكله !!
تحيتي وتقديري لك
وفي انتظار ردك
أخوك الماجد
- 10-01-2008, 07:49 PM #6
رد: مطلوب من الاخوه المساعده في كود أتعبني
اخي البايفوت هو واحد سواء على اليومي او الاربع ساعات او الساعه ، لانه كما تفضلت وذكرت المعادلة خاصة باليوم السابق .
ولكن اذا كنت تريد ان يكون البايفوت متحرك كل اربع ساعات فهذا امر اخر ، بمعنى ان يكون البايفوت مرسوم على اساس اخر شمعتين او ثلاث شمعات اربع ساعات وياخذ اعلى قيمة واقل قيمة واغلاق الشمعه الاخير .
اذا اردت ذلك اعلمني بارك الله فيك وبالتفصيل .
ولكن الكود الان يحسب البايفوت على اي فريم ما عدا اليومي لان المعادلة واحده كما ذكرت
- 10-01-2008, 10:08 PM #7
رد: مطلوب من الاخوه المساعده في كود أتعبني
اخي هيثم
الله يعطيك الف عافيه
أخيراً فهمتني
المطلوب ان يحسب البايفوت لشمعة الأربع ساعات السابقة فقط
يعني كل اربع ساعات راح يكون عندنا بايفوت جديد
في انتظار ردك بارك الله فيك
- 11-01-2008, 08:59 PM #8
رد: مطلوب من الاخوه المساعده في كود أتعبني
لو سمحتوا لي بمداخله
لو كنت انا موجودة على شارت ساعة
كيف اخليه يحسب الهاي و اللو بتاع أمس و أول أمس و اللي قبله
يعني ثلاث ايام سابقة .
( مع ملاحظة انني مع فريم الساعة )
متشكره مقدما
- 11-01-2008, 10:59 PM #9
رد: مطلوب من الاخوه المساعده في كود أتعبني
تفضل أخي هذا الكود لإظهار البايفوت لأربع ساعات كل أربع ساعات
كود PHP://+------------------------------------------------------------------+
//| Waddah Attar 4H Pivot |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, Waddah Attar"
#property link "[email protected]"
//----
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
//---- buffers
double P1Buffer[];
//----
int myPeriod = PERIOD_H4;
//----
double PP;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0, P1Buffer);
//----
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
//----
Comment("By eng.Waddah Attar");
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("H4P");
Comment("");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i, dayi, 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--;
int limit = Bars - counted_bars;
//----
for(i = limit - 1; i >= 0; i--)
{
dayi = iBarShift(Symbol(), myPeriod, Time[i], false);
PP = (iHigh(Symbol(), myPeriod, dayi + 1) +
iLow(Symbol(), myPeriod, dayi + 1) +
iClose(Symbol(), myPeriod, dayi + 1)) / 3;
//----
P1Buffer[i] = PP;
SetPrice("H4P", Time[i], PP, Blue);
SetText("txtH4P", "H4P", Time[i], PP, Blue);
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void SetPrice(string name, datetime Tm, double Prc, color clr)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_ARROW, 0, Tm, Prc);
ObjectSet(name, OBJPROP_COLOR, clr);
ObjectSet(name, OBJPROP_WIDTH, 1);
ObjectSet(name, OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE);
}
else
{
ObjectSet(name, OBJPROP_TIME1, Tm);
ObjectSet(name, OBJPROP_PRICE1, Prc);
ObjectSet(name, OBJPROP_COLOR, clr);
ObjectSet(name, OBJPROP_WIDTH, 1);
ObjectSet(name, OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void SetText(string name, string txt, datetime Tm, double Prc, color clr)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_TEXT, 0, Tm, Prc);
ObjectSetText(name, txt, 10, "Times New Roman", clr);
ObjectSet(name, OBJPROP_CORNER, 2);
}
else
{
ObjectSet(name, OBJPROP_TIME1, Tm);
ObjectSet(name, OBJPROP_PRICE1, Prc);
ObjectSetText(name, txt, 10, "Times New Roman", clr);
ObjectSet(name, OBJPROP_CORNER, 2);
}
}
//+------------------------------------------------------------------+
- 11-01-2008, 11:02 PM #10
- 11-01-2008, 11:17 PM #11
- 11-01-2008, 11:19 PM #12
- 12-01-2008, 02:19 PM #13
رد: مطلوب من الاخوه المساعده في كود أتعبني
أخي وضاح..
بالنسبة للمؤشر اللي ارفقته لكم في المشاركة الأولى والذي يحسب البايفوت اليومي
كيف أقوم بتحويله إلى اكسبيرت بحيث يقوم بوضع اوامر معلقه ( أوردر ) بالشراء عند ملامسة R1 والهدف R3 والستوب S1
وأيضاً يكون مزود بخاصية false & true
بحيث إذا كانت القيمة true يقوم بتحريك الستوب إلى Pivot عند ملامسة R2 بعد فتح الصفقة
وإذا كانت false لا يقوم بتحريك الستوب
والعكس صحيح بالنسبة لأوامر البيع
وأيضاً إتاحة عدد العمليات في اليوم بحيث تكون في الشكل التالي :
1. عندما تكون القيمة 1 فسيقوم بفتح أول عملية يصل لها السعر سواءً كانت بيع أو شراء فقط.
2. عندما تكوين القيمة 2 يقوم بفتح أول عملية يصل إليها الزوج ويضع أوردر في الاتجاه المعاكس
3. عندما تكون القيمة 3 يقوم بفتح أول عملية يصل إليها الزوج ويضع اوردر في الاتجاه المعاكس وحين يتفعل العقد يقوم بوضع اوردر في الاتجاه المعاكس,,, وهكذا
( أتمنى منك استاذي التعديل على نفس المؤشر ليتسنى لي التعديل فيما بعد على المستويات ، حيث أنني لا اعرف أن اتعامل مع السطور البرمجيه التي تحتوي على كلمة void )
وبالمناسبة أتمنى منك ارشادي على كتاب او رابط يشرح دالة void بشكل مفصل باللغة العربية
في انتظار اجابتك استاذي على أحر من الجمر
اخوك عادل الماجد
- 13-01-2008, 03:13 PM #14
رد: مطلوب من الاخوه المساعده في كود أتعبني
للرفع,, لأن الجمر أحرقني اخي وضاح :P
- 13-01-2008, 08:35 PM #15
رد: مطلوب من الاخوه المساعده في كود أتعبني
نعم
استخدمي الشرط التالي :
كود PHP:if (Hour()==0)
{
H1=iHigh(Symbol(),PERIOD_D1,1);
H2=iHigh(Symbol(),PERIOD_D1,2);
H3=iHigh(Symbol(),PERIOD_D1,3);
L1=iLow(Symbol(),PERIOD_D1,1);
L2=iLow(Symbol(),PERIOD_D1,2);
L3=iLow(Symbol(),PERIOD_D1,3);
}
الساعة صفر تعني 12 ليلا
1 تعني الواحدة صباحا
12 تعني الثانية عشر ظهرا
23 تعني الحادية عشر ليلا
هذا كله بتوقيت سيرفر البروكر نفسه وليس توقيت الجهاز المحلي .
المواضيع المتشابهه
-
ارجو المساعده من احد الاخوه المبرمجين
By mokhtar79 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 17آخر مشاركة: 27-07-2010, 06:44 PM -
اطلب المساعده من الاخوه المبرمجين
By mmavtv in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 10آخر مشاركة: 26-03-2009, 06:10 PM -
ارجوا من الاخوه الكرام المساعده
By will in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 7آخر مشاركة: 28-11-2008, 09:38 PM -
طلب من الاخوه المبرمجين المساعده
By padeel1 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 2آخر مشاركة: 12-03-2008, 12:11 AM