Here is what will stop the “migrant caravan.” Immediately cut off all aid to every Central American country who encouraged this. If they are part of any “free trade area” with the US, jack up tariffs on them. Put them in so much pain that they never pull a stunt like this again.
Let's include Mexico in this to. Mexico is has been at war with America for years, relentless war of 1000 cuts, always on a low simmer. Whatever Mexico can do to harm American interests, they will do. Mexico has been the number one aider and abettor of this "caravan".
Trump should block all imports from Mexico.