I'm trading Crypto
I've been search for this for most of the day now, and I'm not finding a clear example. 

Is there a way to set the fee to be based on the order amount in USD. 

I see how to set a specific amount, but Gdax charges .0025 USD per transaction. So I need it to change per transaction, and not always be set to 4 cents. 
Securities[ticker].FeeModel = new ConstantFeeTransactionModel(0.04m);   

string tickersString ="BTCUSD,ETHUSD,LTCUSD";

public override void Initialize() 
    SetStartDate(2018, 1, 1); 
    SetEndDate(2018, 1, 25);
    string[] tickers = tickersString.Split(new string[1] { "," }, StringSplitOptions.RemoveEmptyEntries);
    foreach (string ticker in tickers)
        Symbol symbol = QuantConnect.Symbol.Create(ticker, SecurityType.Crypto, Market.GDAX);
        AddCrypto(symbol, resolution);
        Securities[ticker].FeeModel = new ConstantFeeTransactionModel(0.04m); 
        StockData stockData=new StockData();
        stockData.emaOfChanges1Indicator = new ExponentialMovingAverage(emaOfChanges1Length);
        stockData.emaOfChanges2Indicator = new ExponentialMovingAverage(emaOfChanges2Length);