-
1 مرفق
سلام عليكم اخ حسن ارجو المساعده في عمل هذا اكسبريت في المرفق
يوجد في اعدادات خيار open وهذا الخيار هو سعر فتح الصفقه
فكرة اكسبريت بسيطه جدا على فرض open= 1.22000 يورو دولار
شرط فتح صفقة الشراء المعلقه=كلوز 0 اصغر من open الموجوده في الاعدادات and شمعه هابطه and الفرق بين كلوز 0 وopen الاعدادات = 10 نقاط
طبعا كل شرح السابق مطبق داخل اكسبريت بحذافيره تعديل يلي انا عاوز اعدله انا وضعة open =1.22000
وسعر طلع برات نطاق 1.22000 خالص هنا وقف عمل اكسبريت لازم اعدل السعر open يدويا على 1.21000 او على 1.2300
انا عاوز السعر يتحدد اتوماتيك كل 100 نقطه او خمسين نقطه هل هاد ممكن وشكرا جزيلا
-
1 مرفق
سلام عليكم اخ حسن ارجو المساعده في عمل هذا اكسبريت في المرفق
يوجد في اعدادات خيار open وهذا الخيار هو سعر فتح الصفقه
فكرة اكسبريت بسيطه جدا على فرض open= 1.22000 يورو دولار
شرط فتح صفقة الشراء المعلقه=كلوز 0 اصغر من open الموجوده في الاعدادات and شمعه هابطه and الفرق بين كلوز 0 وopen الاعدادات = 10 نقاط
طبعا كل شرح السابق مطبق داخل اكسبريت بحذافيره تعديل يلي انا عاوز اعدله انا وضعة open =1.22000
وسعر طلع برات نطاق 1.22000 خالص هنا وقف عمل اكسبريت لازم اعدل السعر open يدويا على 1.21000 او على 1.2300
انا عاوز السعر يتحدد اتوماتيك كل 100 نقطه او خمسين نقطه هل هاد ممكن وشكرا جزيلا
-
هذا النظام ليس للافراد "نحن" ولن توافق عليه شركات الوساطة مهما كانت قوتها وستعتبر صفقاته من نوع الاربيتراج المخالف لقوانين المضاربة
وأكيد نظام يحتاج إلى لغات برمجية أخرى ذات إمكانيات كبيرة وليس كالـ mql المحدودة وحاسوب قوي جدا...
-
وعليكم السلام
المرجو التوضيح بصورة من الشارت
-
1 مرفق
https://www.fxprg.com/vb/attachment.p...tid=4930&stc=1سلام عليكم اخ حسن هي صوره التوضيح وبرجو انك تنزل اكسبريت بشان تحسن تفهم يلي بدب ياه اكتير وشكرا جزيلا
-
وعليكم السلام
لم افهم المطلوب فالشرح غير واضح
-
سلام عليكم اخ حسن
المطلوب با ختصار طريقه تحديد السعر اتوماتيك من قبل الاكسبريت بفارق 100 نقط صعودا ونزول وبس لما تنزل اكسبريت عندك لحالك لح تعرف المطوب يعني من شو عم يعاني الاكسبريت
طلب تاني طريقة عمل كود max order
على فرض max order =10
عند كل اشارة شراء او بيع يفتح صفقه واحده فقط الى حد 10 صفقات وشكرا
-
عايز دالة تقفل اخر اوردر فقط بدلالة النوع حتى لو عندنا الف اوردر
وفي نفس الوقت تقفل بعد اغلاق الشمعة الجديدة
-
1 مرفق
الدالة كالتالي (وبالمرفق) :
-
اخي حسن وضح الدالة ماذا تفعل ؟
لا هي بتقفل اخر اوردر بدلالة النوع ولا بتقفل بعد اغلاق شمعة
اخبرني بتفاصيل الدالة وكيف استدعيها داخل الدالة لتعمل مع كل تكة وبشروط عند الاغلاق
-
1 مرفق
في الأصل غير ممكن عمل دالة اغلاق آخر صفقة دون صفقات قبلها التي من نفس النوع، لأنه عند إغلاق الصفقة الأخيرة تصبح الصفقة السابقة هي الاخيرة وهكذا سيغلق كل الصفقات
لهذا يوجد شرط الفوليوم، أي بمجرد اغلاق أول صفقة وبعدها تحقق فوليوم الشمعة أكبر من الصفر يعود إلى بداية الدالة فيجد شرط الفوليوم غير محقق ويتوقف عن الاغلاق، وبالتالي يتم إغلاق صفقة واحدة الأخيرة
وبهذا يشترط وجود تنفيذ سريع وجيد بشركة الوساطة، لأنه إذا قفز السعر أو لم يتم الاغلاق عند التنفيذ لن يتحقق الشرط من جديد إلا بشمعة جديدة
الدالة بدلالة النوع بالمرفق
-
-
-
عايز دالة عند تحقق الشروط في الدقيقة الاولى من افتتاح الشمعة يفتح الصفقة غير كده لا يفتح صفقات حتى لو تحققت الشروط في الدقيقة الثانية او الثالثة ... الخ.
فرضا اني شغال على فريم 4 ساعات او فريم الساعة
-
السلام عليكم
ستقارن التوقيت الحالي مع توقيت افتتاح الشمعة كالتالي:
60 ثانية
-
شكرا ياهندسة
جاري التجربة ...
-
-
آخر تقاطع لمؤشر rsi
السلام عليكم
يرجى تصحيح الكود التالي وهو لمعرفة آخر تقاطع لمصفوفة أزواج مع مستوى 70 لمؤشر RSI (يعني هل آخر تقاطع كان لمستوى 70 او 30 )
-
وعليكم السلام
جرب الكود التالي
بحيث إذا كان آخر تقاطع لمستوى 70 ستكون نتيجة الدالة 1، وإذا 30 ستكون النتيجة 1-
-
لم تنجح أستاذ نفس نتيجتي السابقة -لا توجد رسائل خطأ في الجورنال - ودائما يعيد القيمة 1
-
طيب استخدم الدالة بدلالة الزوج وعند استدعائها تضع اسم الزوج
مثال :
-
مشكور جدا ...نجحت بالطريقة الأخيرة ....السؤال أين كان الخطأ في الكود الذي كتبته انا أو الكود في ردك الأول ....منطقيا الكودات صحيحة ولا يوجد أخطاء في الجورنال لماذا النتائج غير صحيحة كانت ؟؟؟؟
-
هذا على حسب كيف عرفت المصفوفة pairs، بحيث دالة الاستدعاء LastBreak لا تتعرف على ما بداخل المصفوفة
-
السلام عليكم
اذا سمحتوا شباب ابحث عن فونكشن تحسب حجم لوت بناء على الاستوب بمواصفات خاصة تطبق الشروط التالية :
1- نسبة المخاطرة تحسب حسب وقف الخسارة مثلاً وقف الخسارة 5 نقاط اذا ضرب الاستوب بكون خسرت 1 % او بمرر لها قيمة مثل 0.5% يعني اقل من 1 %
2- اذا دخلنا الصفقة صاحبة ماجك نمبر مثلا 12345 ضرب فيها الاستوب على خسارة ونحن اساسا قمنا بدخول بحجم لوت 1 % فيها ..الصفقة القادمة بما اني خسران فيها يدخل بنفس حجم لوت الخسران "يحمل نفس ماجك نمبر " وهذا لايعني ضرب الاستوب ندخل بنفس العقد لا لانه اساسا نستخدم تريلنج الاستوب ومطارده الارباح وشيئ طبيعي يضرب الاستوب وقد يضرب على ربح .. لكن الفونكشن تقوم بفحص مالمحصلة التي ضرب عندها وقف الخسارة هل في ربح ؟ او في خسارة ؟ اذا في ربح تستعمل بالعقد التالي النسبة التي قمنا بتمريرها مثلا 1% وعند الاغلاق على خسارة يتجاهل النسبة ويدخل باخر عقد خسرنا فيه والذي يمتلك نفس ماجك نمبر لانه ممكن نشغله ع اكثر من زوج وكل زوج يكون له ماجك نمبر خاص به ..
3- هذه الخاصية بنفس الفونكشن تكون اكثر تهوراً بالادارة المالية طبعا تكون اختياريه مثل يكون معرفين متغير من نوع bool اسمه fixed اذا كان true عند تشغيل الاكسبيرت يشوف ماهو اعلى مبلغ موجود بالحساب مثلا 500$ دخل بعقد 0.10 وضرب الاستوب يقوم الكود بالنظر للحساب هل هو 500$ او اكثر ؟ اذا اقل او يساوي يفتح نفس العقد الخسران ويتجاهل النسبة يعني يرجع يفتح 0.10 اصبح المبلغ مثلاً 510$ هنا الكود يشوف الحساب ويخزنها بمتغر مثلا maxAccount ويبدء يدخل بنسبة 1% فرضاً اعطانا 0.11 وضرب عندها الاستوب واصبح المبلغ 505$ هنا خسرنا يتجاهل النسبة 1% ويرجع يدخل بعقد 0.11 وهكذا ...
طبعا الخاصية رقم 3 تكون اختيارية
بالاخير الفونكشن وظيفتها فقط تعيد لي حجم العقد وانا افقط استدعيها
إن شاء الله ماتكون الفكرة معقدة :pride:
جزاكم الله خير
-
https://www.fxprg.com/vb/showthread.php?t=31457&p=877518&viewfull=1#post877 518
طيب ولو عايز اقول في الخمس دقايق الاولى الشروط لم تكتمل
وبعدين اكتملت في الدقيقة السادسة
-
سلام عليكم اخ حسن انا مساوي دالة
بدي من هل داله تعطين قمة cعند فتح الشمعه فقط وشكرا
-
ما بعرف ليش هيك عم تطلع داله بس لما خملها على موقع
double PV()
{
double P=Point*10;
double ihigh_0 = iHigh(NULL,PERIOD_M15, 0);
double ilow_0 = iLow(NULL, PERIOD_M15, 0);
double iClose_0 = iClose(NULL, PERIOD_M15, 0);
double P0 = (ihigh_0 + ilow_0)/2 ;
//----
double ihigh_1 = iHigh(NULL, PERIOD_M15, 1);
double ilow_1 = iLow(NULL, PERIOD_M15, 1);
double iClose_1 = iClose(NULL,PERIOD_M15, 1);
double P1 = (ihigh_1 + ilow_1 + iClose_1 + iClose_1)/4 ;
//----
double C=(P0-P1)/P;
return(NormalizeDouble(C,Digits));
}
-
وعليكم السلام
ستقوم باستدعاء الدالة لحظة افتتاح الشمعة فقط
مثال :
-
مشكور اخ حسن طيب انا استعيدت الداله بس عند افتتاح الشمعه شلون بدي حطها بي شرط البيع او الشراء
وسال تاني بي نسبه لي اوامر المعلقه سبريد وين منضيفوه يعني منضيفه بس على تك يروفت وستوب لوز ولا يوجد له اضافات تانيه وشكرا
-
ستقوم بأضافة الشرط
مع شروط فتح الصفقة
وبعد دالة OrderSend قم باضافة الصيغة أسفلها مباشرة:
* لكن سيتم فتح الأمر مرة واحدة بالشمعة ولن يتكرر بسبب تلك الشروط المضافة
بالنسبة للاوامر المعلقة ستقوم بحساب سعر الأمر المعلق بالأسك أو البيد على حسب نوع الأمر يعني الشراء المعلق بالاسك والبيع المعلق بالبيد وبهذا سيتم احتساب قيمة السبريد
-
شرط الشراء PV()>1&&PV()<10 بس طبعا قيمة pv عند افتتاح الشمعه
-
السلام عليكم
صباح الخير أستاذ حسن
لو تكرمت ماهو كود دالة تعديل الستوب لوس وفق مؤشر الباربوليك سار
بمعنى أنه دائما يتم تعديل الستوب لوس لكل شمعة حالية وفق القيمة الحالية للباربوليك سار
مع جزيل شكري لك مقدما
-
وعليكم السلام
دالة الموديفاي الصفقة حسب اشارة السار كالتالي:
-
كعادتك مبدع دائما أستاذ حسن
ألف شكر لك .. الله يخليك لنا يا غالي
-
السلام عليكم أستاذ
Point ماذا تعني ؟
عند كتابةالأمر التالي يعيد القيمة 0
Comment(Point);
اما في ملفات الريفرنس تم تعريفها :
The current symbol point value in the quote currency
-
-
وعليكم السلام
Point هي قيمة النقطة للزوج الحالي
مثلا لو سعر الزوج به 4 أرقام بعد الفاصلة تكون قيمةالنقطة 0.0001، أي أنه لو السعر ارتفع من 1.2001 إلى 1.2002 نقول أنه ارتفع بقيمةنقطة واحدة،
ولو السعر به 5 أرقام فالـ Point ستكون قيمتها 0.00001، أي لوارتفع السعر من 1.20001 إلى 1.20002 نقول أنه ارتفع السعر بقيمة نقطة واحدة وهذابرمجيا، لأنه في الحقيقة ارتفع تكة واحدة فقط وليس نقطة
لهذا نقوم بإضافة شروط لتقنين قيمة الـ Point حتى يتعرف قيمة النقطة سواء السعر كان 4 او 5 أرقام
نفس الشيء بأزواج الين وغيرها التي بها 3 أرقام بعد الفاصلة تكون قيمتها مثل قيمة الأزواج التي بها رقمين بعد الفاصلة
والشروط هي كالتالي نضعها بالدالة OnInit
بمعنى إذا كان عدد الارقام بعد الفاصلة أصغر قطعا من 4 (مثل ازواج الين) تكون قيمة النقطة 0.01
وإذا كانت عدد الارقام بعد الفاصلة أكبر من أو يساوي 4 مثل اليورودولار تكون قيمة النقطة 0.0001
وبهذا عوض استخدام الـ Point نستخدم الـ point المعرفة ببداية عمل الكود، حتى نتفادى مشكلة قيمة نقطة الاسعار باختلاف الأزواج والمنصات
-
1 مرفق
اخي العزيز حسن
كيف نجعل المؤشر يحسب للارقام الكثيره قبل الفاصله
مثال كما في الصوره
-
اذا تقصد قيمة النقطة point فلم يسبق لي التعامل بهذه الازواج، لكن يمكنك فعل ذلك بدراسة الزوج ومعرفة قيمته وتقارن هذه القيمة مع القيمة الافتراضية Point وعليه تستنتج شرط البوينت للزوج
-
لا اخي حسن اقصد مثلا هناك مؤشرات لا تعمل على الذهب فيقوم المبرمجون باضافه على الكود لتعمل مثل هذه الازواج
وهي تسمى digits اي يقوم المؤشر اتوماتيكيا بالتكيف مع الارقام قبل الفاصله وبعدها بحيث يعطي نفس النتيجه على كل الازواج والمعادن والنفط