وماذا تكون الدالة او الامر الجديد اذا كنت اريد وضع الامر مرة اخرى فى حالة عدم تفعيل الاوامر المعلقة السابقة؟؟؟؟
معلش انا مبتدا....وباحاول استخدم الاكسبيرت بتاع حضرتك للاوامر العلقة
Printable View
وعن ما اقصده .ا/ اسامة فى مشاركتى السابقة
هو اننى وضعت تقاطع موفينجيين كفلتر ليتم عنده وضع الاوامر المعلقة....وبالفعل يتم ذلك ولكن لمرة واحدة فقط وذلك لوجود اوامر معلقة سابقةغير مفعلة او بعضها مفعل
وانا اريد ان يقوم الاكسبيرت بوضع اوامر معلقة عند وجود شرط تقاطع الموفينجين وبدون الرجوع لما سبق من الاوامر المعلقة الموجودة التى تم وضعها
اذا لم استطيع توصيل ما اقصده....ساوضح بصورة مفصلة
فهل يمكن تعديل الكود التالى:
ومرفق الاكسبيرت الخاص بحضرتك قبل ان اضيف شيءكود PHP:int ordersS(int Magic){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && Magic==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
void AddBuy(){
if(Q>ordersS(MagicNumberB)&&ordersS(MagicNumberB)>0){
for(int i=0;i<OrdersHistoryTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()==OP_BUY){
int type=OrderType();double open=OrderOpenPrice();double lott=OrderLots();double stop=OrderStopLoss();
double profit=OrderTakeProfit();
}
}{
if(Ask>open+3*point){
OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
if(Ask<open-3*point){
OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
}
}
}
void AddSell(){
if(Qq>ordersS(MagicNumberS)&&ordersS(MagicNumberS)>0){
for(int i=0;i<OrdersHistoryTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()==OP_SELL){
int type=OrderType();double open=OrderOpenPrice();double lott=OrderLots();double stop=OrderStopLoss();
double profit=OrderTakeProfit();
}
}{
if(Bid<open-3*point){
OrderSend(Symbol(),OP_SELLLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberS,0,Red);}
if(Bid>open+3*point){
OrderSend(Symbol(),OP_SELLSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberS,0,Red);}
}
}
}
double profit(){
double c;
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()){
c+=OrderProfit();
}
}
return(c);
}
وهذا هو الاكسبيرت بعد ان اضفت له الموفينجات...وهذا بعد اذن حضرتك لانك صاحب الاكسبيرت ولان حضرتك ارفقته فى موضوعه مفتوح الكود والسماح لنا بالتعلم
وبقالى النهاردة رابع يوم عمال احاول يمين وشمال ....ولقلة خبرتى لم اعرف كيفية التعديل لكى يقوم بوضع اوامر معلقة باى ستوب او سيل استوب عند كل تقاطع للموفينجين...
ولقد تشجعت اليوم عندما رايت مشاركة لاخ كريم وحضرتك رديت عليه بتعديل قريب مما اريده
مرفق الاكسبيرت ............ربنا معاك......
السلام عليكم يا اخوان
عندي سؤال عن طريقة فك الاكسبيرت او تغير صيغة
لما انزل اي اكسبيرت ينزل عندي بصيغة WinRAR وما عرفت اغيره الى الملفات المطلوبة
فكته الى ملف ex4 فقط , و الملفات الاخرى ما نزلن معاي
ارجو المساعدة و ياليت بالصور لاني جديد
:0016:
بارك الله فيك أستاذي الغالي وجاري العمل بها إن شاء الله :eh_s(7):
عندي إستفسار أخر من فضلك بخصوص مؤشر Top Trend
حاولت تفكيك الكود وطريقة عمله وجدت متغيرات معرفة بهذا الشكل
لماذا ؟كود PHP:double smax[25000],smin[25000],bsmax[25000],bsmin[25000];
وهل هذا هو الأساس في المؤشر ؟
يعني لو كان سعر الإغلاق الشمعة [shift] أكبر من من قيمة البولينجر UPPER عند الشمعة [shift+1] الترند صاعدكود PHP:smax[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_UPPER,shift);
smin[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_LOWER,shift);
if (Close[shift]>smax[shift+1]) trend=1;
if (Close[shift]<smin[shift+1]) trend=-1;
وإذ كان سعر إغلاق الشمعة [shift] أصغر من قيمة البولينجر LOWER عند الشمعة [shift+1] الترند نازل
هل فهمي صحيح ؟
و
مذا تمثل Length في مؤشر البولينجر ؟كود PHP:shift=Nbars-Length-1
أرجو من فضلك التوضيح وبارك الله فيك :eh_s(7):
عذرا كنت أقصد Deviation و ليس Length وخلاص فهمت دوره هو لتحديد المسافة بين الخطوط وضح لي ما قبل هذا فقط وجزاك الله خيرا :eh_s(7):
بما إنه بيدخل أمر ماركت فأولا سعر الدخول شراء وبيع سيكون Ask و Bid
سيصبحكود PHP:Ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Buy_Price,digits),3,NormalizeDouble(SL,digits),NormalizeDouble(B_TP190,digits),"YousefH",MagicNumber,0,Blue);
هي طبعا لن تفرق كثيرا بما إنك وضعت شرطكود PHP:Ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,digits),3,NormalizeDouble(SL,digits),NormalizeDouble(B_TP190,digits),"YousefH",MagicNumber,0,Blue);
لكن حتى يكون الكود إحترافيكود PHP:if(Ask == Buy_Price){
بالنسبه لحفظ الهدف والأستوب لوز قمت بتعريف متغير وعند فتح الصفقه الشراء
وعند فتح صفقة البيعكود PHP:double B_tp=TP;
ودالة إغلاق جزء من الصفقه تصبحكود PHP:double S_tp=TP;
كود PHP:if(UsePartialClose)PartialClose(B_tp,S_tp);
في حالة عدم تفعيل الأوامر المعلقه سوف تقوم بحذفها أولا فسوف تحتاج إلى عمل دالة لحذف الأوامر المعلقه
ثم تضع أي شرط لحذف الأوامر المعلقه مهما كمان وشرط وضع الأوامر مره أخرى سيكون نفس الشرط الأصليكود PHP:void DeleteOrders(){
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber){
OrderDelete(OrderTicket());
}
}
}
كود PHP:if(orderscnt(OP_BUYSTOP)<1){
OrderSend(Symbol(),OP_BUYSTOP,Lots,Price,3,SL,TP,"EA",MagicNumber,0,Green);
}
أولا
هي مصفوفات تحتوي على 25000 عنصركود PHP:double smax[25000],smin[25000],bsmax[25000],bsmin[25000];
ولو لاحظت إستخدامها لاحقا كان لحفظ قيمة الباند
نعم تفسيرك صحيحكود PHP:smax[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_UPPER,shift);
smin[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_LOWER,shift);
الف شكر...ا/اسامة .....على الاهتمام والمساعدة....
وشكرا على سعة صدر حضرتك...و اود ان اذكر ان تدخلى فى اكسبيرت حضرتك لم يكن من قبيل التجرا على شخصك الكريم..فانا اصلا لا اعرف كتابة سطر واحد من راسى....ولكن من قبيل الاحتياج لاداء معين....وهذا بعد سماح من حضرتك فى موضوع الاكسبيرت نفسه بانك قدمته مفتوح الكود لمن يريد تعلم البرمجة...
..جارى التطبيق بارشادك......وسارجع بما فعلت...
.....الف شكر............ربنا معاك.........
اخي ماستر دولار
هل الاكسبيرت متعدد العملات او الدي يعمل على عملات متعددة يجب ان اضعه على شارت واحد لينفد على العملات الاخرى بدون وضعه على الشارتات الخاصة بها
ولو سمحت ممكن ترفق لي اكسبيرتات متعددة العملات
بارك الله فيك
السلام عليكم ورحمه الله وبركاته
ممكن يا اخواني شرح هذه المعادلة لاني لم افهمها
CURRENT PRICE = [2(RSI-%50) * TOTAL MOVEMENT] + OPEN PRICE
وهي لاستخراج السعر عند مستوى معين في مؤشر RSI
وياليت يكون بمثال او كود ماعليكم امر
وشاكر لكم تعاونكم