From 3d2bafacaddb64caeff6f5b8e10addf21ac4f459 Mon Sep 17 00:00:00 2001 From: pietro_giacobazzi Date: Tue, 16 Jun 2026 10:05:56 +0200 Subject: [PATCH] PaPP v2: banda = min/max MA (range completo 8 timeframes) --- PaPP v2/PaPP_Median_EA.mq5 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/PaPP v2/PaPP_Median_EA.mq5 b/PaPP v2/PaPP_Median_EA.mq5 index 1349b9a..2347e2a 100644 --- a/PaPP v2/PaPP_Median_EA.mq5 +++ b/PaPP v2/PaPP_Median_EA.mq5 @@ -169,14 +169,14 @@ void OnTick() //--- Update TP/SL per tutte le posizioni con la mediana corrente UpdateTPSL(median); - //--- Dispersione MA = banda strutturale del cluster - int dc=0; double ds=0; - for(int m=0;m<8;m++) - if(mv[m]>0) { ds+=MathAbs(mv[m]-median)/median*100; dc++; } - double vol = (dc>0) ? ds/dc : 0; + //--- Banda = min/max dell'intero range di MA (nessun parametro) + double minMA=mv[0], maxMA=mv[0]; + for(int m=1;m<8;m++) + if(mv[m]>0) { + if(mv[m]maxMA) maxMA=mv[m]; } - double sellBand = median*(1+vol/100); - double buyBand = median*(1-vol/100); + double buyBand=minMA, sellBand=maxMA; double distPct = (bid-median)/median*100; int nBuy = CountPos(POSITION_TYPE_BUY); @@ -200,7 +200,7 @@ void OnTick() Print(""); Print("=== BAR: ",TimeToString(curBar)," ==="); Print("Bid=",DoubleToString(bid,_Digits)," Median=",DoubleToString(median,_Digits)); - Print("Dist=",DoubleToString(distPct,3),"% DispMA=",DoubleToString(vol,4),"%"); + Print("Dist=",DoubleToString(distPct,3),"% Range=",DoubleToString((maxMA-minMA)/median*100,3),"%"); Print("Trend: ",trendUp?"UP":trendDown?"DOWN":"MIX", " Allow: ",allowBuy?"B":"-",allowSell?"S":"-"); Print("Band: [",DoubleToString(buyBand,_Digits)," <- ",DoubleToString(sellBand,_Digits)," ] Pos: ",nBuy,"B ",nSell,"S"); for(int m=0;m<8;m++)