بذكرك فقط لان بعتقد انك مخدتش بالك من الرد
عرض للطباعة
بذكرك فقط لان بعتقد انك مخدتش بالك من الرد
لم تستدعي دالتي البيع والشراء بالدالة الرئيسية OnTick لهذا لم يتم التنفيذ
اما كثرة الصفقات سببها انك لم تضع شرط توقيت الشمعة بحيث لا يتجاوز صفقة واحدة بالشمعة المحققة الشروط time (راجعها بالكود اسفله)
كذلك المؤشرات معرفة بالدالة الرئيسية بينما بدالتي البيع والشراء لن يستطيع معرفتها
لهذا الافضل استخدام كل المعرفات والشروط بداخل الدالة الرئيسية
مثال :
رائع اخي حسن
شكرا جزيلا
لكن
حاولت افصل القيم اعلى واسفل خط الصفر للماكد لم استطيع
للتوضيح اكثر
دالوقتي انا عايز اقارن السعر الحالي من حيث (قيمة الشموع ، قيمة الماكد) كالتالي :
1- لو السعر الحالي فوق خط الصفر اذن هقارنه فقط باخر قمة للماكد والشموع حصلت فوق خط الصفر.
2- لو السعر الحالي تحت خط الصفر اذن هقارنه فقط باخر قاع للماكد والشموع حصلت تحت خط الصفر.
اذن هعمل الاتي
اولا هعمل متغيرين للماكد الحالي كالتالي :
وبعدين ابدأ المقارنة في شروط الدخول كالتالي :
1- في حالة الشراء
2- في حالة البيع
زي ما حضرتك شايف الدالتين :
MACDIndex()
MACDPrice()
عامتين وغير خاصة بالقمة لوحدها والقاع لوحده
احتاج سعر وقيمة الماكد فوق الصفر لوحده وتحت الصفر لوحده حتى يمكنني المقارنة بشكل ادق
راجعت الكود مرة اخرى وقمت بعمل تعديلات كالتالي :
1- تحديد اخر قمة للماكد فوق الصفر
2- تحديد اخر قمة للسعر فوق الصفر
3- تحديد اخر قاع للماكد تحت الصفر
4- تحديد اخر قاع للسعر تحت الصفر
وشروط الدخول شراء
شروط دخول البيع
ارجو تصحيح الاخطاء ان وجد
شكراً لك اخى على المساعده
بعد اذنك ازى الاكسبيرت يشتغل مضاعفات بس كل نوع اوردر لوحده
اوردر شراء خسر 0.01 اوردر الشراء اللى بعده يكون 0.02 لا دخل لأوردرات البيع بالمضاعفات لوت البيع مستمر 0.01 وقت ان البيع بداء يخسر يبداء فى المضاعفات
مضاعفات لنوع الاوردر الخاسر بس اذا الشراء خسر يعمل مضاعفات على الشراء بس واذا البيع خسر يعمل على البيع مضاعفات بس
كالتالي :
نعم يمكن فصل الشروط ولكنها غير صالحة للمقارنة فيما بينها لأن الدالة لا تستخرج إلا نتيجة آخر ترند، يعني قيم آخر صعود أو هبوط مكتمل،
ولو تريد مقارنة قيم الترند الاخير مع قيم الترند السابق فالامر معقد بحيث يجب عمل الكثير من التعديلات ودوال جديدة لحصر الترند السابق
ما انا عشان كده طلبت مؤشر والدخول بناءاً ع اشارات الاسهم ولا متنفعش؟
لا يوجد فرق
طيب ياريت تعملها اذا وقت حضرتك يسمح
يعني مش لازما تعمل المؤشر مرة واحدة
ممكن كل ما يبقى عندك وقت اكتب شوي ولو اخد منك فترة مش مشكلة
https://www.fxprg.com/vb/showthread.php?t=34508
السلام عليكم
انا عندي اكسبيرت يفتح صفقات متعددة و لكل صفقة لها اسم محدد (comment) و لها شرط محدد للاغلاق لا يتعلق بالصفقات المفتوحة الاخرى.
الرجاء اريد دالة او طريقة تغلق صفقة واحدة فقط بحيث هذه الدلة تنظر الى الكومنت للصفقات و كل صفقة تحققت شروط اغلاقها على حدى يغلق هذه الصفقة فقط لوحدها.
و بالنهاية شكرا اخي حسن و الله ينور عليك و على والديك و يرزقك من حيث لا تحتسب.
شكراً لك اعذرنى على اسألتى ولكن عايز اعرف ازى بيختلف كتابة كل كود للمضاعفات
انا عايز اعمل ان اذا كان فى اوردر شراء شغال 0.01 وتحقق شروط اوردر بيع يكون المضاعفه للبيع 0.02 بغض النظر عن الشراء فى ربح او خسارة يعنى اذا الاوردر التالى عكس الاوردر اللى شغال اخر حاجه يشتغل على المضاعفات ولو تحقق ربح من اخر اوردر يبداء من 0.01
ويكون فى الشروط اذا عملت كود اغلاق الاوردرات المعاكسه اللى هو CloseAtNext بس فى اوردر شراء وتم اغلاق اوردر الشراء بواسطه CloseAtNext ولم يتم تفعيل اوردر معاكس اللى هيكون بيع لسبب ان لم يكتمل شروط الدخول وبداء يتحقق شروط دخول شراء تانى يكون المضاعفه شراء 0.02
يعنى كدا هيكون فى الشروط للمضاعفات نقطتين
المضاعفات تبداء اذا كان فى اوردر معاكس لأخر اوردر
و مضاعفات اذا اخر اوردر اغلق على خساره والاوردر التالي كان من نفس نوعه
نسيت اوضح حاجه فى المشاركه السابقه فى اى حالة من حالات اغلاق الاوردرات عن طريق CloseAtNext ربح او خساره يكمل فى المضاعفات حتى يكون الربح عن طريق ضرب الهدف
وعليكم السلام
كالتالي:
الف شكر يا استاذنا
اخي الكريم هذا الموضوع مخصص فقط للأسئلة البرمجية وليس الطلبات!
يعني ضع محاولاتك البرمجية للمراجعة أو التصحيح
وعليكم السلام
هذا على حسب الطريقة البرمجية المستخدمة بالاكسبيرت، منها المصفوفات أو دوال بدلالة الكومنت وغيرها...
عموما دالة الاغلاق بدلالة الكومنت كالتالي:
مثلا لو تريد اغلاق صفقة باسم Order1 سيكون كالتالي:
شكرا كثيرا حسن و ربي يرزقك على مجهودك و صبرك،
حسن عندي طلب تاني لو سمحت،
اريد طريقة او دالة تنظر و تبحث ب الكومنت للاوامر المفتوحة
بحيث هذه الدالة ترجع لي اذا كانت الصفقة على ربح بعد حساب ثلاث اشياء الكومشن و السواب و طبعا البروفيت هل هم اكبر من الصفر (يعني اي ربح حتى لو بسيط لانه لا يوجد تيك بروفيت بهذا الاكسبيرت)،
كما ذكرت لك حسن ان الاكسبيرت يفتح صفقات متعددة و كل صفقة لها اسم محدد يتعلق بالتايم فريم المخصص لها،
مثال :
لو كان عندنا صفقات مفتوحة كثيرة و من بينهم صفقة بيع مفتوحة مخصصة للخمس دقائق تايم فريم و لها كومنت
"Sell 5 min"
الان و بعد مرور بعض الوقت تحققت شروط الشراء على الخمس دقائق تايم فريم، انا اريد من الدالة ان تنظر لي على الكومنت
"Sell 5 min"
و ترجع لي هل هذه الصفقة على ربح حتى لو بسيط بعد حساب الكومشن و السواب و بالتالي الصفقة تغلق
( انت علمتني كيف اغلقها يعطيك العافية حسن )
و بالنهاية كالعادة حسن اشكرك جدا و الله يوفقك و ينور عليك انت و والديك.
هنا حاولت فى كتابة الكود ان يكمل فى المضاعفات اذا اغلق اوردر على خساره او اخر اوردر اغلق على ربح وليس Take Profit
ولكن يبداء من البدايه اذا اخر اوردر ضرب الهدف
المشكله فى دالة LastOrder او انا كاتب الشروط بشكل غير صحيح ؟
دالة الربح بدلالة الكومنت كالتالي:
الاغلاق العكسي خاطئ فلم تضع شروطه الخاصة!
عموما جرب الكود التالي بحيث LotsMP1 مضاعفات الصفقة المغلقة ، و LotsMP2 مضاعفات الصفقة المفتوحة
وسيضل يضاعف إذا لم تحقق الصفقة الهدف
بارك الله بك يا حسن، ربي يوفقك و يرزقك .
LotsMP1 مش شغال بيفتح الاوردرات بنفس اللوت الاول اذا كان خساره او ربح
LotsMP2 شغال مضاعفات للأوردرات التاليه ولكن عند ضرب الهدف يستمر فى المضاعفات ايضاً وعند تحقيق خسائر يبداء من اول لوت
وإياك أخي الكريم
الشروط سليمة برمجيا ومنطقيا ولكن لن تتحقق بالسوق الحقيقي لانه صعب ان يكون الربح على الهدف يساوي فعليا الهدف بالاعدادات! بسبب اعادة تسعير وقفزات سعرية وتغير السبريد... لن يتحقق شرط التساوي بين الربح والهدف
لهذا الافضل اعتماد الربح فقط بالشروط كالتالي :
السلام عليكم
كالتالي:
ملف مرفق 12989
الصوره بتوضح المضاعفات فى حالة الربح ايضا احتاج تعديل الكود انه يستمر فى المضاعفات كما هو يعمل الان ولكن لا يبداء من اول لوت الا في حالة اخر اوردر T/P هنا يبداء من جديد
اما S/L او Close يكمل فى المضاعفات حتى اذا كان فى اوردر close على ربح يستمر ايضا لا يبداء من جديد الا ما اوردر يضرب الهدف
طيب لو حبيت ارسم الخطوط يدوي زي الصورة المرفقة
ايه الدوال الل اقدر اشتغل بيها ع الخطوط الاربعة؟ من حيث اختراقها اعلى واسفل كخطوط الدعم وهكذا
لا يمكن التمييز بين الصفقة المغلقة تلقائيا وبين الصفقة المغلقة على الهدف، إلا بمقارنة سعر الاغلاق مع سعر الهدف بشرط التساوي، ولكن هذا الشرط لن يتحقق على ارض الواقع بسبب تغيرات السوق من سبريد وقفزات سعرية وغيرها...
عموما مرفق الكود
السلام عليكم اخى الكريم لدي مشكله بسيطه وارجو منك الرد
لقد قمت باستدعاء مؤشر خارجى عن طريق دالة icustom ولاكن عند وضعها تحت الاختبار عن طريق print يعطى القيمه صفر
الاوامر المستخدمه لاستدعاء المؤشر هى
المؤشر نفسه مرفق
السلام عليكم حسن و الجميع.
حسن ممكن تعلمني طريقة كتابة دالة وظيفتها كالتالي:
انا عم احاول اكتب اكسبيرت يفتح صفقات كثيرة و يقوم بوضع كومنت محدد لكل صفقة،
المطلوب دالة ترجعلي هل هناك صفقة مفتوحة بدلالة كومنت محدد او لا.
مثال:
بعد تحقق شروط البيع على الخمس دقائق تايم فريم التي بالعادة لها كومنت
"Sell 5 min"
و بعد مرور بعض من الوقت تحققت شروط البيع مرة ثانية على فريم الخمس دقائق و لكن انا لا اريد من الاكسبيرت بفتح صفقة بيع اخرى لهذا التايم فريم لانه بالاصل هنالك صفقة مفتوحة،
لذلك اريدك ان تعلمني كتابة دالة تقوم باخبار الاكسبيرت ان هنالك صفقة مفتوحة بهذا الاسم مسبقا
"Sell 5 min"
شكرا حسن و ادعو لك الله ان ييسر لك امورك.
وعليكم السلام
دوال الاستدعاء سليمة، والقيمة 0 هي القيمة الافتراضية عند عدم وجود الاشارة بالشمعة 0
وعليكم السلام
دالة عدد الصفقات المفتوحة بدلالة الكومنت كالتالي:
حسن ربي يعطيك الف عافية و يرزقك
يا شباب بس حسن يساعدنا و جب ان ندعي له بالخير و على الاقل نضغط على الاعلانات بالموقع ك شكر بسيط لحسن
طيب ينفع نكتب نص يكون ان اذا تحقق ربح ولكن اكبر من عدد نقاط 100 نقطه ابداء من اول لوت ؟
نعم ينفع ولكن يجب ان تضع قيمة أقل من قيمة الهدف مراعاة لفارق السبريد وإعادة التسعير...
وبالتالي سيصبح الكود :
بارك الله فيك
وإياك أخي الكريم
السلام عليكم
ستستخدم الوظيفة ObjectCreate
راجع المشاركة التالية : دوال رسم خط عمودي، أفقي، مائل، الفيبوناتشي والكومنت على الشارت
مثال لدالة رسم خط افقي :
اظن لم تفهم سؤالي اخي حسن
لم اسأل عن كيفية رسم الخطوط
انا سارسمها يدوياً ولكن كيف استدعي تلك الخطوط المرسومة فعليا داخل الاكسبرت
مثلا شراء وبيع عند اختراقها