جزاك الله خيرا استاذ اسامة
ولى سؤال ,, هل يوجد كود يمكن من أخذ الاشارة بعد اغلاق الشمعة الحالية مباشرة وليس قبل ذلك ,
بدلا من اعتماد الاشارة للشمعة السابقة والشمعه التي قبلها .
Printable View
تمـام وضحت الفكره , ولى سؤال أخر
الكود التالى صحيح ولايوجد اخطاء ويعمل بلا مشاكل
كود PHP:
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
والكود التالى أيضـا صحيح ويعمل بلا مشاكل
فـ ايهما أصح أستاذ أسامة ومالفرق ؟كود PHP:
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);
}
السلام عليكم أخي أسامه ...
لدي بعض الأسئله لو سمحت :
أو التطوير على الإكسبيرت الموجود في هذا الموضوع
https://forum.arabictrader.com/t143751.html#post2399173
هل من الممكن تعريف الفرق بين عدد من الخطوط أو الترندات بمتغير واحد فقط و ليكن ما أطلقت عليه بالأسفل d ؟
مثال
ثم بعد ذلك داخل ستارت أقولكود PHP:
double trend1 = ObjectGetValueByShift("buy",1);
double trend2 = ObjectGetValueByShift("sell",1);
double line1=ObjectGet("buy",OBJPROP_PRICE1);
double line2=ObjectGet("sell",OBJPROP_PRICE1);
double d= MathAbs ( Close[1]- trend1 )|| MathAbs(Close[1]- trend2) || MathAbs(Close[1]- line1) || MathAbs(Close[1]- line2) ;
بحيث اني سوف أقوم برسم خط واحد فقط على الشارت إما ترندا أو مستوى ...؟؟كود PHP:
if ( Close[1]>Open[1]
&& Open[1]<trend1 || Open[1]<line1
&& Close[1]>trend1 || Close[1]>line1
&& d>=5*point && d<=10*point )
و إذا أردت أن أقوم بإستخدام خاصية الإغلاق بعدد النقاط true أو false فهل تكون هذه الأكواد صحيحه :
ثم داخل ستارتكود PHP:
extern bool UseClosePips =false ;
extern int ClosePipsFrom =5 ;
extern int ClosePipsTo =15 ;
أرجو التصحيح و الشرح بارك الله فيك و الإكسبيرت مرفق .كود PHP:
if(UseClosePips)
if ( Close[1]>Open[1]
&& Open[1]<trend1 || Open[1]<line1
&& Close[1]>trend1 || Close[1]>line1
&& d>=ClosePipsFrom*point && d<=ClosePipsTo*point )
______________
إذا أردت أن أعبر عن شمعة هايكن إشي smoothed حمراء فأي الكودين صحيحين ؟؟
أمكود PHP:
Heiken_Ashi_Smoothed = iCustom(NULL,0,"Heiken_Ashi_Smoothed",2,0);
وهل لو وضعت كود الشمعه الحمراء في شرط البيع تكفي بمعنى البيع عند ظهور شمعه حمراء ؟؟؟كود PHP:
Heiken_Ashi_Smoothed = iCustom(NULL,0,"Heiken_Ashi_Smoothed",2,6,3,2,2,0);
و إذا أردت التحقق من الفريمات الأخرى فهل صحيح لو كتبت في مكان خانة الفريم الفريم الذي أريد التحقق منه مثلا أم هناك طريقة أخرى للتحقق من باقي الفريمات ؟؟
________________كود PHP:
Heiken_Ashi_Smoothed = iCustom(NULL,15,"Heiken_Ashi_Smoothed",2,0);
&&
Heiken_Ashi_Smoothed = iCustom(NULL,60,"Heiken_Ashi_Smoothed",2,0);
&&
Heiken_Ashi_Smoothed = iCustom(NULL,240,"Heiken_Ashi_Smoothed",2,0);
هل هذا الكود الخاص بإستدعاء مؤشر خطوط أبو أثير صحيح ؟
ولو أردت إستدعاء مستوى 40 فقط :كود PHP:
iCustom(0,0,"AbuAtheer Lines",40,60,6,600,100,Gray,true,0,1) ;
شكرا جزيلا و آسف جدا على كثرة الأسئلة .كود PHP:
iCustom(0,0,"AbuAtheer Lines",60,6,600,100,Gray,true,0,1) ;
جزاك الله خيرا
بالنسبة للاكسيبرت المرفق , يفتح صفقات بدون تحقق الشروط واريده ان يفتح صفقه واحده فقط بعد تحقق الشرط , والشرط الذى اريده هوا كسر مستوى 50 لأعلى أو لأسفـل لمؤشر الاستوكاستك مع اتفاق شموع الهايكن , وحاولت أكتر من مره التعديل ولكن مازالت المشكلة كما هى !! , أرجو التصحيح و الشرح جزاك الله خيرا
استاذ اسامة , الاكسيبرت المرفق يقوم بفتح صفقة البيع او الشراء بعد اتفاق شرطين معا فـ نفس الشمعة وهو تقاطع الموفينج مع ظهور اشارة من مؤشر Filter , ولكن انا لا اريد ان ينتظر اتفاق الشرطين معا فـ نفس الشمعة لكى يفتح الصفقه , ما اريده هو اذا ظهر اى من الشرطين اولا ثم ظهر بعده الشرط الأخر يفتح الصفقه , كمثال ...
اذا ظهرت اشارة مؤشر Filter على الشمعة الحالية ثم بعدها بفتره ظهر تقاطع الموفينج يفتح الصفقه والعكس صحيح .
ما الكود اللازم لعمل ذلك ؟
وعليكم السلام ورحمة الله وبركاته
بالنسبه للجزء الأول صحيح لكن طبعا أن تقوم برسم إما خط أفقي او ترند فلا يمكن أما إذا اردت رسم الخط الأفقي والترند معا فيجب أن تغير إسم الكائن buy و sell بحيث يكون الترند له إسم والخط الأفقي له إسم آخر
-----
بالنسبه لإستدعاء الهيكين آشي فالأول أنت أضفت إعدادات المؤشر في كود إستدعائه لكن في الكود الثاني أنت لم تضف إعدادات المؤشر وبالتالي سوف يعتمدها الإكسبرت على أنها الإعدادات الإفتراضيه بالتالي فالكودين صحيح
وستؤدي لنفس النتيجه
-----
بالنسبه لمؤشر أبوأثير فهو لا يعتمد على ال buffers في رسم الخطوط لكن يعتمد على Objects بحيث يرسم الخطوط على الشارت كأنها خطوط ترسم يدويا لذلك سوف تستخدم الداله ObjectGet نفس التي إستخدمتها في الإكسبرت الأول ويجب أن تضع المؤشر على الشارت حتى يرسم الخطوط
أو كحل آخر يمكنك مراجعة كود المؤشر ومعرفة المعادلات التي يعتمد عليها وإضافة المعادلات مباشرة إلى الإكسبرت
لا افهم بالبرمجه
لدي ثلاث مؤشرات ارتكز عليهم في المتاجرة واريد دمجهم في مؤشر واحد يعطي سهما مع صوت عند توافقهم فوق او تحت شمعة السعر
الرجاء من الاخوة المساعده حيث ان فكرتي هي وجود هذا المؤشر مما يعطي مساحه للشارت كي يكون اكثر وضوحا
أنت وضعت شروط الهيكين آشي بشكل صحيح
أما إذا كنت تريد تأكيد الكسر بحيث الدخول مره واحده فقط مع كل كسر فيجب أن تكمل الشرط بحيث إذا كان الإستوكاستيك في الشمعه السابقه أقل من 50 ثم في الشمعه التاليه اصبح أكبر من 50
جرب تعديله ووضع الشرط الآخر وأخبرني بالنتيجه
بالنسبه للسؤال الأول
مثال :
سوف أقوم بعمل مصفوفه وأضع بها أسماء العملات التي أريد البحث عن تحقق الشروط فيها
ثم أستخدم الحلقه for لإستدعاء المؤشر والمقارنه مع كل عملهكود PHP:
string symbolsname[4];
symbolsname[0]="EURUSD";
symbolsname[1]="USDCHF";
symbolsname[2]="USDCAD";
symbolsname[3]="EURJPY";
بالنسبه للسؤال الثانيكود PHP:
string symbolsname[4];
symbolsname[0]="EURUSD";
symbolsname[1]="USDCHF";
symbolsname[2]="USDCAD";
symbolsname[3]="EURJPY";
for(int i=0;i<4;i++){
double rsi=iRSI(symbolsname[i],0,14,PRICE_CLOSE,0);
if(rsi>50)Alert("rsi > 50");
}
الأمر OrderModify
لنفرض أنك قمت بفتح صفقة بدون وضع الهدف والأستوب لوز
ثم نستخدم الأمر لعمل مودفاي للصفقه التي فتحت ونحدد الهدف والأستوب لوز الذي تريد وضعهكود PHP:
int ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,30,0,0," EA",MagicNumber,0,Blue);
OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
يمكنك تعريف متغيرين
خارج الداله start في اعلى الكودكود PHP:
bool signalbuy1,signalbuy2,signalsell1,signalsell2;
ثم عند تحقق شرط الإشاره الأولى مثلا
أو اي شرط مهما كانكود PHP:
if(ma1>ma2)signalbuy1=true;
if(filter>0)signalbuy2=true;
ثم شروط فتح الصفقه سيكون
كود PHP:
if(signalbuy1==true&&signalbuy2==true)
{
// open buy
signalbuy1=false;
signalbuy2=false;
}
}
استاذ اسامة كما ذكرت لحضرتك من قبل قمت بتجربة كل التعديلات ولكن النتيجه لم تكن كما أريد .
والتعديل التالى كما تفضلت وذكرت , هو شرط الاستوكاستيك بحيث اذا كان الاستوكاستيك للشمعة السابقة شمعة 2 أقل من 50 ثم في الشمعه التاليه شمعة 1 اصبح أكبر من 50 يفتح الصفقه فـ الشمعة الحالية شمعة 0
ولكن بعد التعديل يوجد العديد من الصفقات لايفتحها ولا أعلم السبب مع تحقق شروط الاستوكاستك واتفاق شموع
الهايكن !!
مرفق الاكسيبرت بعد التعديل .