رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
يبدو أني فهمت خطأ :doh:
جاوبك الأخ العزيز محمد
بارك الله فيك أخي العزيز محمد كلامك صحيح
بورك فيكما وفي كل الأخيار أمثالكما على ما تقدموه لطلابكم من معلومات
واسمحو لي أن أستمر في الأسئلة
وسؤالي هذه المرة
1.كيف استطيع تلوين شمعة؟ (أريد كود يلون شمعة بعد تقاطع المتوسط 5 مع 8 على سبيل المثال)
2.كيف أستطيع جعل الأكسبيرت يعطي ماجك فريد بنفسه؟ (أكسبيرت وضعته على عملتين)
وأشكركم مقدما
1 مرفق
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة أبو جهاد
بورك فيكما وفي كل الأخيار أمثالكما على ما تقدموه لطلابكم من معلومات
واسمحو لي أن أستمر في الأسئلة
وسؤالي هذه المرة
1.كيف استطيع تلوين شمعة؟ (أريد كود يلون شمعة بعد تقاطع المتوسط 5 مع 8 على سبيل المثال)
2.كيف أستطيع جعل الأكسبيرت يعطي ماجك فريد بنفسه؟ (أكسبيرت وضعته على عملتين)
وأشكركم مقدما
راجع كود المؤشر المرفق سوف تجد به إجابة لسؤالك الأول
السؤال الثاني :
كمثال بسيط يمكنك وضع شرط في الإكسبرت بحيث يكون لكل عمله ماجيك نمبر محدد كمثال
يمكنك كتابته بداخل الداله init
كود PHP:
Magic=2011;
if(Symbol()=="EURUSD")Magic=1000;
if(Symbol()=="USDCHF")Magic=1001;
if(Symbol()=="USDCAD")Magic=1002;
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
لا يوجد داعي لإستخدام الداله iBarShift او إستخدام الحلقات للبحث عن أدنى أو أعلى سعر لكن هناك داله جاهزه يمكنك إستخدامها لها
iHighest و iLowest وهي تستخدم لمعرفة رقم الشمعه التي كان لها أكبر هاي أو أقل لو خلال فتره معينه تقوم بتحديدها
الكود بشكل كامل
كود PHP:
int dayStart=iBarShift(Symbol(),0,iTime(Symbol(),1440,0),false);
int HBar=iHighest(Symbol(),0,MODE_HIGH,dayStart,0);
double H=High[HBar];
double L=Low[iLowest(Symbol(),0,MODE_LOW,HBar,0)];
double Diff=H-L;
اخي الحبيب اسامة
جنني الامر iLowest مرة يجيب اللو بتاع اليوم الحالي ومرة اخرى يجيب اللو بتاع اليوم السابق وبذلك يكون الناتج غير حقيقي
وضعت الامر Comment لمتابعته فلاحظت ان التغير في قيمته تكون عند تحقق هاي جديد
كود PHP:
Comment("H = ",H," L = ",L," Diff = ",Diff);
حاولت انه في حال تكون هاي جديد ان اقوم بتغيير اللو الى لو الشمعة رقم زيرو فواجهتني مشكلة اخرى كمان جننتني وهي انه عندما تكون الشمعة زيرو صاعدة وتقوم بتكوين هايات جديدة فان طرح اللو للشمعة زيرز من الهاي زيرز يعطيني ناتج ايضا غير حقيقي لان اللو المتكون هو لو سابق للهاي
اي انه تكون قبل آخر هاي
فان قلنا ننتظر الى ان تنتهي الشمعة زيرو وتتحول الى شمعة رقم واحد فاننا نتعرض لحالة اخرى
وهي انه بعد تكوين هايات جديدة على الشمعة زيرو فان السعر يعود ويسجل لو بعد تحقيق الهاي على نفس الشمعة زيرو ويكون الناتج صحيح وبالتالي افقد هذا الناتج الصحيح ويروح عليا
فانا احترت في هذه الحل مرة يزبط في حال كان اللو تكون بعد انتهاء تحقيق الهاي
والمرة الاخرى ما يزبط اذا تكون اللو قبل الهاي
ارجو ان اكون وفقت في شرح المشكلة فهل عندك حل لها الله يسعدك حبيبي اسامة
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة محمد بن حامد
اخي الحبيب اسامة
جنني الامر iLowest مرة يجيب اللو بتاع اليوم الحالي ومرة اخرى يجيب اللو بتاع اليوم السابق وبذلك يكون الناتج غير حقيقي
وضعت الامر Comment لمتابعته فلاحظت ان التغير في قيمته تكون عند تحقق هاي جديد
كود PHP:
Comment("H = ",H," L = ",L," Diff = ",Diff);
حاولت انه في حال تكون هاي جديد ان اقوم بتغيير اللو الى لو الشمعة رقم زيرو فواجهتني مشكلة اخرى كمان جننتني وهي انه عندما تكون الشمعة زيرو صاعدة وتقوم بتكوين هايات جديدة فان طرح اللو للشمعة زيرز من الهاي زيرز يعطيني ناتج ايضا غير حقيقي لان اللو المتكون هو لو سابق للهاي
اي انه تكون قبل آخر هاي
فان قلنا ننتظر الى ان تنتهي الشمعة زيرو وتتحول الى شمعة رقم واحد فاننا نتعرض لحالة اخرى
وهي انه بعد تكوين هايات جديدة على الشمعة زيرو فان السعر يعود ويسجل لو بعد تحقيق الهاي على نفس الشمعة زيرو ويكون الناتج صحيح وبالتالي افقد هذا الناتج الصحيح ويروح عليا
فانا احترت في هذه الحل مرة يزبط في حال كان اللو تكون بعد انتهاء تحقيق الهاي
والمرة الاخرى ما يزبط اذا تكون اللو قبل الهاي
ارجو ان اكون وفقت في شرح المشكلة فهل عندك حل لها الله يسعدك حبيبي اسامة
الآن أنت تريد معرفة اللو الذي تكون اليوم طبعا كما إستخدمنا الداله iHighest سنستخدم الداله iLowest
أعتقد المشكلة التي تواجهك الآن هو كم عدد البارات التي يجب البحث فيها عن أقل لو وفي حالتنا نحن نبحث عن لو الذي تكون اليوم لذلك يجب أن نحدد مجال البحث بحيث يكون عدد بارات اليوم
لذلك لمعرفة كم شمعة مرت منذ إفتتاح اليوم سنستخدم الداله
كود PHP:
int dayStart=iBarShift(Symbol(),0,iTime(Symbol(),1440,0),false);
الآن للبحث عن أقل لو تكون سنقوم أولا بمعرفة رقم الشمعه التي تكون عندها اللو
كود PHP:
int LBar=iLowest(Symbol(),0,MODE_LOW,dayStart,0);
ثم سيكون اللو لها هو
كود PHP:
double L=Low[LBar];
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله
اخى الكريم دولار
اود تزويدي بالكود لاكسبيرت ،، كالتالى :
عند وجود اشارة شراء يتم فتح صفقة شراء ،، و عندما تظهر اشارة بيع يتم فتح صفقة شراء و بنفس اللحظه يتم اغلاق صفقة البيع مباشرة
شاكر لك جهودك حفظك الله
تحياتى
اخوك ابو مشعل
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة hassas_sa
السلام عليكم ورحمة الله
اخى الكريم دولار
اود تزويدي بالكود لاكسبيرت ،، كالتالى :
عند وجود اشارة شراء يتم فتح صفقة شراء ،، و عندما تظهر اشارة بيع يتم فتح صفقة شراء و بنفس اللحظه يتم اغلاق صفقة البيع مباشرة
شاكر لك جهودك حفظك الله
تحياتى
اخوك ابو مشعل
وعليكم السلام ورحمة الله وبركاته
أولا قم بعمل دالتين لإغلاق صفقات البيع والشراء
كود PHP:
void CloseBuyOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*Q);
}
}
}
}
void CloseSellOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*Q);
}
}
}
}
ثم بداخل الداله start
كود PHP:
if (Close[1]>L&&Close[2]<=L2&&CloseAtOppositeSignal)
{
CloseSellOrders();
//Open Buy Order
}
if (Close[1]<L&&Close[2]>=L2&&CloseAtOppositeSignal)
{
CloseBuyOrders();
//Open Sell Order
}
طبعا قم بتغيير الشروط حسب الإكسبرت
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم
عفوا على المقاطعة عندي استفسار
اذا عندي شارت شغال عليه zigzag indicator
فكيف أصنع كود إندكاتر يعمل عملية طرح أو جمع بين آخر قمة و السعر الحالي للمؤشر(shift)
أنا أكتب الكود بصيغة Matlab
last zigzag price==x
shift_price==current price
for
x)-(shift_price)=current diffrance)
end
بحيث current diffrance تظهر على الشارت
رد: موضوع مخصص للأسئلة البرمجية
الاساتذه الكرام ،،،
دائما ما يتبادر الى ذهني سوال ،،
وهو بخصوص بعض المواقع التي تبيع الاكسبيرتات ،،،
كيف يتم تشفير الاكسبيرتات ،، وايضا بعضهم يعطيك اكسبيرت لا يعمل الا على جهاز واحد فقط !!
هل بالامكان اعطائي الطريقه فضلاً لا امراً
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة urlsaver
السلام عليكم
عفوا على المقاطعة عندي استفسار
اذا عندي شارت شغال عليه zigzag indicator
فكيف أصنع كود إندكاتر يعمل عملية طرح أو جمع بين آخر قمة و السعر الحالي للمؤشر(shift)
أنا أكتب الكود بصيغة Matlab
last zigzag price==x
shift_price==current price
for
x)-(shift_price)=current diffrance)
end
بحيث current diffrance تظهر على الشارت
وعليكم السلام ورحمة الله وبركاته
لمعرفة سعر آخر قمه متكونه
كود PHP:
double ZagZag(){
int First;
for(int i=0;i<Bars;i++){
double zag=iCustom(NULL,0,"ZigZag",12,5,3,0,i);
if(zag!=0&&zag==High[i])First++;
if(First==1&&zag!=0){return(zag);}
}
}
ثم سيكون جمع القمه والسعر الحالي
كود PHP:
double Price=ZagZag()+Bid;
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة نوره
الاساتذه الكرام ،،،
دائما ما يتبادر الى ذهني سوال ،،
وهو بخصوص بعض المواقع التي تبيع الاكسبيرتات ،،،
كيف يتم تشفير الاكسبيرتات ،، وايضا بعضهم يعطيك اكسبيرت لا يعمل الا على جهاز واحد فقط !!
هل بالامكان اعطائي الطريقه فضلاً لا امراً
هل صغية سوالي فيها خطأ :(
1 مرفق
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم
اخى الكريم دولار
الفكره التى اود ان اجد لها حل هى مؤشر معقد يعتمد على حسابات كثيره افكر ان اتمكن من الوصول الى اكسبيرت يعمل علي هذا المؤشر
مرفق صورة المؤشر
الملف المرفق 262155
بغض النظر عن الهيستوقرام يوجد خط ازرق اعلى دائما يبدا فوق الصفر و يتم الدخول عند بدايه ظهور هذا الخط
والعكس عند البيع بظهور الخط الاحمر و الخروج عند لمس الصفر
كيف استطيع ربط هذا المؤشر باكسبيرت يفتح صفقة شراء مثلا عند ظهور الخط الازرق و يتم الخروج من الصفقه والدخول بصفقة بيع عند ظهور الخط الاحمر
كما يتضح من الصوره الخطوط العموديه هى خطوط ارشاديه وضعتها عند بدء اتجاه صاعد او هابط
المؤشر الاخير بشكل بارات مؤشر مساعد سنعتمد عليه فى حالة استحالة عمل اكسبيرت للمؤشر الذى هو اساس الموضوع
افضل استفاده من المؤشر على فاصل الربع ساعه عطاء سخى حسب متابعتى
ان احببت ان اتواصل معك او وضع المؤشر انتظر ردك
تحياتى و تقديرى
رد: موضوع مخصص للأسئلة البرمجية
اخى دولار
فكرتى شبيهه بفكره كانت قد طرحت فى موضوع بتاريخ 17-08-2010
https://forum.arabictrader.com/t103703.html
عموما الهستوقرام الاسود والوردي هو متوسطات 9 و 45
وهى تساعد على ايضاح الحركه
والخط الاحمر والازرق هو مؤشر اوسكليتور لمتوسطات الماكد 21،21،9
رد: موضوع مخصص للأسئلة البرمجية
اولاً احييك على مجهودك الملحوظ في خدمة اخوانك والذي تستحق عليه كل تقدير واحترام والاشادة
ثانيا اريد اضافة بعض المتغيرات الاضافية في مؤشرك Golden Number Indicator V5
مبدئياً غيرت قيمة المتغير EndDayHour وخليته بصفر حتى اتجنب عدم ظهور المؤشر يوم الاثنين
نحصل على سعر الاوبن لليوم السابق من خلال المعادلة التالية
double O=Open[StartCandle+24];
وهى تعمل جيداً ولكن عندما اردت سعر الاوبن لعشرة ايام سابقة لم تعطى النتيجة المطلوبة
double O2=Open[StartCandle+(24+24)];
double O3=Open[StartCandle+(24+48)];
double O4=Open[StartCandle+(24+72)];
double O5=Open[StartCandle+(24+96)];
double O6=Open[StartCandle+(24+120)];
double O7=Open[StartCandle+(24+145)];
double O8=Open[StartCandle+(24+169)];
double O9=Open[StartCandle+(24+145)];
double O10=Open[StartCandle+(24+193)];
معادلات سعر الكلوز لعشرة ايام سابقة
double C=Close[StartCandle];
double C2=Close[StartCandle+24];
double C3=Close[StartCandle+48];
double C4=Close[StartCandle+72];
double C5=Close[StartCandle+96];
double C6=Close[StartCandle+120];
double C7=Close[StartCandle+145];
double C8=Close[StartCandle+169];
double C9=Close[StartCandle+193];
double C10=Close[StartCandle+217];
ارجو المساعدة في تصحيح المعادلات بحيث احصل على اسعار الاوبن والكلوز لعشرة ايام سابقة
تحميل المؤشر من الضغط هنا
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة hassas_sa
السلام عليكم
اخى الكريم دولار
الفكره التى اود ان اجد لها حل هى مؤشر معقد يعتمد على حسابات كثيره افكر ان اتمكن من الوصول الى اكسبيرت يعمل علي هذا المؤشر
مرفق صورة المؤشر
الملف المرفق 262155
بغض النظر عن الهيستوقرام يوجد خط ازرق اعلى دائما يبدا فوق الصفر و يتم الدخول عند بدايه ظهور هذا الخط
والعكس عند البيع بظهور الخط الاحمر و الخروج عند لمس الصفر
كيف استطيع ربط هذا المؤشر باكسبيرت يفتح صفقة شراء مثلا عند ظهور الخط الازرق و يتم الخروج من الصفقه والدخول بصفقة بيع عند ظهور الخط الاحمر
كما يتضح من الصوره الخطوط العموديه هى خطوط ارشاديه وضعتها عند بدء اتجاه صاعد او هابط
المؤشر الاخير بشكل بارات مؤشر مساعد سنعتمد عليه فى حالة استحالة عمل اكسبيرت للمؤشر الذى هو اساس الموضوع
افضل استفاده من المؤشر على فاصل الربع ساعه عطاء سخى حسب متابعتى
ان احببت ان اتواصل معك او وضع المؤشر انتظر ردك
تحياتى و تقديرى
وعليكم السلام ورحمة الله وبركاته
هذا الموضوع مخصص للأسئله البرمجيه وليس للطلبات البرمجيه يمكنك فتح موضوع مستقل وإشرح لنا فيه الطريقه وبإذن الله سنتابع معك ومبدئيا يمكن عمل إكسبرت للمؤشر وكذلك جميع المؤشرات
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة EgyptionPro
اولاً احييك على مجهودك الملحوظ في خدمة اخوانك والذي تستحق عليه كل تقدير واحترام والاشادة
ثانيا اريد اضافة بعض المتغيرات الاضافية في مؤشرك Golden Number Indicator V5
مبدئياً غيرت قيمة المتغير EndDayHour وخليته بصفر حتى اتجنب عدم ظهور المؤشر يوم الاثنين
نحصل على سعر الاوبن لليوم السابق من خلال المعادلة التالية
double O=Open[StartCandle+24]; وهى تعمل جيداً ولكن عندما اردت سعر الاوبن لعشرة ايام سابقة لم تعطى النتيجة المطلوبة
double O2=Open[StartCandle+(24+24)];
double O3=Open[StartCandle+(24+48)];
double O4=Open[StartCandle+(24+72)];
double O5=Open[StartCandle+(24+96)];
double O6=Open[StartCandle+(24+120)];
double O7=Open[StartCandle+(24+145)];
double O8=Open[StartCandle+(24+169)];
double O9=Open[StartCandle+(24+145)];
double O10=Open[StartCandle+(24+193)];
معادلات سعر الكلوز لعشرة ايام سابقة
double C=Close[StartCandle];
double C2=Close[StartCandle+24];
double C3=Close[StartCandle+48];
double C4=Close[StartCandle+72];
double C5=Close[StartCandle+96];
double C6=Close[StartCandle+120];
double C7=Close[StartCandle+145];
double C8=Close[StartCandle+169];
double C9=Close[StartCandle+193];
double C10=Close[StartCandle+217];
ارجو المساعدة في تصحيح المعادلات بحيث احصل على اسعار الاوبن والكلوز لعشرة ايام سابقة
تحميل المؤشر من الضغط هنا
طريقتك صحيحه إلى حد ما لكن ستكون المشكله في يوم الجمعه فأحيانا لا يغلق اليوم على 24 شمعه كامله بالتالي ستؤثر على باقي الأيام وتسبب بعض الأخطاء إلا إذا كان البروكر لديك يعتمد على إغلاق 24 شمعه في نهاية الإسبوع
لديك الخطأ أيضا المفروض بعد 120 أن يكون 144 وليس 145