المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : أرجو اضافة تعديل بسيط على الخبير المرفق



daherxdaher
22-02-2018, 02:04 PM
السلام عليكم

الخبير المرفق، أخي حسن، يفتح صفقة كل افتتاح شمعة.
رجاءً أن تعدله باضافة خيار "عدد أقصى" للصفقات، بحيث لو كان العدد 1 مثلا، فلا يعقد صفقة جديدة بعد الصفقة الأولى الا اذا غيرت الرقم السحري يدويا، أما لو كان أكثر فيتابع حسب العدد.
كما أرجو اضافة:
TimeFrame، بحيث لا يتم عقد صفقات الا حسب افتتاح شمعة الاطار الزمني المعين بغض النظر عن اطار التشارت المفتوح و
StartTime/EndTime، بحيث لا تُعقد صفقات الا في الأوقات المعينة و
MaxSpread.

خالص الشكر و المحبة

kira-h
23-02-2018, 02:45 AM
وعليكم السلام
مرفق الاكسبيرت

daherxdaher
23-02-2018, 04:56 PM
وعليكم السلام
مرفق الاكسبيرت

مشكور جدا على المجهود.

تحقق نصف الهدف، أخي حسن، فكل من خياريّ التوقيت و التايمفرايم يعملان.
أما خيارا MaxSpread و MaxTrades فللأسف لا.
أرجو المراجعة.

خالص الشكر و المحبة

kira-h
23-02-2018, 06:59 PM
جرب النسخة المرفقة

daherxdaher
23-02-2018, 07:55 PM
جرب النسخة المرفقة
للأسف، نفس المشكلة تظهر في هذه النسخة أيضا.

خالص الشكر

kira-h
24-02-2018, 01:47 AM
الافضل شرح الفكرة كاملة لبناء اكسبيرت على طريقتي الخاصة

daherxdaher
24-02-2018, 04:29 PM
الافضل شرح الفكرة كاملة لبناء اكسبيرت على طريقتي الخاصة
طيب، جزاك الله خير على العرض.

الفكرة ببساطة، أني أحتاج الى خبير يعقد صفقة عند اغلاق شمعة ما (أول تك في الشمعة التالية).
مع امكانية التحكم في عدد الشمعات و بالتالي الصفقات.

مثال:
لنفترض أن
+ TimeFrame: M15
+ التشارت المفتوح H1
+ Start_Time: 15.15
+ MaxTrades: 3
+ MaxSpread: 1
+ Slippage: 2

النتيجة المرجوة هي أن تُعقد صفقة عند كل من التوقيت 15.15، 15.30، و 15.45، بشرط انطباق شرطي السبريد و الانزلاق،
ثم يتوقف عن العمل الى أن أغير Start_Time، ليبدأ العمل عند افتتاح أول شمعة بعد التغيير، و هكذا دواليك.

سنغير طريقة حساب MaxTrades بالغاء End_Time و تعويضها بقيمة MaxTrades.
في مثالنا سيبدأ العمل عند Start_Time: 15.15 و ينتهي بعد افتتاح 3 شمعات M15 (حسب خيار TimeFrame) شاملة شمعة البداية (أي أن آخر صفقة ينبغي أن تعقد مع افتتاح شمعة 15.45).

ملاحظة: ليس شرطا أن تكون صفقة ما أغلقت قبل افتتاح الشمعة التالية حتى تعقد صفقة جديدة، انما تعقد صفقة كل افتتاح شمعة، مع الالتزام بالحد الأقصى طبعا.

حالة خاصة: حال تفعيل "EachTickMode" (يعقد صفقة بعد كل اغلاق لصفقة كانت عقدت مع افتتاح شمعة ما، دون انتظار افتتاح شمعة جديدة) سيعمل MaxTrades ابتداءً من Start_Time و انتهاءً بالحد الأقصى للصفقات و ليس عدد الشموع (في مثالنا 3 صفقات، صفقة ثانية بعد اغلاق الصفقة الأولى و أخيرة بعد اغلاق الثانية، ثم توقف حتى تغيير Start_Time، كل هذا يمكن أن يحدث ضمن اطار الشمعة الجارية).

هام جدا: شرطا السبريد و الـ Slippage يجب انطباقهما عند كل صفقة.
ماذا لو لم ينطبق أحد الشرطين في شمعة ما، يتم الالتزام بالزمن (بالحد الأقصى لعدد الشموع) و ليس عدد الصفقات المعقودة (أي، في مثالنا، لا يتم تعويض الصفقة التي لم تعقد بصفقة اضافية عند 16.00، انما يكتفى بعقد ما تبقى من صفقات فقط، حال انطباق الشرطين طبعا، و هكذا دواليك).
طبعا سيتم الالتزام بالحد الأقصى للصفقات حال تفعيل "EachTickMode"، لكن أيضا دون تعويض أية صفقة.

الخيارات المطلوبة اذاً، هي التي يحويها خبيرنا اياه، بالاضافة طبعا الى المطلوب أعلاه.

خالص الشكر و المحبة

kira-h
24-02-2018, 11:08 PM
مرفق الاكسبيرت والاعدادات كالتالي :
EnableTimeFilter=false;//تفعيل أو تعطيل فلتر التوقيت
Start_Hour="00:00";//توقيت بداية العمل
End_Hour="23:00";//توقيت نهاية العمل
TimeFrame=PERIOD_CURRENT;//الفريم
EachTickMode=false, تفعيل او تعطيل فتح الصفقة كل تكة سعرية
FirstTick=false,//تفعيل او تعطيل فتح الصفقة ببداية الشمعة
OpenBuy=true,//تفعيل للشراء وتعطيل للبيع
CloseNextBar=false;//إغلاق الصفقة عند إغلاق الشمعة
CloseMinutes=15,//إغلاق الصفقة بعد عدد دقائق من زمن الفتح و 0 إلغاء

بقية الاعدادات معروفة

daherxdaher
25-02-2018, 05:51 PM
مرفق الاكسبيرت والاعدادات كالتالي :
EnableTimeFilter=false;//تفعيل أو تعطيل فلتر التوقيت
Start_Hour="00:00";//توقيت بداية العمل
End_Hour="23:00";//توقيت نهاية العمل
TimeFrame=PERIOD_CURRENT;//الفريم
EachTickMode=false, تفعيل او تعطيل فتح الصفقة كل تكة سعرية
FirstTick=false,//تفعيل او تعطيل فتح الصفقة ببداية الشمعة
OpenBuy=true,//تفعيل للشراء وتعطيل للبيع
CloseNextBar=false;//إغلاق الصفقة عند إغلاق الشمعة
CloseMinutes=15,//إغلاق الصفقة بعد عدد دقائق من زمن الفتح و 0 إلغاء

بقية الاعدادات معروفة
مشكور جدا.
سأجرب أثناء السوق، باذن الله.
تحياتي

kira-h
25-02-2018, 09:26 PM
بالتوفيق ان شاء الله

daherxdaher
26-02-2018, 02:29 PM
بالتوفيق ان شاء الله
حلت مشكلة MaxSpread، فشكرا جزيلا، أما ما أرجوك حله فهو أمر "MaxTrades".

حاليا يلتزم الخبير بالعدد المحدد طالما أن كل الصفقات جارية في ذات الوقت، فان أغلقت صفقة (أو أكثر) لأي سبب (SL/TP/يدويا، الخ)، تم تعويضها مباشرة. المطلوب، ربط الأمر بـStartTime.
لنفرض أني اخترت أن يعمل الخبير بين الساعة 11 و 12، ليعقد 2 صفقة حسب اطار الربع الساعة، بينما عطلت "EachTick".
حاليا سيتم عقد صفقة عند الساعة 11.00 و أخرى عند 11.15، فلو تم خروج من الأولى عند 11.40 مثلا، سيعاود الخبير تعويضها مباشرة عند 11.45.
المطلوب، ألا يفعل، بل ينتظر حتى أغير توقيت بدء العمل، فان لم أفعل فلا تعويض لأية صفقة (النتيجة عقد العدد المحدد "فقط" من الصفقات خلال المدة المختارة). المطلوب يجب أن ينطبق أيضا حال تفعيل "EachTick".

خالص الشكر و العرفان

kira-h
26-02-2018, 07:35 PM
غير ممكن أخي بحيث يوجد تناقض برمجي في هذه الحالة

daherxdaher
26-02-2018, 09:49 PM
غير ممكن أخي بحيث يوجد تناقض برمجي في هذه الحالة
طيب، ما الحل حتى نصل الى الهدف (عدد محدد خلال فترة ما)؟
بمعنى، ما الذي يجب الاستغناء عنه من الخصائص الحالية لتحقيق الهدف؟

كل الشكر

kira-h
26-02-2018, 10:42 PM
لديك فقط حل وحيد من الاعدادات هو بالغاء خاصية FirstTick و تفعيل
EachTick

daherxdaher
27-02-2018, 01:20 PM
لديك فقط حل وحيد من الاعدادات هو بالغاء خاصية FirstTick و تفعيل
EachTick

نفس العلّة، أخي حسن.
أيعقل أنه لا يوجد طريقة لجعل الخبير يحترم خيار العدد الأقصى للصفقات التي يجب أن تعقد أثناء مدة معينة بلا تعويض (عقد صفقات جديدة) لو أغلقت خلال ذات الفترة؟
بالمناسبة، لو كان التضارب أو الحل في حذف خاصية EechTick مثلا من الكود، فليكن.

كل الشكر

kira-h
27-02-2018, 05:33 PM
طيب جرب النسخة المرفقة بحيث أضفت خيار ReOpen معناه تفعيل إعادة فتح الصفقات إذا كان عددها أقل من MaxTrades

daherxdaher
28-02-2018, 05:53 PM
طيب جرب النسخة المرفقة بحيث أضفت خيار ReOpen معناه تفعيل إعادة فتح الصفقات إذا كان عددها أقل من MaxTrades
الخيار الجديد بلا فائدة، للأسف.

كل الشكر

kira-h
28-02-2018, 10:34 PM
طيب جرب النسخة المرفقة

daherxdaher
01-03-2018, 12:00 PM
طيب جرب النسخة المرفقة
هذه النسخة أيضا بلا أدنى تغيير كسابقتها، للأسف.

ان كنت فهمت أثر Reopen المفترض بشكل صحيح، فان الأمر ينبغي له أن يعيد عقد صفقة ان كان عدد الصفقات الجارية أقل من MaxTrades (تعويض ما يُغلق) ، و عليه فان تعطيله يعني ايقاف عقد أية صفقات حتى لو لم تكن هناك أية صفقة جارية، صحيح؟

كيف يستدل الخبير أساسا على أن هناك صفقات تم عقدها في الفترة الزمنية المختارة، هل يقرأ من ملف خاص به (log)؟

كل الشكر

kira-h
01-03-2018, 05:03 PM
هذه النسخة أيضا بلا أدنى تغيير كسابقتها، للأسف.

ان كنت فهمت أثر Reopen المفترض بشكل صحيح، فان الأمر ينبغي له أن يعيد عقد صفقة ان كان عدد الصفقات الجارية أقل من MaxTrades (تعويض ما يُغلق) ، و عليه فان تعطيله يعني ايقاف عقد أية صفقات حتى لو لم تكن هناك أية صفقة جارية، صحيح؟

كيف يستدل الخبير أساسا على أن هناك صفقات تم عقدها في الفترة الزمنية المختارة، هل يقرأ من ملف خاص به (log)؟

كل الشكر
الاكسبيرت سليم اخي
ارفق صورة للاعدادات التي تستخدمها لمعرفة السبب

daherxdaher
02-03-2018, 12:33 PM
الاكسبيرت سليم اخي
ارفق صورة للاعدادات التي تستخدمها لمعرفة السبب
السلام عليكم

5636

جمعة مباركة

kira-h
02-03-2018, 07:46 PM
وعليكم السلام
الاعدادات سليمة فقط قم بتفعيل الخاصية ReOpen لكي يعيد فتح الصفقات

daherxdaher
03-03-2018, 07:19 AM
وعليكم السلام
الاعدادات سليمة فقط قم بتفعيل الخاصية ReOpen لكي يعيد فتح الصفقات
يبدو أن هناك سوء فهم.
المشكلة تكمن أساسا في أن الخبير كان و لا زال يعيد فتح صفقات، سواءً كان Reopen مفعلا أم معطلا.
المطلوب هو عدم فتح صفقات أكثر من MaxTrades خلال الفترة الزمنية المعينة.

لا زال سؤالي بلا جواب، أين تكمن ذاكرة الخبير، أي كيف يعرف أساسا ان كان تم فتح/اغلاق صفقة/صفقات خلال فترة معينة؟

تحياتي

kira-h
03-03-2018, 06:14 PM
يبدو أن هناك سوء فهم.
المشكلة تكمن أساسا في أن الخبير كان و لا زال يعيد فتح صفقات، سواءً كان Reopen مفعلا أم معطلا.
المطلوب هو عدم فتح صفقات أكثر من MaxTrades خلال الفترة الزمنية المعينة.

لا زال سؤالي بلا جواب، أين تكمن ذاكرة الخبير، أي كيف يعرف أساسا ان كان تم فتح/اغلاق صفقة/صفقات خلال فترة معينة؟

تحياتي

لا حاجة لاستخدام الذاكرة بل فقط نستخدم شرط أقصى عدد الصفقات المفتوحة حسب الشروط ...

daherxdaher
04-03-2018, 06:36 PM
لا حاجة لاستخدام الذاكرة بل فقط نستخدم شرط أقصى عدد الصفقات المفتوحة حسب الشروط ...
طيب، اذاً لا داعي للاستمرار في المحاولة، فأمر Maxtrades يبدو أنه لن يعمل.
لدي مقاربة مختلفة لمحاولة الوصول الى الهدف سأشرحها في موضوع مستقل، أرجو أن تطلع عليه و ترمج له خبيرا ان أمكن.

كل الشكر