A summary of frequently asked questions (continuously updated...)

Author: The Little Dream, Created: 2018-02-02 10:41:38, Updated: 2024-03-22 09:16:25

[TOC]

A summary of frequently asked questions (continuously updated...)

  • How to search for a keyword in a post? UseCtrl + fThe key opens the page search and enters the keyword for example: "hosted by hosted"; then the page will be searched for all locations that contain the word hosted.

  • Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ's domestic stations.https://www.fmz.cn

  • Weighted:

    img

The API interface

  • Why?GetTickerandGetDepthReceivedBuy oneandI sold it.How would it be different?

    GetTickerandGetDepthIt may not be simultaneous; there is a certain delay, there is a change in the data; and in general it may be.GetTickerThe data is a little faster because the data is less.

  • exchang.GetOrdersIf you get a pending order, where do you get a pending order?

    And there's also an API for querying orders.exchange.GetOrderThis is based onIDSearch for all types of orders.IDFind out this order. The order to get a transaction is only to see if all transactions do not offer such an interface, and each exchange may offer different interfaces.

  • JavaScriptStrategy time string time reversal is incorrect

    Time zones in the system time setting should be considered.

    img

  • Why do I print the same opening and closing prices?

    1, it is possible that the exchange is not trading at the moment, which is the same as the high opening and low opening of the BAR. 2, see if the last BAR is observed, and if the last BAR is generated at the same moment, the high and low yields are the same.

  • Signature not valid:Invalid submission time or incorrect time format[无效的提交时间,或时间格式错误], such and server correction time errors

    The question iswindows2000/2003/XPFor example, comparing older operating systems, references:

    https://support.microsoft.com/en-us/help/821893/the-system-clock-may-run-fast-when-you-use-the-acpi-power-management-t

    Recommended useLinuxThe server, or where these problems occur.windowsThe system installs time synchronization software, high-frequency synchronization time, to prevent time verification errors.

  • Why is Ma?ATRTR) and the calculatedTA/talibIs there a difference in the calculations?

    The reason is the way the indicator is calculated and theTA/talibThe underlying algorithms are not consistent. Both are correct, but the algorithms are different and similar.MACDSome use double.DIF-DEASome use twice as much.DIF-DEAI'm sure you're right.

  • The name of the exchangeFutures_EsunnyWhat does this mean?

    RepresentativesThe Ease of Doing BusinessThe exchange's object can beexchange.GetName()The function returns. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ's domestic stations.https://www.fmz.cn

  • Mac language multi-cyclically references data in multi-cyclically referencing code blocks#EXPORTTEST...#ENDAfter declaring a good variable. Use when referring to the policy.REFIn this case, the data will be referenced according to the current cycle and the result will be different from what is imagined.

    All the data you need for multi-cycle data is in#EXPORTTEST...#ENDIt is handled internally and only used directly externally.

  • I cannot find the FMZ API documentation

    You can directly enter the page address:https://www.fmz.com/apiYou can also click on the link below:

    img

  • Why?MACDIs it the same as the exchange's value?

    In comparison, it is important to consider whether the K-line cycle is consistent.MACDWhether the indicator parameters are consistent, time period consistent, variety consistent, etc.MACDThere are several types of quantum column algorithms.DIF-DEAThere are2*(DIF-DEA)DIFandDEAIt should be consistent.

  • What is the relationship between the number of K-lines obtained when historical K-line data is collected?

    In the visitexchange.GetRecordsThe number of K-lines returned by the specific interface is determined by the exchange. The number of K-lines returned by each exchange may not be consistent.exchange.GetRecordsThe K-Line received by the custodian is continuously accumulated and requires a certain frequency of access.exchange.GetRecordsThe user interface, which may otherwise affect the continuity of the data.

  • I'm looking at the API documentationexchange.BuyThe function will only returnIDHow do you get so much information back?

    The FMZ API functions can generate log output functions such asLogexchange.Buyexchange.CancelOrderThe output parameters can be added after the necessary parameters; for example:exchange.CancelOrder(orders[i].Id, orders[j])That's what we're doing.orders[j]When you order this item, it comes with this order information.

  • How does WeChat push messages on a real disk?

    It's only valid on the hard drive.LogAdd characters at the end of the function'@'The article can be pushed.LogFor more information on function printing, see the API documentation:https://www.fmz.com/api#LogCurrently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ's domestic stations.https://www.fmz.cnCurrently, only FMZ's domestic stations support WeChat push.

  • Can commodity futures use main linked and index contracts?

    It supports commodity futures mainly for continuous contracts and index contracts. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ Domestic Station.https://www.fmz.cn

  • var records = exchange.GetRecords(PERIOD_D1)The code is to get the daily K-line, what is the daily K-line of the contract to get if the futures are on the real disk? How do I write the daily K-line data of a specific contract like a screw or iron ore?

    In commodity futures, the market must be set before the market is acquired.Contract code(At least once since the program started)SetContractType("rb1805")This sets up the current operating contract asrb1805Afterwards, the API to access the market can be called again to access the market data of the 1805 contract. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ Domestic Station.https://www.fmz.cn

  • How do you write the code of a commodity futures contract?

    The FMZ API documentation can be viewed here. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ Domestic Station.https://www.fmz.cn

  • exchange.GetAccountIs it because of other network issues, such as the failure of the FMZ system, or is it because the user has to handle the failure of the request himself?

    Failures may occur, requiring user error tolerance. FMZ underlay does not process data, feedback to the user is raw data, specific error tolerance or logic is defined by the policy. If this processing may affect the user's decision, the decision is handed over to the policy processing.Filtering out misinformationOrTry again.This is the same treatment.

  • What is the unit of volume of the OKEX contract? Is it the number of coins or the number of contracts?

    OKEX contracts are traded in FMZs by contract number, e.g.exchange.Buy(1000,1)The price is 1000 for one contract order.

  • Call on FMZexchange.Sellandexchange.BuyIs it the lowest price list?

    The first parameter is the price of the order. Some exchanges support market price lists, price parameter input.-1This means that for the quoted price list, the amount bought and sold has slightly different meanings (the second parameter), and the price is not the same as the price of the stock.-1Most of the spot exchanges place orders on the interface, and the quantity of orders placed at the market price is the same.AmountIt's notCoinsThe digital currency futures exchange interface, the number of contracts is generally an integer. See the single interface below:https://www.fmz.com/api#exchange.buyprice-amount https://www.fmz.com/api#exchange.sellprice-amount

  • The Mail function

    Mail("smtp.qq.com", "xxxx@qq.com", "xxx", "xxx@qq.com", "test title", "test body")
    

    Smtp for QQ203.205.232.7Over time, the vast majority of cloud servers have basically blocked 25 ports, except for physical servers, where the carrier basically does not block 25 ports.

  • Pine language, Mac language template parameters: The number of longest cycles of a variable affects the calculation of the indicator

    By default, the "longest cycle number" of the variable is 600, and if the parameter is set too large, such as calculating MA ((1000) ─ the mean of 1000 data cannot be calculated because the system only retains 600 data.

Reported error

  • InternalError: arg1 type error is found This is the first time I've seen this.

    function main() {
        _G(11212, "123")
    }
    

    _GThe function key name cannot be of a numeric type.

  • Infinite recursion call error: signal arrived during external code execution

    Judging by this feature: Exception 0xc00000fd

    Exception 0xc00000fd 0x1 0x5cdd203f40 0x1ee5955
    PC=0x1ee5955
    signal arrived during external code execution
    
  • The hard disk page will have console output information (runtime error), such as an example of triggering a memory overflow:

    def create_large_list():
        large_list = []
        while True:
            large_list.append(" " * 1024)  # Append a string of 1024 bytes to the list
            print(f"Current list size: {len(large_list)}")
    
    def main():
        create_large_list()
    
  • Syntax error: variable name expected

    Check for error prompts in the policy code editor area, check for var name = a when forgetting to write name (no variable name) ; check if the programming language keyword was used when setting the policy interface parameter, it is not recommended to use a common programming language keyword for variable naming, which can easily cause conflicts (even if the current programming language does not have this keyword).

  • BITMEX429 mistakes, and it's not a good idea.{"error":{"message":"Rate limit exceeded retry in 1seconds……"}}

    Seeing a 429 error means that the frequency of access to the exchange interface is too high.

  • Reported errorOnly support CTP

    In theStrategy for digital currencyI called.Commodity futures CTPThe user interface or class library. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ Domestic Station.https://www.fmz.cn

  • The real thingBittrexThe error message:{"success":false,"message":"NOT_ALLOWED","result":null}

    The exchange has restricted permissions, sign inBittrexThe exchange's website, to see if you need to check for information such as user agreements.

  • I've been trying to get a copy of this file.TypeError:value has no property at

    img

    The error message is different from the real-time error message, so the error message cannot be detected by the retest.

  • unable to open databaseReported error

    imgWhat if it was an Apple computer?Mac OSPlease check to see if this is a permission issue. The device's hard disk is full of space and the database files on the hard disk cannot be created, causing an error.

  • The error message:不支持该功能

    The exchange object added during the retest is the digital currency spot exchange, which calls the API function of the futures in the code.

  • The error message:in SetCurrency OSError: exception: access violation reading 0x000000FCF25F0000

    In addition, the number of digital currency futures is increasing.PythonThe strategy is to use private hosts to switch between transaction and error reports in code. The reason is that the retesting system does not support digital currency futures retesting swap pairs.

  • Error report decrypt [Picture from the video]imgAn error was reported due to a modified password for the FMZ account, which caused the configured API KEY to fail. Solution: Re-configure the exchange API KEY, stop the custodian, restart the custodian, and then try to start the live disk again.

  • PythonLocal retrieval engine, error reportingEOFerror

    EOFThe error is the end of the retest error can capture the anomaly just go can be in any supportPythonThe local call.

    # encoding: utf-8  
    
    '''backtest
    start: 2021-08-30 00:00:00
    end: 2022-09-05 00:00:00
    period: 1d
    basePeriod: 1h
    exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
    '''
    
    from fmz import *
    task = VCtx(__doc__)             # initialize backtest engine from __doc__  
    
    def main():  
    
        while not exchange.IO("status"):
            Sleep(1000)
        exchange.SetContractType("swap")
        
        while True:
            bars_1min = _C(exchange.GetRecords, PERIOD_M1)    # 获取1minK线              
            print(len(bars_1min))
            _CDelay(2000)      
    
    # 调用主函数  
    
    try:
        main()
    except:
        print(task.Join(False))
    
  • The Mac language involves a very subtle problem of cyclic computation, where the calculated value may have N/A, for example:

    img

    The reason is that the calculation cycle parameter is beyond the data range, which leads to the calculation of the N/A value.

    img

  • Error reporting in the Mac language: parsing error, and the policy is only simple code, error reporting line number is long position, can not find the reason.

    This may be a problem with early Mac language templates. Solution: 1. Export the policy to an xml file. 2. Create a new empty Mac language policy. 3. Import the xml file into the newly created empty policy.

  • The error message:fatal error:unexpected signal during runtime execution...go routine 11[syscall,locked to thread]

    The inspectionC++Is the written policy using blank pointers, and it is recommended to retest the check using an error tolerance mode.

    img

  • Callingexchange.SetMarginLevel(10)The error message:Futures_OP 0:403:{"error":{"message":"Access Denied","name":"HTTPError"}}

    Examining an exchange applicationAPI KEYIf the permissions are enabled.

  • This is a mistake:symbol not set

    There are no contracts set in the futures exchange's callback code, see API documentationexchange.SetContractTypeThe function ≠ ∞

  • ERR_INVALID_POSITIONMistakes

    The response system reports errors, usually written errors for strategy. Attempting to close a position without a holding or with an insufficient number of holdings will cause this error, and checks whether there is a position freeze resulting from an outstanding order.

  • ERR_INVALID_ORDERMistakes

    Error reports, generally written for strategy, be careful to check the price of the order (the digital currency futures are temporarily not supported by the market list), whether the order volume is 0 or negative or decimal (the futures contract is a contract number is an integer).

  • ERR_INSUFFICIENT_ASSETMistakes

    The error in the feedback system is usually the number of available assets that are already less than the number of assets that are currently required for the order; simply put, there is no money to order.

  • Binding Error:Cannot passnon-string to std::stringError reports

    In policy code, it is common for an attribute name (using an undefined attribute) to be used incorrectly.

  • {"status":6004,"msg":"timestamp is out of range"}Mistakes

    The server timestamp is out of range and needs to be updated to the server time, which cannot deviate too much.

  • timeoutMistakes

    The error is a timeless error, which is caused by the failure to receive exchange interface response data for more than a certain time after accessing the exchange interface. It is usually a network access problem in the system where the custodian is located (many of which are caused by wall problems) or a problem with the exchange interface. The general solution is to run the custodian using servers in other overseas regions.

  • Error reporting when running a hard drive after writing a policy:syntax error invalid label

    The root of the problem:

    function main(){
        if(1){
            continue
        }
    }
    //这样会导致运行时报错
    

    continueThe phrase must be used in a loop!

  • The error:(CTP_T@9999)Error:140CTP:首次登录必须修改密码,请修改密码后重新登录What's the password change?

    This is a modification.simnowThe password of the account, when using the account of a particular futures company to log in, is also the first time that the password needs to be modified (the newly applied account starts with the initial password, without modification can not use the account). Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ Domestic Station.https://www.fmz.cn

  • The error message:400:{"error":{"message":"Nonce is not increasing.This nonce:1523891993165,last nonce:1523891993165","name":"HTTPError"}}

    About thenonceThe error in the verification, the error in the reportingnonceUsually the timestamp check fails, try to synchronize the time of the system where the host is using the disk.

  • Secretkey decrypt failedMistakes

    img

    The error message is:API KEYFailed to resolve. Check if configuredAPI KEYAfter modifying the password of the FMZ account, an attempt was made to reconfigure the page of the FMZ platform to add an exchange.API KEYThen restart the host, and then run the test on the hard drive again.

  • Commodity futures trading error reported:CTP:只能平仓

    Accounts shown只可平仓There are several reasons for the status: the account may have been frozen (not used for a long time, more than 1 year) or it may have been logged in the wrong way (CTP has a lot of seats); solution: contact the futures company that opened the account to check the status of the account to determine the problem. Currently, FMZ International Station only supports digital currency transactions. Commodity futures, equity securities and other transactions are supported by FMZ domestic stations.https://www.fmz.cn

  • Please useexchange.GetorderThis is a commonly reported error:GetOrder(455284455):Error:invalid order id or order cancelled.What could be the reason?

    Literally: order has been cancelled or order ID is invalid. Reason: Some exchange orders are cancelled and the exchange no longer maintains this order information, it is deleted.exchange.GetOrderThe query for this order will report this error, or the query ID itself will be incorrect.

  • rate limit, 429 Too Many Requests error reported

    img

    rate limit, 429 Too Many Requests(太多请求)Excessive frequency of access to the exchange interface in the strategy reduces the frequency of access to the exchange interface.

  • Re-test and real-time are always displayedInvalid order price/amount

    This kind of problem is caused by calling a single function.exchange.BuyOrexchange.SellThe time-input price and the lower unit values are caused by errors.Negative number of units0Let's see how to detect errors:exchange.Buyorexchange.SellCall before orderingLogThe price parameter or the quantity parameter that is about to be transmitted at the function output determines the following problem.

  • GetOrders:400:{"code":-1121,"msg":"Invalid symbol."}What's wrong with that?

    The error message is:The invalid transaction is correct.You are checking to see if the transaction pair setting is incorrect.

  • What does it mean to report some error codes in the logs?

    An explanation of the error code returned by each exchange's API interfaces can be found in the exchange's API documentation.

The real thing

  • Pine language, Mac language real-time earnings curve Print timed according to the settings on the Pine language/Mac language template parameters, and the policy will also print when fully flat.

  • The Mac language hard drive prints the signal trigger line numbers, but does not have any sub-order operations.

    It may be that the parameters of the Mac language template are not set properly, such as precision, minimum order precision, etc. The reason is that the signal trigger layer is successful in deciding, and the transaction execution layer is not actually deciding, due to some parametric problems. See posts related to the Ma language:https://www.fmz.com/digest-topic/5789 https://www.fmz.com/digest-topic/5768

  • I set up a webhook url alert on Tradingview, why is the real disk (robot) not receiving the request signal?

    Check if the API KEY is correct in the webhook url setting. The API KEY here refers to the FMZ extension API KEY, set in the FMZ account settings in the upper right corner. Check if the disk ID in the webhook url is filled in correctly. Check if the FMZ extension API KEY permissions are given correctly.

  • Why are there only a limited number of currency pairs in the exchange object configuration when creating a virtual exchange?

    Set custom controls for transaction pairs (only physical disks are allowed, only a limited variety of data in the data center is retested, and cannot be custom set), as shown below:

    img

  • Why can't FutuOpenD be accessed on the server, but it can be accessed on the home computer?

    Check if the server is an overseas IP address, and there are restrictions on overseas IPs. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ Domestic Station.https://www.fmz.cn

  • The Malayalam language strategy has been running smoothly and has started to update the market, what is the problem?

    Check whether the closing price model is used, check the settings in the parameters of the Strategic Mac language template.

  • Commodity futures are flat yesterday

    In CTP, only the last term applies to today, yesterday and tomorrow. The retesting system does not distinguishRight now.YesterdayI can't specify whether it's today or yesterday. In real timeIFFor example, some varieties have the current position prior to the current position, only the current position can be specified first. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ's domestic stations.https://www.fmz.cn

  • BITMEXWhy does the K-line data timeline of the exchange Bar have a longer cycle time than other exchanges in the same location?

    The reason isBITMEXThe K-line timestamp of the exchange is timestamped at the end of the current Bar (some K-line cycles).BITMEXExchange interfaces are not supported, so the timestamps for these cycles are timestamped with the start time of Bar).

    img

  • Commodity futures strategyexchange.GetPositionThe function returns the data.ProfitIs it not like the floating profit and loss account?

    See the API documentation:https://www.fmz.com/api#exchange.getpositionProfitIn theCTP协议Defined asThe market is losing moneyA bear market loss represents the loss of your current position relative to the settlement price of the previous trading day. Currently, FMZ International Station only supports digital currency operations. Commodity futures, equity securities and other businesses are supported by FMZ Domestic Station.https://www.fmz.cn

The feedback system

  • Exception catching is disabled

    Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.
    

    Check if the "Custom Data Source" function is used, and if the data provided by the Custom Data Source Service is correct, the reason for this error may be an abnormal retrieval of market data.

  • How do you test if the fee is the taker/maker? Rental fee taker/maker test scenes

    /*backtest
    start: 2022-11-08 00:00:00
    end: 2023-02-08 00:00:00
    period: 1h
    basePeriod: 15m
    exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
    */
    
    function main() {
        var t = exchange.GetTicker()
        exchange.Buy(t.Last - 10, 100/(t.Last - 10))
      
        while(1){
            t = exchange.GetTicker()
            Sleep(1000)
        }
    }
    
  • This is the first time that the Chinese government has issued a ban on Bitcoin futures.BITMEXDoes the rate of return on equity account for the profit and loss curve generated by the system?

    The capital rate is calculated by the profit and loss curve generated by the retrospective system.

  • The reset button shows no clicking

    imgCheck if an agent has been run that causes the page file to load incompletely, and check if the page controller has an error message.

  • Tick of the real worldWhy is there a 50MB limit when retesting?

    The real disk-level retest, the real disk Tick, is a real-time, real-time recording of transaction data. There are also disk snapshots and order flow data, which are very large and only support 50 MB of data.

  • Why is it that the re-testing system has changed the fee, and why is it not working?

    img

    In a retargeting system, the user interface fee is set to be effective only when added, and previously added exchange objects cannot be modified directly through the interface controls.

  • How can we get a little more data back to the custom graphics display?

    When drawing custom graphsChartfunction), the graph is based on the amount of data displayed at the time of the retest and the retest settingsChartParameters are related, the control chart shows the maximum bar. Note if usedchart.resetThe function clears some of the old data.

  • C++Retesting shows nothing, no error messages and logs, no page changes after clicking the button

    C++A strategy to avoid errors, to exclude possible errors during the execution of the code using the stepwise checking method. For example: indicator calculation caused by insufficient number of K lines when calculating the indicator.NANAfterNANThe system crashes when comparing it to the type of the value.

  • pythonThe test card is dead!

    I can'ttryThe abnormality test saysSleepThe function, written like this, will die.

    img

  • Why is it that there are only a few exchanges at the time of the review, and only a limited number of exchange pairs?

    The exchange has too many pairs of trades, so only a few representative pairs of trades are selected for testing in the retracement system.Customized controlsSet up exchange-backed pairs.

  • Why doesn't the retesting system support more transaction pairs?

    The feedback system temporarily supports only a few mainstream currencies of the relatively large exchanges, some currencies are not yet supported. If necessary, the testing strategy can be replaced by other currencies in the feedback system. In fact, the digital currency can be tested with different currencies in addition to market factors, for which the testing strategy is also possible. Simply put, the feedback system tries to support mainstream transactions as much as possible, and the feedback should not be tailored to a specific variety.

  • In the retest system:The stock market loses.Holding gains and lossesBail moneyEstimated earningsCurrently available USDTThe concept of

    The balance sheet profit and loss is the sum of all the transactions before the current holding, and the balance sheet profit and loss is the sum of all the accumulated gains and losses. Holding gains and losses: is the current holding gains and losses, if there is no current holding, is 0. Collateral: The amount of collateral held on the position currently held Estimated earnings: The estimated earnings are calculated by balancing the current holdings at the current price (assumption), the resulting gains and losses, and the accumulated gains and losses of the peaceful holdings. Currently Available USDT: The amount of USDT currently available for trading.

  • Calculation of the success rate of the retest system

    for (var i = 0; i < profits.length; i++) {
        if (i == 0) {
            if (profits[i][1] > 0) {
                winningResult++
            }
        } else {
            if (profits[i][1] > profits[i - 1][1]) {
                winningResult++
            }
        }
        if ((profits[i][1] + totalAssets) > maxAssets) {
            maxAssets = profits[i][1] + totalAssets
            maxAssetsTime = profits[i][0]
        }
        if (maxAssets > 0) {
            var drawDown = 1 - (profits[i][1] + totalAssets) / maxAssets
            if (drawDown > maxDrawdown) {
                maxDrawdown = drawDown
                maxDrawdownTime = profits[i][0]
                maxDrawdownStartTime = maxAssetsTime
            }
        }
    }
    

    The above is a win-rate algorithm, describe how it is calculated: A floating profit or loss curve is calculated after the timing of the floating profit or loss calculation by the retesting system. Starting from the first point, compare to the next point, recording a win if higher, a negative if lower, and then continue to compare backwards with the next point.

The Trustee

  • Host on FMZ platform displays offline, host on server robot program stopped In Linux operating systems, there is a possibility of insufficient memory causing the host to be stopped. The first is the overuse of hardware resources. 2, Log output is a very large content. 3, the host runs too many policy disks on the device. 4, other (in addition)

  • MAC computer running host error: dyld: cannot load (load command is unknown)

    dyld: cannot load (load command is unknown)
    

    The operating system version is too low.

  • LinuxWhere is the video deployed by the system administrator?

    Link to station B:https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web

  • Is it necessary to stop the old host and then delete it?robotThe program, and then run it again?

    You can delete the old one without stopping the host.robotThe program file, then download the new compression package, decompress the new onerobotThe program file, put in its original location. At this time the host updates, but the old version of the disk used in memory is still in operation, and only the latest version is used when the disk is restarted.

  • LinuxDeployment by server administrators

    LinuxInstall the host steps:https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web

  • UsescreenRunning the AdministratorrobotI'm not going to lie.-bash:screen:command not foundThe host can't run.

    LinuxSystem not installedscreenThe software, usually installed.CentOSInstallation commands for the system:yum install screenI'm not sure. The current trustee has already supportedSSHDisconnect to run in the background.screenThis tool is used in the Administrator program.robotUse the command directly in the directory:./robot -s node.fmz.com/xxxxxxx, then enter the account password of FMZLogin OKThis is the key to successful deployment../robot -s node.fmz.com/xxxxxxxThe xxxxxxxx is the unique identifier of each FMZ account, which can be entered by itself (after logging in to the account, skip to the host page, click Add a host, skip to the Add a host page to see), and is not to be entered here.xxxxxxx

  • Where are the logs of the hard drive when the administrator is running?

    Directory where the trustee program islogsIn the folderDB3In a database file, the database file is called a hard drive.idThe extension is calleddb3

  • LinuxUnder the system./robot -lSee the names of the exchanges supported by the custodian, which appear in theexchangeWhat is an exchange?

    NameFor theexchangeThe exchange's object codeGeneral agreementThe exchange that accessed the General Protocol details:https://www.fmz.com/api#通用协议

  • Administrator page Administrator cannot be displayed by list

    If you add more than 5 hosts, the controls will appear in the list.

    img

  • Is it normal to have a host that you deploy in the drop-down box that hosts choose when you create a virtual drive?

    The public hosts provided by the platform are a quick and easy tool to add for beginner users. It is easy to learn without deploying hosts. However, real-world testing still recommends using private hosts, after all, the hardware resources and networks of public hosts are shared, and the platform may not regularly maintain these public hosts.

  • The address string when deploying the host (((./robot -s node.fmz.com/1234567I'm the only one, right?

    This address is each user's own address ID./1234567The value of the part is unique and is used to identify the user.The control center->Click on the Add Administrator button->Adding a host pageIf you want to see the address, you can copy and paste it directly and use it.

  • Added environment variables for the host systempython2.7I'm not sure why I can't find the environmental variables.

    img

    windowsSystem first installedpython, the environment variable needs to be restarted after setting it.

Research environment

  • EOF error

    img

    python feedback is terminated by an EOF exception (because sometimes the policy may be a dead loop); hence the suggestion that EOF anomalies are normal.

Platform features

  • Can one host run multiple disks?

    There is no limit to the number, specifically depending on the server configuration and the complexity of the policy, specifically considering whether these multiple disks all access the same exchange interface (considering the frequency of interface calls, the more frequencies the higher), generally 5-6 disks is not a problem.

  • Understanding basic concepts such as custodians, disks

    https://www.fmz.com/digest-topic/7542

  • Disks, hosts, all content disappeared

    The hard disk, the host page, all the content disappeared, the hard disk is running normally, the host is running normally on the server.
    Check the browser error message to see if the browser has plugins installed, global variable pollution problems caused by plugins. The solution is to write in the browser plug-in, or log in to FMZ using a browser without any browser plug-ins installed.

  • Official policy for renting, one-click deployment of rental servers, automatic renewal as long as the FMZ account balance is sufficient?

    Rental policies are not automatically renewed, and host servers deployed with one key are automatically renewed.

  • Where is the template function? I want to put some functions separately in the template, other strategies are also useful to refer to.

    FMZ APIThe documentary explains:https://www.fmz.com/api#模板类库

  • FMZ analogue dishwexAppIt's like an exchange, you can only choose.BTC_USDTHow do I customize other transactions?

    wexAppThe analogue disc currently supports only a few mainstream pairs, and not all pairs are analogue.

  • Problems with extended API concurrent calls, which always report announce validation errors.

    You can create extensions for multiple FMZ platformsAPI KEYThis is the first time that a user has been able to use the app to make a request.

  • Does the debug thread created on the host record the status when using the debug tool?

    When the debugger is executed, the previously created exchange objects are retained and not released if nothing is changed the second time. So some states are recorded, for example the exchange object is currently used as aThe coin modelOrLeverage mode

  • Why I signed upwexAppSo what if you log on to an analogue exchange and there are no assets, no wallets and no coin zones?

    After registering, you need to verify your account to activate your account in the personal center.

  • The longer log information is cut off and shown on the back... but what about the structure of the data?

    Solutions and usesThe control centerWhat?Debugging tools, used in debugging toolsreturnThe statement returns the content that needs to be displayed, without interrupting the content shown.

  • JavaScriptIn the strategy$.What does the function that starts with mean?

    $.The starting function is the output function of the template, which is the interface function of a module. See the description in the API documentation:https://www.fmz.com/api#模板类库 pythonThe output function of the editing policy starts withext.This is a statement by the group.

  • How to draw a straight line on the market data graph of retest results?

    There are two types of graphs that are displayed when retested: one is system-generated and not controlled by the policy; the other is an API interface with FMZ inside the policy code.ChartFunctional drawing. See also:https://www.fmz.com/api#chart...

  • I deleted Google Authenticator on my phone by mistake, how to reset Google Authentication? You can log in to the FMZ platform using a different browser, and click "Unbind" to jump to the unbinding page using the mailbox when you need to enter a Google verification code.

Other

  • The ExchangeAPI KEYSecurity

    UsersAPI KEYIt is uploaded in browser-side encryption, FMZ does not store explicit user account information, and usesHttpsThe agreement.

  • The security of the strategy

    The question can be found at:https://www.fmz.com/bbs-topic/1657

  • FMZ platform billing system, billing mechanism

    The standard of real-time billing: 1, a real disk is charged once an hour ((0.05 USD/hour)), and one hour of usage time is purchased. 2, Stop within one hour, Restart the hard drive without recharging. 3, the real disk has been stopped, the next hour will not trigger the charge. 4, newly created disks will be charged immediately for one hour.

    img

    This billing time is the processing time of billing operations, because these processing operations will be time consuming, so the time of deduction may be delayed. For example, the current billing time is 9:00, it is possible to process this billing operation at 9:02 (the time shown in the screenshot), which will be corrected at the next billing operation (the next billing time is 10:00, not advance billing).

  • talib library processing data with limited accuracy

    If the data is particularly small, it ends up being 0⋅. See also:https://github.com/TA-Lib/ta-lib-python/issues/157

  • Real-time charge for billing programs, one-time charge for more than one hour ((0.05USD) The reasons for this may include long-term communication disruption between the custodian and the FMZ platform (during which the physical disk interacts directly with the exchange, so the execution of the policy is normal), deduction accumulation, deduction delays, and one-time settlement deduction.


Related

More

vg80771610I have a hard drive that won't open. What's the situation?

18803662506How is the account balance transferred?

StalkerThe real-time model has been selected at the time of the pine retracement, why does the retracement chart show the closing price flat, the real-time price open?

IssacFutures_OP 4: 400: {"code":"50000","data":[],"msg:"Body can't be empty. "} shows what the following exception means.

xaifer48Does py support this sympy library?

xowoxRecharging

yingjunBuy ((-1, 6): 400: {"code":-2022, "msg:"ReduceOnly Order is rejected. "} What is the error?

DXM time out

ohduringCustody

eth8888Using the Mayan language strategy, for a bullish or bearish position, hold the reverse position and then stop the strategy.

GraysonZHello, does the inventor have a wrapped function to get the funds rate for retesting?

huangsongxinSimulated

CarelessnessI want to ask you, when you get the real-time data on the k-line, why is it that the Python mapping library is messed up, and the backtest doesn't have this problem?

ttry1 Traceback (most recent call last): File "<string>", line 1615, in Run File "<string>", line 146, in <module> File "<string>", line 138, in main File "<string>", line 115, in trace KeyError: 43999.96000000001

389230565/upload/asset/1e5e44ad18aab047782b6.jpg The newly opened hard drive shows this error after a few hours, what is the reason?

Roasted cabbageHow can I get USDT scraping history data for Bitcoin U-bit contracts without finding API?

wxb1888Can not charge

gaoyaxing24Does Python not have a class library reference function?

zld123123Hello, a simple linear strategy, when running it will appear to start one line normally for a period of time, signal for a period of time to connect two lines, and ask for help.

cuteHello, when the futures are simultaneously open multiple positions and empty positions, position[0].profit can only get floating gains of multiple positions, so how to get floating gains of empty positions?

zhangmintaoHi, I'm really looking forward to this.

The coin tossThe web page, the login does not go up, it is always in the login, the scanning code of the two-dimensional code of the login does not appear, is the browser the reason?

efc645cgxWhy can't the forum post?

zhousoneCan a public host run a real-time robot?

Feathers on sheepIs the exchange.GetAccount (()) only going to get the initial set amount when retested? If I use the exchange.buy in the policy, is this returned Balance not going to be updated?

The bone knifeI don't see where the answer to this question is.

wwq4817Please tell me how to fix this situation???????

17606551005fmz/upload/asset/175f0fef6971c19389a0c.png /upload/asset/17633f3636a154477bb5a.png /upload/asset/1764cf80d829ca5ed5a6e.png /upload/asset/17667f2629b47a011bb8f.png /upload/asset/17667f2629b47a011bb8f.png /upload/asset/1764cf80d829ca5ed5a6e.png /upload/asset/17667f2629b47a011bb8f Why can't getposition get hold of empty listings?

Mrhuang00main:102:18 - TypeError: method.apply is not a function please what is this problem?

bamsmenSome of the templates you see use these functions _.each() _.contains() _.last() Please ask _.where is this object defined?

dsaidasiIn my language, as if you can only wait for the k-line to finish before entering, can't set a price, can't break that price and enter immediately?

The Gilded AgeInitialization phase of the strategy: want to do exchange connectivity, API effectiveness testing, how to write?

dsaidasiCan your robots connect to these walled exchanges like Token and OK? And if I have a bot host, does my own computer need to be turned on 24 hours?

wufuhao100wThe description of the problem is found here... but the answer to the question is no... drunk...

xiaoyi007The robot started reporting errors. Traceback (most recent call last): File "", line 1028, in __init_botvs__ File "", line 11, in ImportError: DLL load failed: Ҳ ģ 2019-05-22

pixiu777What are the specific uses of multi-threaded

moneymonsterI want to know why exchange.Buy ((-1,1) re-tested, only bought 0.0 few coins each time, instead of buying one.

jeffzhMy strategy needs to store transaction data for later computational analysis, how do I implement data storage and analysis in my strategy?

13036897450I want to get the real-time P/E ratio of the open positions in the ok contract and the expected price of the strong parity.

13036897450GetOrders: Ret: map[result: false error_code:10007] What is the reason for this?

The Yellow SwanERR_INSUFFICIENT_ASSET and TypeError: Cannot convert "null" to double What is wrong?

MrkoengSo if you want to get the value of K, you want to get the value of D, and you want to get the value of K, you want to get the value of D.

1095176636@qq.comI want to delete the data, but why is it terminated every time I want to do it?

qhh87There is a US public server on the platform, but can't connect to the OKEX platform? I tried and it also shows timeout timeout.

1095176636@qq.comWhy is it that when I look back at BTC, the historical volume is both integer and even-differential?

whjy2018-07-23 09:58:40 Error TypeError: cannot read property 'Last' of null at main (__FILE__:5) 2018-07-23 09:58:40 Futures_OKCoin error GetTicker: timeout This is a list of all the different ways OKCoin is credited in the database. 2018-07-23 09:58:20 info null BTC_USD This is a list of all the different ways BTC is credited in the database. Start the robot as empty as can be

chan122I want to run the data quickly for a five-minute judgment cycle when retesting, how should I set it up?

roshanzhengI would like to ask how the platform ensures the security of the user's exchange ID and KEY? for example, to ensure that there is no hackers who get the ID and KEY in bulk and then hijack the user's transaction instructions.

jklwonderHow does python get time to retest?

jkyeiPlease tell me why simnow shows: ((CTP_T@9999) Error: 75 CTP: The number of consecutive login failures has exceeded the limit, logging is prohibited

bijiasuoMark, number four, where do I see it?

wcg123Please tell me why the CCI is always 1 to 3 values different from the OKEX futures indicator, while all other indicators are correct.

Carpedium6740Invalid IP or incompatible with bound IP

AnclyHow do you get an order information when the simulation is retesting? What if exchange.GetOrder does not have an Order ID?

The Little DreamHello, you can send us your application and attach a specific screenshot to help you see it.

The Little DreamYou can start an order and process it.

The Little DreamThe variable mechanism of var is different from that of varip, which is returned to you in the workflow.

StalkerI tried two exit methods, one was to hang it directly on the bill when it was opened, and the code is as follows: if strategy.position_size >= 0 and Trend < 0 and TCI_bear This is a list of all the different ways Strategy.entry is credited in the database. This is a list of all the different ways Strategy.exit is credited in the database. state is equal to negative 1. trading_1: = 0 The other is exit, which uses the order finding method after entering, and the code is as follows ((Strangely, exit doesn't work directly in this way ((retrospective Figure 2), the order finding function is copied directly from the article)) if barstate.isrealtime and findOrderIdx (("SHORT") >= 0 and state == -1 state: = 0 This is a list of all the different ways Strategy.exit is credited in the database. And then there's the other thing, I don't know why the same signal is going on three times in a row, and the code is: if trading_1 == 0 and Trend == -1 and TCI_bear and strategy.position_size < 0 This is a list of all the different ways Strategy.entry is credited in the database. trading_1 := -1 Dreams always help to see what happens.

The Little DreamThis is related to the design of specific strategies, see Strategy Analysis.

The Little DreamHello, this is a specific exchange, the IO call code, which can send a job order for a specific scenario.

xaifer48Good. Thank you.

The Little DreamIt is recommended to use a private host to install the necessary python libraries on your own device.

xaifer48I'm trying to make it look like the library doesn't support sympy, so I just write import sympy like this.

The Little DreamHello, any python library can be imported, it needs to be installed in the python environment of the host's device system.

The Little DreamHello, what is the specific question?

The Little DreamIt is possible that the following direction is incorrect, check the parameter setting of the SetDirection () function.

The Little Dream It`s a problem with your device network. Try to change other device such as VPS in Singapore or England.

The Little DreamThere are also other parameters to check, such as precision settings, see the article: https://www.fmz.com/digest-topic/5768

eth8888The slider is set to 5

The Little DreamIf the slider addition is too small, you can adjust the slider parameter on the Mac language template class library.

The Little DreamCurrently, QQ and WeChat groups have been disbanded, and you can click on the FMZ homepage to add a telegram link to the group.

Zhu YongshengHow many q groups?

The Little DreamRe-tested with the exception of Bitcoin futures futures perpetual contracts, BitMex, and other non-capital fee mechanisms. There is currently no interface for obtaining capital fees. Use the HTTPQuery function or other web libraries to access the exchange's public interface for obtaining data related to capital fees in real time.

CarelessnessI looked at it, and it looked like it was, and I thought it was consistent with the real disk data.

The Little DreamIf you look at the stock exchange's trading floor, it's probably the K line itself.

Carelessness/upload/asset/223d0ac6a9df9afd9e23c.png I'm not going to say that's the reason why I got the Wii U.

The Little DreamIn this video, you can see a screenshot of specific issues and scenarios.

The Little DreamThe policy is grammatically incorrect, check the policy code at line 115.

The Little DreamThe image cannot be displayed. Copy specific error message.

The Little DreamThe price transmission-1 is the real market price list. It must be done. FMZ API documentation is available.

Roasted cabbageSo, in fact, the functions like exchange.Buy (), etc. are actually a price cap, not a price cap. If the price fluctuates too fast, then it is difficult to make a deal after the order, what parameters can be set to make it a market price list?

The Little DreamYes, but consider the frequency of interface access. Exchange interface requests are limited.

Roasted cabbageThe same interface, say this GetTicker method, can I simultaneously target 10 different transaction pairs and request this interface function at the same time?

The Little DreamYou can scan the API documentation or the enterprise WeChat 2D code on the homepage and have a commissioner help you with it.

The Little DreamWe can add enterprise two-dimensional code to WeChat processing that starts with the API documentation.

gaoyaxing24I've been trying to do this, and the results have been giving me an error message, suggesting that there is no method available in ext. There is no method available from dir. Is there an example?

The Little DreamYes, you can see the API documentation for the three language descriptions.

The Little DreamYou can add FMZ groups, QQ groups and WeChat groups to the FMZ homepage, and you can ask specific questions within the group and send specific screenshots.

cuteI understand, thank you Dreams.

The Little DreamI don't quite understand what you mean, in the QQ group @me, look specifically. The code above you, if you have empty holds, continue to access position[1]... but you only access the instant position[0] of the index 0...

cuteThere's a blank holding, and this code has multiple heads and blank heads open at the same time, and the data in the position goes through, but there's no blank holding.

The Little DreamNo empty holdings, empty holdings floating profit or loss is zero? No need to calculate. If you don't understand the concept, you can check it out.

cuteNo, you can only access data from multiple repositories, no empty repositories, source code. var n is equal to 0.005 // the initial prime number var Margin Level = 20 // The contract is leveraged function main (() { Exchange.SetContractType (swap) is the name of the exchange. Exchange.Set the margin level var position = [] while (true) { var account = exchange.GetAccount position = exchange.GetPosition (()) if (position.length == 0) { exchange.SetDirection (("sell") exchange.Sell ((-1, n, "open", "multiplier parameter:", q = 1, "account total:", account.Balance) exchange.SetDirection (("buy") exchange.Buy ((-1, n, "Multiple", "Multiple parameters:", x = 1, "Account total:", account.Balance) I'm not sure. if (position.length > 0) { Log ((position[0]) Sleep (((12000) is the name of the game I'm not sure. I'm not sure. I'm not sure.

The Little DreamGetPosition returns an array that contains both empty and multi-position structures.

The Little DreamWhat do you suggest?

The Little DreamIf the ladder is on, try to turn it off.

The Little DreamYou can post it. But don't violate, violation will be punished.

The Little DreamPublic hosts are generally used for testing, practice, and real-world recommendations to run hosts using your own equipment.

The bone knifeIt's me too -'', the elderly look at the font bar, set the browser font too large, a page can only see the question and answer side, does not show the question and answer side.

The Little Dream /upload/asset/16011a2067f6ff610b2b.png

The Little DreamIn this case, the first step is to get rid of the position that is about to be delivered, and open the position with a new main contract.

wwq4817 /upload/asset/17ae92e032761f21d020f.png

The Little DreamI'm not sure what the opposite position means.

17606551005fmzI understand. Thank you.

The Little DreamThere is no transaction in the order. There will be no holdings. Try to eat the price of the counter, then try to exceed the price a bit.

The Little DreamThe code above the 102nd line (including the 102nd line) can be used to check if it is a _C function.

The Little DreamThe JS library is located at http://underscorejs.org/

The Little DreamYou can, set the Mac language: Mac language transaction library parameters, execution method: real-time price model /upload/asset/166d993a8809d6f7f518.png This is a list of all the different ways Upload/asset/166d993a8809d6f7f518.png is credited in the database.

The Little DreamThis is the first time that the campaign has been held in the city. https://www.fmz.com/strategy/125569

The Little DreamThese types of walled exchanges, usually with a foreign server, run a custodian, which is then assigned to a robot to run the custodian, so that the local computer does not have to be kept running because the bot program is running on the server where the custodian is located.

The Little DreamI'm not being polite.

wufuhao100wOh, it was in the back, thank you!

The Little DreamThe following shows the cause of the problem: Check if the API is enabled.

wufuhao100wFutures_OP 0: 403: {"error":{"message":"Access Denied","name":"HTTPError"}} Specific number 72

The Little DreamWhat specifically is the issue? What is the number?

wufuhao100wWhere to watch it?

wufuhao100wI have no solution to all the above problems...

The Little DreamWhat question?

The Little DreamIf you're using python, import this DLL with a random name, but it's a random one because of the character set. Check the following policy to import those libraries.

The grassIt saves time when accessing multiple interfaces simultaneously.

The Little DreamFor details, see the API documentation for the description of the list price, the second parameter entered when buying is the amount, not the number of coins.

The Little DreamCan be saved with _G For more details, see the API documentation.

The Little DreamThis requires writing a program. Visit the GetPosition interface to query the original information, which should contain relevant data.

The Little DreamThis 10007 is the error code of the exchange, https://www.fmz.com/bbs-topic/597 The post is a compilation of the exchange's API documentation, which can be consulted for the error code information of the relevant exchange.

The Little Dream1, `` ` ERR_INSUFFICIENT_ASSET `` ` This is an asset shortfall and it's a down payment. 2、```TypeError: Cannot convert "null" to double`` This is a passing parameter Passed an error, the parameter requested to be passed is a numeric type, passing a null null value. This direct translation of Bauda literally means you probably already know.

The Little DreamYou can read the Inventor Knows column here: https://zhuanlan.zhihu.com/p/27300549 This article is about the article.

The Little DreamWhat exactly is the problem?

The Little DreamThere should be lots of Baidu VPS, Amazon, Ali Cloud, other regions and so on.

The Little DreamWhich interface is being called specifically? The depth interface in the feedback system is analog data except for the first class. Some of the data is not critical and is simulated.

The Little DreamThis is asymmetrical encryption, as long as you keep your FMZ password, but this is a security issue and core technology, too many details cannot be told, please forgive.

The Little DreamIs it sleep in Python's time packet?

chan122sleep ((300) and wait 300 seconds to retest.

The Little DreamYes, renting one on Amazon and so on.

whjyHow to solve it Do you use a foreign server directly?

The Little DreamAccess to the exchange is out of date, currently only foreign servers can access OKEX.

The Little DreamYou can update the K-line for 5 minutes and skip the rest of the time with Sleep.

The grassThe conditions are too harsh.

The grassThe API key is encrypted with a password plain text, you need to enter the password when you enter the key, botvs does not save plain text, so no problem

The Little DreamWell, thank you for the suggestion, the security mechanism development etc. is the responsibility of another department, which I may not be very clear about.

Old cat likes fishThis is called symmetric encryption. When uploading the API key, the password of the botvs is entered for encryption. When deploying the host, the input is still the password of the botvs for decryption. If the encrypted APKEY stored in the botvs is leaked, the user's botvs password can be decrypted to obtain the key. This is not safe. It is recommended to switch to a non-asymmetrical public-private key. The public key is used to encrypt uploads, the private key is only in the hands of the user and is only used when the host is deployed.

The Little DreamBotVS is asymmetrical, does not store plaintext API KEY, user server local decryption is used. Unless the user server is blacklisted, or the user's own password is leaked.

Old cat likes fishThanks for the reply. Learn more about the whole process of using the API key: First, we enter the API key on the botvs website and submit it. 2, encrypted, transmitted via https to the botvs server and saved; The botvs server pushes the encrypted API key to the host. 4. The custodian will decrypt the API key received locally to connect to the corresponding exchange. So, this is a symmetrical encryption. In other words, if the botvs server is hacked, or if internal staff have a work ethic issue, the key will be leaked. Is that what I understand? If this is the case, it is recommended to switch to asymmetric encryption to store the key. The user enters the private key at the trustee to start the exchange connection.

The Little DreamIt has been updated, see explanation at page 47.

The Little DreamIt has been updated, see explanation at page 47.

Old cat likes fishShake hands, I'm the old coding dog who just got in touch with botvs.

The Little DreamThis is how the current time is written in Python code. What's up? Import time def main (: Log (("Current time:", _D(time.time))) # output the current time. What's up?

The Little DreamIt's not polite.

Carpedium6740This is the problem, solved, thank you.

The Little DreamIt should be a password configuration error, failure to log in over the limit, can be caused, please contact simnow customer service, request to unlock. If you change the BotVS password, the configuration will fail and you will need to reconfigure it.

The Little DreamIt is possible that some of the indicators used by OK are different from those implemented by Talib library. Several are, such as STOCHRSI

The Little DreamThis issue should be because the whitelist address was set when you applied for the Exchange API KEY, and then you actually created a bot. The IP address used when you accessed the Exchange API KEY is not on this whitelist, you can check the settings when you applied for the API KEY below.

The Little DreamIf you don't have an ID, you don't know which order to ask for.