
    //
    // Enable Signaller ...
    bool EnableSXSIGNALLERNAMEignaller() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (mXSIGNALLERNAMEEnableSignaller) {
            return result;
        }

        //
        result = true;
        mXSIGNALLERNAMEEnableSignaller = true;

        //
        return result;
    }

    //
    // Disable Signaller ...
    bool DisbaleXSIGNALLERNAMESignaller() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (!mXSIGNALLERNAMEEnableSignaller) {
            return result;
        }

        //
        result = true;
        mXSIGNALLERNAMEEnableSignaller = false;

        //
        return result;
    }

    //
    // Allow Sginaller to Issue Long Signals ...
    bool EnableXSIGNALLERNAMELongs() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (
            !mXSIGNALLERNAMEEnableSignaller ||
            mXSIGNALLERNAMEAllowLongSignals
        ) {
            return result;
        }

        //
        result = true;
        mXSIGNALLERNAMEAllowLongSignals = true;

        //
        return result;
    }

    //
    // Disallow Signaller to Issue Long Signals ...
    bool DisbaleXSIGNALLERNAMELongs() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (
            !mXSIGNALLERNAMEEnableSignaller ||
            !mXSIGNALLERNAMEAllowLongSignals
        ) {
            return result;
        }

        //
        result = true;
        mXSIGNALLERNAMEAllowLongSignals = false;


        //
        return result;
    }

    //
    // Allow Signaller to Issue Short Sginals ...
    bool EnableXSIGNALLERNAMEShorts() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (
            !mXSIGNALLERNAMEEnableSignaller ||
            mXSIGNALLERNAMEAllowShortSignals
        ) {
            return result;
        }

        //
        result = true;
        mXSIGNALLERNAMEAllowShortSignals = true;

        //
        return result;
    }

    //
    // Disallow Signaller to Issue Short Signals ...
    bool DisableXSIGNALLERNAMEShorts() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (
            !mXSIGNALLERNAMEEnableSignaller ||
            !mXSIGNALLERNAMEAllowShortSignals
        ) {
            return result;
        }

        //
        result = true;
        mXSIGNALLERNAMEAllowShortSignals = false;

        //
        return result;
    }

    //
    // Check Market Base Conditions for Long Signals ...
    bool XSIGNALLERNAMEHasLongConditions() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (
            !mXSIGNALLERNAMEEnableSignaller ||
            !mXSIGNALLERNAMEAllowLongSignals
        ) {
            return result;
        }

        //
        return result;
    }

    //
    // Check Market Base Conditions for Short Signals ...
    bool XSIGNALLERNAMEHasShortConditions() {
        //
        bool result = false;

        //
        // Validate Args ...
        if (
            !mXSIGNALLERNAMEEnableSignaller ||
            !mXSIGNALLERNAMEAllowShortSignals
        ) {
            return result;
        }

        //
        return result;
    }
