تشخیص تقاطع میانگینها (بدون ریپینت)
دو مقدار آخرِ بستهشده MA تند و کند رو مقایسه میکنه: تقاطعی که تو کلوز تأیید شده دیگه «وا نمیره»، برخلاف آزمون روی کندلی که هنوز در حال شکلگیریه.
کاربرد
یه سیگنال ورود کلاسیک ولی مطمئن — ضدریپینت همون چیزیه که بکتست رو از اجرای واقعی جدا میکنه.
پیشنیازها
MetaTrader 5, MQL5
MQL5
// Handles créés dans OnInit : iMA(.., 9, ..) et iMA(.., 21, ..)
int CrossSignal(int fastHandle, int slowHandle)
{
double fast[], slow[];
ArraySetAsSeries(fast, true);
ArraySetAsSeries(slow, true);
// Index 1 et 2 : uniquement des bougies clôturées
if(CopyBuffer(fastHandle, 0, 1, 2, fast) != 2) return 0;
if(CopyBuffer(slowHandle, 0, 1, 2, slow) != 2) return 0;
bool crossUp = (fast[1] <= slow[1] && fast[0] > slow[0]);
bool crossDown = (fast[1] >= slow[1] && fast[0] < slow[0]);
if(crossUp) return 1;
if(crossDown) return -1;
return 0;
}نتیجه
2026.06.10 13:00:00.045 CrossEA (EURUSD,H1) MA9 : 1.08401 -> 1.08422 | MA21 : 1.08418 -> 1.08415 2026.06.10 13:00:00.046 CrossEA (EURUSD,H1) Croisement HAUSSIER validé à la clôture -> signal +1 2026.06.10 14:00:00.039 CrossEA (EURUSD,H1) MA9 1.08440 > MA21 1.08421 (déjà au-dessus) -> signal 0 2026.06.10 14:00:00.040 CrossEA (EURUSD,H1) Index 1-2 only : le signal ne peut plus se « dé-croiser »
MA CrossRepaintSignaliMA