النتائج 1 إلى 7 من 7
الموضوع: تعديل كود ليعمل علي أزواج الين
- 08-12-2022, 01:49 AM #1
تعديل كود ليعمل علي أزواج الين
تحيه طيبه... الرجاء عمل تعديل لهذا الكود ليعمل علي أزواج الين
ولكم جزيل الشكر....آخر تعديل بواسطة The Samurai ، 08-12-2022 الساعة 01:55 AM
- 08-12-2022, 11:58 PM #2
ما المشكلة؟
الذي يظهر لي أنه يعمل على أزواج الين كما يعمل على غيرها . .
مبرمجه يظهر لي أنه ممتاز جداً -- من الصف الأول . .آخر تعديل بواسطة سلمان_العتيبي ، 09-12-2022 الساعة 12:03 AM
- 09-12-2022, 12:22 AM #3
- 09-12-2022, 01:51 AM #4
لو غيرت الدالة الى OnTick سيحسب عادي وهو اساسا مصمم فقط لحساب ارباح الصفقات المغلقة بالنقاط فقط في صفحة هيستوري . . ولا دخل له بالتداول سواء في التستر او الحقيقي او الديمو او ايا كان
وتصميمه بالغ الذكاء . .
صاحب الموضوع . . .غير OnTester الى OnTick . . . هل تستمر مشكلتك؟
اا انحلت . . .يعني هناك خصائص خاصة بـ OnTester
لا تنسى void بدل int مع حذف عبارة return
- 09-12-2022, 10:17 AM #5
- 09-12-2022, 10:26 AM #6
- 09-12-2022, 12:50 PM #7
يمكن لايوجد صفقات مغلقة على زوج الين الذي اخترته؟؟
انت فاهم فكرة الاكسبيرت أخي؟
اذا لا . .
1) يحسب ارباح زوج محدد -- زوج التشارت
ثم بعد ذلك يحسب السورتينو والشارب ريشيو . .
عموما:
غير دالة التستر الى دالة ontick
انسخ والزق مكانها . .كود:void OnTick() { int trades=0, orders = OrdersHistoryTotal(); double totalPips=0, pips[]; ArrayResize(pips, orders); int pipDigits = Digits & (~1); Print(pipDigits); double pip = NormalizeDouble(1/MathPow(10, pipDigits), pipDigits); for (int i=0; i < orders; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) && OrderSymbol()==Symbol() && OrderType()<=OP_SELL) { pips[trades] = (OrderType()-(OrderType()^1)) * (OrderOpenPrice()-OrderClosePrice()) / pip; totalPips += pips[trades]; trades++; } } ArrayResize(pips, trades); double avgPips=0, sharpe=0, sortino=0; if (trades > 0) { avgPips = totalPips/trades; sharpe = CalculateSharpeRatio(pips, totalPips); sortino = CalculateSortinoRatio(pips, totalPips); } Print("trades=", trades, " totalPips=", DoubleToStr(totalPips, 1), " avgPips=", DoubleToStr(avgPips, 2), " sharpe="+ DoubleToStr(sharpe, 4), " sortino=", DoubleToStr(sortino, 4)); }