-
الله يعطيك العافيه
هحاول ارتب صياغة الفكره و ارسلها لك مره اخرى
لكن عندي استفسار بخصوص Globale Variable
ارسلت لي من قبل ما يخص اغلاق كل الصفقات كما يلي
input int StopEA=true;
void OnTick()
{
if(StopEA)GlobalVariableSet("StopEA",10);//عند تفعيل الايقاف نعطي قيمة لمتغير جلوبال
else GlobalVariableDel("StopEA");//عند الغاء الايقاف يتم حذف متغير الجلوبال الذي انشأناه سابقا
if(GlobalVariableGet("StopEA")==10)return;//هذه القيمة سيتم قرائتها على كل الشارتات وبالتالي يتوقف عمل الاكسبيرت
//--- بقية الشروط تبع الاكسبيرت
}
فهل ممكن اضافة شرط عليه لتفعيل كما يلي و هو ان OrderTotal()==0
input int StopEA=true;
void OnTick()
{
if(StopEA&&OrderTotal()==0) return;
if(StopEA)GlobalVariableSet("StopEA",10);//عند تفعيل الايقاف نعطي قيمة لمتغير جلوبال
else GlobalVariableDel("StopEA");//عند الغاء الايقاف يتم حذف متغير الجلوبال الذي انشأناه سابقا
if(GlobalVariableGet("StopEA")==10)return;//هذه القيمة سيتم قرائتها على كل الشارتات وبالتالي يتوقف عمل الاكسبيرت
//--- بقية الشروط تبع الاكسبيرت
}
-
نعم ممكن معناه عند عدم وجود اي صفقة مفتوحة في الحساب يتم حذف متغير الجلوبال المحفوظ وبالتالي يلغى ايقاف العمل
-
يعطيك العافيه اثقلت عليك
حاولت ان اضبط ادارة راس المال من خلال احتساب عدد العملات التي يعمل عليها الاكسبيرت
كالآتي
int Experts;
double Depo=AccountInfoDouble(ACCOUNT_MARGIN_FREE),
Money;
string Quantity="Seal";
if(MoneyManagement&&GlobalVariableGet("Seal")==Exp erts)
{Experts=Experts+1;
GlobalVariableSet("Seal",Experts);
Money=Depo/Experts;}
{Lots=Money/50000;}
if(Lots<0.01)Alert("You do not have enough money");
لكن ما ضبطت معي
فكرتي كالآتي
50000 / (عدد العملات التي يعمل عليها الاكسبيرت)lot = free margin / expert
المطلوب هنا كيفية حساب عدد العملات التي يعمل عليها الاكسبيرت ( عدد )
التعديل الأخير تم بواسطة Sherry ; 17-03-2020 الساعة 08:19 AM
-
لا يوجد وظيفة تحسب عدد الأزواج المفتوحة بالحساب بينما يوجد عدد الصفقات المفتوحة بالحساب OrdersTotal
ولحساب عدد الازواج المفتوحة يوجد طريقة بسيطة ولكنها نوعا ما مرهقة حسب عدد الأزواج المستخدمة بالحساب (أو التي يعمل عليها الاكسبيرت ويجب أن تكون موجودة بخانة الماركت واتش)
بأن تعمل دالة حساب الصفقات بدلالة اسم الزوج تعود برقم 1 في حال وجود صفقات مفتوحة عليه
مثال :
ثم يكون عدد الأزواج كالتالي كمثال :
يوجد طرق اخرى معقدة باستخدام المصفوفات ولكن إليك طريقة أبسط
مثلا تضع كومنت مميز بأول صفقة يفتحها الاكسبيرت لكل زوج (لنسميها الصفقة الأساسية) مثلا "First" أما بقية صفقات الزوج التي بعد الأولى ضعها بأي كومنت مخالف لـ "First"
فنقوم بعمل دالة تبحث عن إجمالي الصفقات الأساسية التي تحمل الكومنت "First" يعني سنحسب عدد الأزواج المفتوحة وليس الصفقات كلها
مثال :
التعديل الأخير تم بواسطة kira-h ; 17-03-2020 الساعة 10:01 PM
-
يعطيك العافيه
طيب
ممكن احتساب العدد من خلال الاختيار الآتي
مع استبدال
باسم الاكسبيرت ؟؟؟؟ EA-123
-
هذا لا علاقة له بالأزواج التي بها صفقات مفتوحة
-
ما قصدته من ChartApplyTemplate احتساب عدد الازواج اللي بها Template
و اردت استبدال ChartApplyTemplate ب ChartApplyEa123
فكره مش عارف صح ام خطا
ضوابط المشاركة
- لا تستطيع إضافة مواضيع جديدة
- لا تستطيع الرد على المواضيع
- لا تستطيع إرفاق ملفات
- لا تستطيع تعديل مشاركاتك
-
قوانين المنتدى
العلامات المرجعية