4 مرفق (ق).
مرحبا جميعا وسنة جديدة سعيدة لك!
أدرج في مقالتي مدونة للحصول على EA لقد وضعت.
أنا جعلت ذلك باستخدام:
http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/
نظرًا لأن الرسم البياني يظهر لزوج العملة اليوروالدولار الأمريكي ، فإنه يعمل جيدًا بالنسبة إلى الفروات في بعض الأحيان على إعدادات الرسم البياني اليومي ، وإن كان عدد قليل جدًا من الصفقات خلال فترة العامين ونصف العام.
كما أنه يعمل بشكل جيد مع بعض التخصصات الإضافية ولكن ليس كلها.
لقد اختبرت أنه يحتوي على TP كإعداد مسبق ، وقم بتعطيل TP بحيث تلتزم SL بالتوجيه إلى إغلاق الصفقات نظرًا لأن عددًا قليلاً إذا وصل البعض إلى مستوى TP.
لقد أضفت إدارة الأموال إليها حيث تمتعت الأشياء.
إن المشكلة التي أواجهها هي بغض النظر عن ما أقوم به من خلال إعدادات الإدخال ، حيث لا يمكنني البحث عن تحديد قيم التجارة بأقل من 0.1 لكل 1 كيلو. من المثير للاهتمام أن العواقب تظهر من خلال ما سبق ذكره بناءً على 1000 رصيد أول وتداول تبدأ من 1 دولار لكل نقطة !!!
أمنيتي ذات شقين مع الثانية ذات الأهمية الأقل:
1. لامتلاك تصريح إدارة الأموال ل Microlots.
2. لامتلاك EA متناغم مع 5 أرقام وسطاء.
3. هل قلت الثالثة؟
لا ، ولكن واجهت صعوبة في أن تكون لعبة Stealth Trailing Stop بمثابة مكافأة رائعة
يا رب أحس صفيق الآن
إذا كان أي شخص يمكن أن يساعد في هذا سأكون في غاية الامتنان ومشاركة EA لاستخدام الآخرين.
شكرا لك مقدما!
مع تحياتي،
ديفيد (وزير الخارجية).
رمز EA:
//p ----------------------------------------------- -------------------
//| يتم إنشاء هذا MQL بواسطة Expert Advisor Builder |
//|
http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/|
//| |
//| في أي حال من الأحوال المؤلف سيكون مسؤولا عن أي أضرار على الإطلاق. |
//| استخدام على مسؤوليتك الخاصة. |
//| *************** تم تجميعها من أجل مخططات DAY *************** |
//| |
//| **** من إنتاج: **** |
//| **** ديفيد كولسون () **** |
//| |
------------------- لا تقم بإزالة هذا الرأس --------------------
#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL Two
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
#property
#property Hyperlink http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/
extern int MagicNumber = 0123490؛
extern bool SignalMail = False؛
منطوق خارجي EveryTickMode = خطأ
الكثير مزدوجة الخارجي = 0.1.
منطق خارجي UseMM = صحيح ؛
خارجي مزدوج LotsPer1000 = 0.1 ؛
extern int Slippage = 3؛
منطوق خارجي UseStopLoss = True؛
extern int StopLoss = 2000؛
منطوق خارجي UseTakeProfit = صحيح
extern int TakeProfit = 2000 ؛
منطوق خارجي UseTrailingStop = صحيح ؛
extern int TrailingStop = 350 ؛
كثافة العمليات
الحالية الحالية ؛
منطقي TickCheck = خطأ ؛
// ----------------------------------------------- -------------------
//| وظيفة التهيئة المؤيدة |
//p ----------------------------------------------- -------------------
int init ()
BarCount = القضبان ؛
إذا (EveryTickMode) الحالي = 0؛ خلاف ذلك الحالي = 1 ؛
عودة (0)؛
// ----------------------------------------------- -------------------
//| وظيفة إزالة التطهير الموالية |
// ----------------------------------------------- -------------------
int deinit ()
عودة (0)؛
// ----------------------------------------------- -------------------
//| خبير يبدأ العمل |
// ----------------------------------------------- -------------------
int start () {
int order = SIGNAL_NONE؛
int كاملة ، تذكرة ؛
وضع StopLossLevel مزدوجًا ،
إذا كان (EveryTickMode Bars! = BarCount) TickCheck = False؛
Complete = OrdersTotal () ؛
الطلب = SIGNAL_NONE ؛
// ----------------------------------------------- -------------------
//| متغير يبدأ |
// ----------------------------------------------- -------------------
double Buy1_1 = iStochastic (NULL، 0، 15، 8، 4، MODE_SMA، 0، MODE_MAIN، Current 0)؛
ضعف Buy1_2 = 65 ؛
double Buy2_1 = iStochastic (NULL، 0، 15، 8، 4، MODE_SMA، 0، MODE_MAIN، Current 1)؛
ضعف Buy2_2 = 65 ؛
double Buy3_1 = iStochastic (NULL ، 0 ، 15 ، 8 ، 4 ، MODE_SMA ، 0 ، MODE_MAIN ، Current 2)
ضعف Buy3_2 = 65 ؛
double Sell1_1 = iStochastic (NULL ، 0 ، 15 ، 8 ، 4 ، MODE_SMA ، 0 ، MODE_MAIN ، Current 0)
مضاعفة Sell1_2 = 35 ؛
double Sell2_1 = iStochastic (NULL، 0، 15، 8، 4، MODE_SMA، 0، MODE_MAIN، Current 1)؛
مضاعفة Sell2_2 = 35 ؛
double Sell3_1 = iStochastic (NULL ، 0 ، 15 ، 8 ، 4 ، MODE_SMA ، 0 ، MODE_MAIN ، Current 2)
مضاعف Sell3_2 = 35 ؛
// ----------------------------------------------- -------------------
//| نهاية متغير |
// ----------------------------------------------- -------------------
//تقييم المكان
منطقي IsTrade = خطأ ؛
لـ (int I = 0 ؛ I lt؛ Total ، I )
OrderSelect (I، SELECT_BY_POS، MODE_TRADES)؛
إذا كان (OrderType () lt؛ = OP_SELL OrderSymbol () == Symbol ())
IsTrade = صحيح ؛
إذا (OrderType () == OP_BUY)
// ----------------------------------------------- -------------------
// ----------------------------------------------- -------------------
//آخر
// ----------------------------------------------- -------------------
إذا (Order == SIGNAL_CLOSESELL ((EveryTickMode!))
//p ----------------------------------------------- -------------------
//| تبدأ الإشارة (الدخول) |
// ----------------------------------------------- -------------------
if (Buy1_1 gt؛ Buy1_2 Buy2_1 lt؛ Buy2_2 Buy3_1 lt؛ Buy3_2) Order = SIGNAL_BUY؛
if (Sell1_1 lt؛ Sell1_2 Sell2_1 gt؛ Sell2_2 Sell3_1 gt؛ Sell3_2) Order = SIGNAL_SELL؛
// ----------------------------------------------- -------------------
//| نهاية الإشارة |
// ----------------------------------------------- -------------------
//يشترى
إذا (Order == SIGNAL_BUY ((EveryTickMode!) TickCheck) || (! EveryTickMode (أشرطة! = BarCount)))) {
إذا (! IsTrade) {
//تقييم الهامش المجاني
if (AccountFreeMargin () lt؛ (1 * Lots))
طباعة (ليس لدينا أي أموال. الهامش المجاني = ، AccountFreeMargin ()) ؛
عودة (0)؛
إذا كان (UseStopLoss) StopLossLevel = Ask - StopLoss * Stage؛ آخر StopLossLevel = 0.0 ؛
إذا كان (UseTakeProfit) TakeProfitLevel = اسأل TakeProfit * Point ؛ آخر TakeProfitLevel = 0.0 ؛
تذكرة = OrderSend (Symbol () ، OP_BUY ، CalculateLots (UseMM، LotsPer1000، Lots) ، اسأل ، Slippage ، StopLossLevel ، TakeProfitLevel ، Buy (# MagicNumber ) ، MagicNumber ، 0 ، DodgerBlue)
if (تذكرة gt ؛ 0)
if (OrderSelect (تذكرة ، SELECT_BY_TICKET ، MODE_TRADES))
طباعة (فتح أمر الشراء: ، OrderOpenPrice ())
if (SignalMail) SendMail ([تنبيه الإشارة] ، [ الرمز () ] DoubleToStr (اسأل ، أرقام) فتح الشراء)
آخر
طباعة (خطأ في فتح أمر BUY: ، GetLastError ()) ؛
إذا (EveryTickMode) TickCheck = صحيح ؛
إذا (! EveryTickMode) BarCount = أشرطة؛
عودة (0)؛
}
}
//يبيع
إذا كان (Order == SIGNAL_SELL ((EveryTickMode!) TickCheck) || (!
إذا (! IsTrade)
//تقييم الهامش الحر
if (AccountFreeMargin () lt؛ (1 * Lots))
طباعة (ليس لدينا أي أموال. الهامش المجاني = ، AccountFreeMargin ()) ؛
عودة (0)؛
إذا كان (UseStopLoss) StopLossLevel = Bid StopLoss 0.0 Point؛ آخر StopLossLevel = 0.0 ؛
إذا كان (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point؛ آخر TakeProfitLevel = 0.0 ؛
تذكرة = OrderSend (Symbol () ، OP_SELL ، CalculateLots (UseMM، LotsPer1000، Lots)، Bid، Slippage، StopLossLevel، TakeProfitLevel، Economy (# MagicNumber )، MagicNumber، 0، DeepNink
if (تذكرة gt ؛ 0)
if (OrderSelect (تذكرة ، SELECT_BY_TICKET ، MODE_TRADES))
طباعة (تم بيع طلب البيع: ، OrderOpenPrice ())
if (SignalMail) SendMail ([Signal Alert] ، [ Symbol () ] DoubleToStr (Bid، Digits) Open Economy)؛
آخر
طباعة (خطأ في فتح ترتيب SELL: ، GetLastError ()) ؛
إذا (EveryTickMode) TickCheck = صحيح ؛
إذا (! EveryTickMode) BarCount = أشرطة؛
عودة (0)؛
إذا (! EveryTickMode) BarCount = أشرطة؛
عودة (0)؛
}
// ----------------------------------------------- -------------------
#define LOTS_PRECISION 1
CalculateLots (الاستخدام المنطقي ، والكثير المزدوج ، 1000)
إذا كان (! UseMM) بإرجاع (الكثير) ؛
عودة (NormalizeDouble (AccountBalance ()1000 * lotsPer1000، LOTS_PRECISION))؛
.
https://www.cavemantrading.com/crypt...te-orders.html
https://www.cavemantrading.com/crypt...dealer-ea.html
https://www.cavemantrading.com/forex...os-system.html
https://www.cavemantrading.com/crypt...de-copier.html