Robby, это специально, чтобы не делать не нужные этапы оптимизации, например если Трал выключен(TrailStop=0) то зачем нам перебирать TrailStep и TrailStart отличные от стандартных?
if(TrailStop==0 && (TrailStep != 100 || TrailStart != 300)){Print("InputError: TrailStop=0, need set TrailStart=300 and TrailStep=100"); return (INIT_FAILED);}
if(CloseAfterBEPercent>0 && BreakEvenAfterPips==0){Print("InputError: BreakEvenAfterPips=0"); return (INIT_FAILED);}
if(DistancePendingAfterBE>0 && DeletePending>0){Print("InputError: DeletePending>0, need set DistancePendingAfterBE=0"); return (INIT_FAILED);}
if(BreakEvenAfterPips>TrailStart){Print("InputError: BE > TrailStart"); return (INIT_FAILED);}




