2 مرفق
رد:موضوع مخصص للأسئلة البرمجية
استاذي عيدكم مبارك ، باجرب اكسبيرت الدخول فيه للصفقة يكون على شروط الفراكتل بيعمل صفقة بيع بعد هاي فراكتل ، انا عايز متغير يثبت لي قيمة هذا الهاي عشان استخدمه ستوب لوس ، انا عملت الكود التالي للأستوب
void TechnicalAnalysis43()
{
if (Bid == iCustom(NULL, NULL, "Fractals",High,2))
{
CloseOrder32();
}
}
المشكلة انه قمم الفراكتل طبعا بتستمر وبتتغير والأستوب بياخد اخر قمة فراكتل عشان يقفل ، السؤال كيف احتفظ بمتغير لقمة الفراكتل الذي سبق عملية البيع مباشرة ويكون هو الأستوب بغض النظر عن قمم الفراكتل اللاحقة ، مرفق الأكسبيرت وفيه ستوب للبيع وستوب للشراء ومرفق المؤشر المستخدم للفراكتل . شكرا لك .
1 مرفق
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله وبركاته
تحية طيبة للجميع
أستاذ أسامة بارك الله فيك وجعل جهودك فــي ميزان حسناتك
أرجو التكرم بتعديل الكود بـ جعل مضاعفة اللوت عند قيمة ربح معينة من الحساب (بالدولار) !! وليس عند الوصول إلى ضعف الحساب
وكيف أجعل لها متغير خارجي لتغيير تلـــك القيمة ؟؟
وكيف سيتناسب هذا التعديل مع خاصية Lots-Steps Settings لتبقى تابثة كما هي دون تغيير تطبق على تلك القيمة ربح من الحساب (دائما بالدولار وليس النسبة المئوية)
كلها أسئلة رياضيـــة لم أعرف كيف أستنتجها !! ;أعذرني فـ أنا لسه بحاول تعلم البرمجة، لذلك أرجو طريقة العمل يا استاذي الكريم :hands:
أو التكرم بالتعديل المطلوب لما جاء بالمشاركة 399 بموضوع الأخ فارس نواف https://forum.arabictrader.com/t93683-27.html
الاكسبيرت بالمرفقـــــات جزاك الله عنا كل خير
كود PHP:
double NL;
double profitpercent=profitaccount()/(AccountBalance()-profitaccount());
if(MultiplierLots&&profitpercent>=1&&AccountBalance()/(AccountBalance()-profitaccount())>=1)
{
NL=profitpercent;
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة Jmeel
استاذي عيدكم مبارك ، باجرب اكسبيرت الدخول فيه للصفقة يكون على شروط الفراكتل بيعمل صفقة بيع بعد هاي فراكتل ، انا عايز متغير يثبت لي قيمة هذا الهاي عشان استخدمه ستوب لوس ، انا عملت الكود التالي للأستوب
void TechnicalAnalysis43()
{
if (Bid == iCustom(NULL, NULL, "Fractals",High,2))
{
CloseOrder32();
}
}
المشكلة انه قمم الفراكتل طبعا بتستمر وبتتغير والأستوب بياخد اخر قمة فراكتل عشان يقفل ، السؤال كيف احتفظ بمتغير لقمة الفراكتل الذي سبق عملية البيع مباشرة ويكون هو الأستوب بغض النظر عن قمم الفراكتل اللاحقة ، مرفق الأكسبيرت وفيه ستوب للبيع وستوب للشراء ومرفق المؤشر المستخدم للفراكتل . شكرا لك .
يمكنك إستخدام GlobalVariableGet و GlobalVariableSet يا أخ جميل
( يمكنك مراجعة المشاركة دي )
https://forum.arabictrader.com/showt...=1#post2431613
----------------------
أو يمكنك تعريف متغير للأستوب لوز وتضعه بعد شروط البيع مثلا
بحيث بعد فتح عملية البيع يقوم بتثبيت الأستوب لوز
كود PHP:
if(Ask>=Buy_Price && Ask<H-0.0020 && orderstotal(OP_BUY)<1 && B_TP210 > Ask+Spread && BuyID!=Buy_Price){
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage*Q,0,0,"YousefH",MagicNumber,0,Lime);
bTP1=B_TP210;bTP2=B_TP233;
BuyID=Buy_Price;
}
يعني في المثال ده قمت بتعريف bTP1 و bTP2 و BuyID خارج الدوال الرئيسية
وأعطيتهم قيمة بعد تنفيذ أمر الشراء ( وبالتالي لن يأخذوا أي قيم جديدة إلا في حالة تحقق شروط الشراء وتنفيذ أمر شراء جديد )
1 مرفق
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
لديك خطأ في العمليه الحسابيه فلو إستخدمت الأمر Comment لطباعة قيم التي مفروض أن يقارن سعر البيد والأسك بها فسوف تجد أنه يعطي قيم خاطئه
راجع المعادلات الحسابيه مره أخرى فمثلا لديك خطأ في هذا الجزء
كود PHP:
fibo0=(H_Low-(H4Low/2)-Slippage);
القيم في هذه الحاله سوف تكون سالبه دائما لأن Slippage=3 في متغيرات الإكسبرت وقيمة اللو لن تصل إلى 2 أبدا حسب سعر اليورو دولار
اخي مستر دولار شكرا لسرعة الرد
وقد قمت بتعديل الخطا والتاكد من باقي الحسابات لكن صدقا الى الان لم يعمل اي صفقة رغم اكتمال الشروط المكتوبة له ارجو ان تتكرم وتتاكد من الدالات التي ادخلتها فربما واحدة منها خطأ فانا اريد فقط الهاي واللو لشمعة الاربع ساعات الاولى من كل يوم حتى لو اتى اعلى منها اريد ان يتجاهلها
الاكسبيرت في المرفقات بعد التعديل الذي اشرت اليه وشكرا مرة اخرى
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
وعليكم السلام ورحمة الله وبركاته
تم الرد في الموضوع
جزاك الله خيرا أستاذ أسامة دائما متألق كـ عادتك، جاري فحص الاكسبيرت
بارك الله فيك
:eh_s(7):
2 مرفق
رد:موضوع مخصص للأسئلة البرمجية
أستاذي مستر دولار خلينا في الأسهل بداية مثل ماذكر أخونا يوسف ،
أخي يوسف بالنسبة للجلوبال بيكون مؤثر في الشارتات الأخرى وفكرتك في وضع متغير يينتهي بأنتهاء الصفقة هو الأفضل ، انا عملت متغيرين aLow و aHigh لكن ربما ماكان موضعهم في المكان المناسب مرفق الأكسبيرت ارجو التعديل فيه وبعد التعديل ونجاح تنفيذ الأغلاق تكرم برفعه ، ولك الشكر ، مرفق الأكسبيرت والمؤشر .
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
لأ المتغير تم تعريفه في المره الأولى حتى لو لم تتحقق الشروط
ما أقصده في المشاركه السابقه ليس خطأ عدم تعريف المتغير لكن خطأ أن قيمة المتغير عاد للقيمه الإفتراضيه وهي صفر
--------
لكن في هذا الكود الذي أرفقته فبعد فتح الصفقه مباشرة الآن قيمة ticket= رقم التيكيت للصفقه
تم تنفيذ الأمر OrderModify للصفقه برقم التيكيت الصحيح
عندما تنفيذ الداله start من جديد سوف يتغير رقم التيكيت ليصبح 0
إذن الاكسيبرت يقوم بتعريف اى متغير بغض النظر عن مكان هذا المتغير فـ الاكسيبرت او ارتباط المتغير بتحقق شروط قبله أو بعده
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
عندما يحاول الإكسبرت عمل مودفاي لأمر لكن لا يوجد تغيير في القيم يظهر هذا الخطأ
لذلك ضع شرط في دالة المودفاي
كود PHP:
if(OrderTakeProfit()!=TP||OrderStopLoss()!=SL)
شكرا استاذ اسامة ، تم التعديل والآن لا يظهر الخطـأ وفـ حالة عمل مودفاي للأوامر المعلقة هل من الأفضل دائمـا عمل دالة بدل من وضع أمر المودفاي بعد أمر أوردر سيند