It might help if we knew more about your controls and space used. You threw me with "program an 022".... in particular "program" ...Trigger? (time to only call them turnouts so "switch" can be used in electrical or verb context without confusion)
This is two reverse loops connected by one line, or a siding with a grade and reverse loop? (I guess it would just be repeated on each end, but Im having trouble following you as well, e.g. No picture or track diagram to use to avoid some of those 1000 words? It helps tons IMO.
Magnetraction has little downhill effect compared to non-magnetic on mine. But as a note, my line normally has a designated loco with Magnetraction on it. If anything, it takes less voltage than others. But that is normal for that loco. Other locos of both types need more than 6v and ive not noticed much difference between non/mag and mag locos to even make note of it.
A pair of diodes, wired bands opposite, back to back, legs tied.(opossed but parallel) Now those, inserted into the center rail wire(series) will lower voltage 0.75v, two pairs in series = -1.5v etc. This will not lower amps (good)
But a resistors effect will vary both volt and amp, and at various rates depending on input/draw at the moment. The ceramic resistors, much larger than diodes too.
So diodes are a very cheap & simple way of lowering voltage but leaving amps for use. Resistance will drop both. Ok, but I like the diodes better overall.
So, you have regular power, and need three levels total. Regular power will = high (say 15v), 3 paired diodes(6) added = med. for level track -4.5v (10.5v), and 6 paired = low -9v (6v)... one feed split into 3 feeds. Now to distribute them. (switches can vary the number of diodes dropped/added at the moment too)
Trigger method is almost redundant. You need to auto-drop or raise the volts on blocks containing grades. A relay will do that and it could be triggered by various methods. Placement location of triggers and why are of far more importance than how.
Some pushing or pulling needs extend beyond the visuals of grade vs straight. E.g. climbing a grade, you still need a power increase beyond the peak and onto the elevation because the loco is done climbing, but the train is still on the grade being pulled out of the hole.
Becuase of this two additional blocks at the far ends of the elevated sections might work best for you. These would switch between hi/med.
It's also why a diagram is MUCH easier to work from. Distances, points, consist lengths can impact where or if some triggers and blocks are even needed.
Push of cars during decent isn't as big a factor because you usually have the loco near drop out voltage anyhow, you really can't slow more. You want command control and dynamic braking if you want more low end control than that.... or less cars.
So... on the el. block #1 , el end by peak #2, grade #3, rev.loop #4 (mirror if there are two rev. loops & two grades)
Blk#1 med pwr, blk#2 sw/med.& hi, blk#3 sw/lo&hi, blk#4 med.
Loco on #1traveling to #2: #1 trigger sets #2 to med(no loco change), loco passes #2 and #2 trigger sets #3 into low. loco enters #3 and slows decending. At block #4 power is med. always just as #1 so Loco returns to normal speed. On #4 trigger moves #3 and #2 to hi to climb out. Once on #2 again#3 is switched back to low, but loco is past it.
The limiting factor is how long the train might be. It can't be longer than the distance between the two grade triggers on #2 and #4.
Drawback is lighted cars will dim or grow bright depending on position on the layout. Lighted cars may need mods so they don't bridge block power, feeding a low pwr, with hi pwr up one roller across the bulbs and out the other roller. (single roller lit cars don't have the issue) Fast acting polyfuses can be placed in dual roller cars to open so only one works for a split second until both are on the same track.
I'm gonna stop and see where this goes.