Well, there are even more sophisticated approaches, that need even more modifications.
Please accept my apology as I am learning new ideas, to contribute to our community of creative thinking. Thank you.

Code
function run() {
    set(PARAMETERS);
    StartDate = 20190101;
    BarPeriod = 60;
    Capital = 2000;
    LookBack = 150;

    vars Open = series(priceOpen());
    vars High = series(priceHigh());
    vars Low = series(priceLow());
    vars Close = series(priceClose());
    vars NormClose = series(Close[0] / 100);

    int NumSignalsFirstLayer = 5; // Number of signals for the first neural network
    vars SignalsFirstLayer = series(NumSignalsFirstLayer);

    SignalsFirstLayer[0] = Open[0] - Open[1];
    SignalsFirstLayer[1] = High[0] - High[1];
    SignalsFirstLayer[2] = Low[0] - Low[1];
    SignalsFirstLayer[3] = Close[0] - Close[1];
    SignalsFirstLayer[4] = NormClose[0];

    // Outputs from the first layer
    var LongOutputFirstLayer = adviseLong(NEURAL + BALANCED, 0, SignalsFirstLayer, NumSignalsFirstLayer);
    var ShortOutputFirstLayer = adviseShort(NEURAL + BALANCED, 0, SignalsFirstLayer, NumSignalsFirstLayer);

    int NumSignalsSecondLayer = 2; // Number of signals for the second neural network
    vars SignalsSecondLayer = series(NumSignalsSecondLayer);

    // Use the outputs from the first layer as inputs for the second layer
    SignalsSecondLayer[0] = LongOutputFirstLayer;
    SignalsSecondLayer[1] = ShortOutputFirstLayer;

    var vLong, vShort, Threshold = 0.5;
    set(LOGFILE | PLOTNOW);

    if (adviseLong(NEURAL + BALANCED, 0, SignalsSecondLayer, NumSignalsSecondLayer) > Threshold)
        enterLong();
    if (adviseShort(NEURAL + BALANCED, 0, SignalsSecondLayer, NumSignalsSecondLayer) > Threshold)
        enterShort();

    plot("Long", vLong, NEW|LINE, BLACK);
    plot("Short", vShort, LINE, GREY);
}

Last edited by TipmyPip; 01/02/24 07:25.

ZorroTraderGPT - https://bit.ly/3Gbsm4S