deriv-com / deriv-api

Websocket API for deriv.app
MIT License
56 stars 97 forks source link

Can't get assets or trade digits in vix. #93

Open eodicarvallho opened 2 years ago

eodicarvallho commented 2 years ago

First, Tried to operate digits, but dont get return, if i change from DIGITOVER to CALL, it works fine. `async function main() { try { let gstake = 1;

    const account = await api.account(token);

    const { balance, currency } = account;

    console.log(`Your current balance is: ${balance.currency} ${balance.display}`);

    balance.onUpdate(() => {
        console.log(`Your new balance is: ${balance.currency} ${balance.display}`);
    });

    let data = {
        contract_type: 'DIGITOVER',
        currency,
        amount: gstake,
        duration: 5,
        duration_unit: 't',
        symbol: 'R_100',
        basis: 'stake',
        barrier: 2,
    };

    let contract = await api.contract(data);

    contract.onUpdate(({ status, payout, bid_price }) => {
        switch (status) {
            case 'proposal':
                return console.log(
                    `Current payout: ${payout.currency} ${payout.display}`);
            case 'open':
                return console.log(
                    `Current bid price: ${bid_price.currency} ${bid_price.display}`);
            default:
                break;
        };
    });

    // Wait until payout is greater than USD 19
    await contract.onUpdate().pipe(find(({ payout }) => payout.value >= expected_payout)).toPromise();

    const buy = await contract.buy();

    console.log(`Buy price is: ${buy.price.currency} ${buy.price.display}`);

    // Wait until the contract is sold
    await contract.onUpdate().pipe(find(({ is_sold }) => is_sold)).toPromise();
    await api.basic.forgetAll();

    const { profit, status } = contract;

    console.log(`You ${status}: ${profit.currency} ${profit.display}`);
    if(status == "loss") {
        gstake = gstake * 2.15;
    } else {
        gstake = 1;
    }
    api.basic.forgetAll('proposal', 'proposal_open_contract');

} catch (err) {
    console.error(err);
} finally {
    // Close the connection and exit
    //api.basic.disconnect();
}

}`

Second, tried to get assets and open markets, with const assets = await api.assets(); const open_markets = assets.open_markets; const trading_times = assets.trading_times;

Got an error, saying that assets is not a function.

edwinsmasher commented 1 year ago

Hello, Did you manage to solve this? "Got an error, saying that assets is not a function."

JamesK254 commented 1 year ago

this is because this package is kinda depreciated and doesn't go with the changes being made on the deriv api