리소스 로딩... 로딩...

다른구조

HttpQuery 옵션

이 JSON 구조는 HttpQuery 함수의 매개 변수와 HttpQuery_Go 함수를 구성하여 Http 요청을 전송하는 데 사용됩니다.

요청 방법, 예를 들어:GET, POST, 등등 방법 문자열 요청 본체. 예를 들어, POST 요청에서 본체는 양식 데이터, JSON, 텍스트 등을 포함할 수 있습니다. 몸 문자열 문자 집합의 코딩. 예를 들어, 본부에서 텍스트 데이터의 코딩을 이렇게 지정합니다."UTF-8"- 네 카르세트 문자열 쿠키는 클라이언트 (일반적으로 브라우저) 와 서버 사이의 상태 정보를 저장하고 교환하는 데 사용되는 작은 데이터입니다. 쿠키 문자열 브라우저의 지문을 시뮬레이션하는 데 사용됐어요 프로필 문자열 true로 설정되면 HttpQuery 함수 호출은 전체 응답 메시지를 반환합니다. false로 설정되면 응답 메시지 Body의 데이터만 반환됩니다. 디버그 bool 요청 헤더 정보는 키-값 쌍 (JSON 구조) 의 형태로 존재하며 콘텐츠 유형, 인증 정보, 캐시 제어 등 다양한 정보를 전송하는 데 사용됩니다. 헤더 JSON 타임아웃 설정 1000을 설정하면 1초의 타임아웃을 의미합니다. 타임아웃 번호

사용 예제:

function main() {
    var options = {
        method: "POST",
        body: "a=10&b=20&c=30",
        charset: "UTF-8",
        cookie: "session_id=12345; lang=en",
        profile: "chrome_103",
        debug: false,
        headers: {"TEST-HTTP-QUERY": "123"},
        timeout: 1000
    }
    var ret = HttpQuery("http://127.0.0.1:8080", options)
    Log(ret)
}

위 코드가 실행될 때 전송되는 http 메시지는:

POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: session_id=12345; lang=en
Host: 127.0.0.1:8080
Test-Http-Query: 123
Transfer-Encoding: chunked
User-Agent: Mozilla/5.0 (Macintosh; ...
Accept-Encoding: gzip, deflate, br

e
a=10&b=20&c=30
0

{@fun/Global/HttpQuery HttpQuery}, {@fun/Global/HttpQuery_Go HttpQuery_Go}

HttpQuery-return

이 JSON 구조는 디버그 모드에서 HttpQuery 함수가 반환하는 데이터 구조입니다options구조 매개 변수는 사실입니다.

http 상태 코드 상태 코드 번호 헤더 정보를 요청합니다. 헤더 JSON 쿠키 정보 쿠키 배열 요청의 전체 경로 정보 흔적 JSON 메시지 길이가 길이 번호 메시지 내용 몸체 문자열

반환된 JSON 데이터 구조의 예는:

{
    "StatusCode": 302,
    "Header": {
        "Content-Type": ["text/html"],
        // ...
    },
    "Cookies": [{
        // ...
    }],
    "Trace": {},
    "Length": 154,
    "Body": "..."
}

{@fun/Global/HttpQuery HttpQuery}, {@fun/Global/HttpQuery_Go HttpQuery_Go}

LogStatus 테이블

이 JSON 구조는 전략 상태 표시줄에 표시되는 테이블 콘텐츠를 구성하는 데 사용됩니다.

분석 및 표시되는 UI와 컨트롤의 유형을 설정하는 데 사용됩니다. 상태 표시줄 테이블의 경우 고정 설정되어 있습니다.table- 네 종류 문자열 상태 표시줄 테이블의 제목을 설정하는 데 사용됩니다. 제목 문자열 상태 표시줄 테이블의 열 제목을 설정하는 데 사용됩니다. 배열의 첫 번째 요소는 첫 번째 열의 제목입니다. 배열 상태 표시줄 테이블의 행 데이터를 설정하는 데 사용됩니다. 행 배열의 첫 번째 요소 (동차원 배열) 는 또한 배열 구조입니다. 이 배열 구조의 길이는 테이블 열의 수와 일치해야합니다 (배열 구조의 요소는 테이블 열 이름에 하나씩 대응합니다), 즉 테이블의 첫 번째 데이터 행. 행 배열

function main() {
    var tbl = {
        type: "table", 
        title: "title", 
        cols: ["Column 1", "Column 2", "Column 3"], 
        rows: [
            ["Row 1 Column 1", "Row 1 Column 2", "Row 1 Column 3"],
            ["Row 2 Column 1", "Row 2 Column 2", "Row 2 Column 3"],
            ["Row 3 Column 1", "Row 3 Column 2", "Row 3 Column 3"],
        ]
    }
    LogStatus("`" + JSON.stringify(tbl) + "`")
}

{@fun/Log/LogStatus LogStatus}

로그 상태-btnTypeOne

이 JSON 구조는 상태 표시줄에 있는 버튼 컨트롤을 구성하는 데 사용됩니다. 버튼 제어 JSON 구조는 상태 표시줄 테이블 JSON 구조에 삽입될 수 있습니다. 이 구조는 오래된 버전 구조이며, 플랫폼은 여전히 호환적입니다. 버튼 JSON 구조의 최신 버전을 사용하는 것이 좋습니다. 상태 표시줄 버튼 컨트롤을 구성하는 예제 ( 버튼을 트리거하고 클릭 한 후, 팝업 박스는 입력 필드를 통해 구성되는 단일 입력 컨트롤을 포함합니다):

{
    "type": "button", 
    "cmd": "open", 
    "name": "opening a position", 
    "input": {
        "name": "number of opening positions", 
        "type": "number", 
        "defValue": 1
    }
}

상태 표시 표시 버튼을 클릭하여 활성화되는 팝업 박스의 컨트롤은input또는group.

버튼 제어 장치의 고정 설정은:button- 네 종류 문자열 버튼 타입 설정 클래스 문자열 버튼 컨트롤의 텍스트, 즉 버튼 이름. 이름 문자열 버튼 컨트롤이 클릭 동작을 트리거할 때 전략에 전송되는 인터랙티브 명령 내용. cmd 문자열 버튼 컨트롤의 설명. 설명은 위상 표시줄의 버튼에 마우스를 누르면 표시됩니다. 설명 문자열 버튼을 비활성화 (진짜) / 활성화 (거짓) 로 설정합니다. 장애인 bool 상호 작용을 위한 상태 표시줄 버튼을 구성할 때, 데이터 입력도 지원됩니다. 상호 작용 명령은 궁극적으로GetCommand()함수를 추가합니다.input상태 표시줄에 있는 버튼 컨트롤의 JSON 데이터 구조에 항목을 입력 버튼이 트리거 될 때 표시되는 팝업 박스에서 입력 컨트롤을 구성합니다. 예를 들어,input필드:

{
    "name": "Number of opening positions", 
    "type": "number", 
    "defValue": 1,
    "description": "test",                  
}

위의 JSON 구조의 각 필드의 설명:

  • 이름 상태 표시줄 버튼을 눌러서 나오는 팝업 박스의 컨트롤의 제목이 클릭 동작을 트리거합니다.
  • 설명 상태 표시줄 버튼이 클릭 동작을 트리거 한 후에 팝업 박스에 있는 컨트롤의 설명.
  • 종류 상태 표시줄 버튼이 클릭 동작을 트리거 한 후 팝업 박스에서 나타나는 컨트롤의 유형. 타입 필드의 가능한 값은 다음과 같습니다:
    1. "number": 숫자 입력 제어.
    2. "string": 문자열 입력 제어.
    3. "selected": 드롭다운 박스 제어.
    4. "boolean": 스위치 제어.
  • defValue 상태 표시줄 버튼이 클릭 동작을 트리거 한 후 팝업 박스에서 나타나는 컨트롤의 기본 값. 드롭다운 박스 타입 컨트롤 (선택된) 이면, defValue 필드는 드롭다운 박스 옵션을 설정하는 데 사용됩니다. 예를 들어:"input": {"name": "Opening quantity", "type": "selected", "defValue": "A|B|C"}, 드롭다운 박스 옵션의 텍스트 설명은 A, B, C로 설정됩니다.

드롭다운 박스 타입 컨트롤로 확장된 필드:

  • 옵션 상태 표시줄 버튼 컨트롤에 의해 트리거되는 페이지의 드롭다운 박스 컨트롤은 옵션을 설정하기 위해 옵션 필드를 사용할 수 있습니다. 옵션 필드의 옵션은 문자열을 지원하는 것뿐만 아니라{text: "description", value: "value"}defValue 필드를 사용하여 기본 옵션을 설정합니다.
  • 복수 이 필드가 true로 설정되면 드롭다운 박스에서 여러 선택이 지원됩니다.

입력 JSON 의inputfield는 상태 표시줄 버튼을 클릭하면 나타나는 팝업 상자에서 컨트롤을 구성합니다.group그리고input제어기 그룹을 구성합니다.group같은 데이터 구조를 가지고input필드 값. 해당 필드의 설명 참조하십시오input field.

그룹 배열

예를 들어class상태 표시줄의 버튼의 JSON 구조의 값:

function main() {
    var table = {
        type: "table",
        title: "Status bar button style",
        cols: ["Default", "Original", "Success", "Information", "Warning", "Danger"], 
        rows: [
            [
                {"type":"button", "class": "btn btn-xs btn-default", "name": "Default"},
                {"type":"button", "class": "btn btn-xs btn-primary", "name": "Original"},
                {"type":"button", "class": "btn btn-xs btn-success", "name": "Success"},
                {"type":"button", "class": "btn btn-xs btn-info", "name": "Information"},
                {"type":"button", "class": "btn btn-xs btn-warning", "name": "Warning"},
                {"type":"button", "class": "btn btn-xs btn-danger", "name": "Danger"}
            ]
        ]
    }
    LogStatus("`" + JSON.stringify(table) + "`")
}

사용 예제group필드와input필드:

function main() {
    // The drop-down box control in the page triggered by the testBtn1 button uses the options field to set options and the defValue field to set the default options. This is different from other examples in this chapter that directly use defValue to set options.
    var testBtn1 = {
        type: "button",
        name: "testBtn1",
        cmd: "cmdTestBtn1",
        input: {name: "testBtn1ComboBox", type: "selected", options: ["A", "B"], defValue: 1}
    }
  
    /* 
      Status bar button control (set input field implementation) testBtn2 button triggered by the page in the drop-down box control using the options field to set the options, options field in the options field not only supports the string,
      it also supports the use of ```{text: "description", value: "value"}``` structure. Use the defValue field to set the default option. The default option can be multiple selection (multiple selection is achieved through an array structure). Multiple selection requires setting the additional field multiple to true.
    */
    var testBtn2 = {
        type: "button", 
        name: "testBtn2",
        cmd: "cmdTestBtn2",
        input: {
            name: "testBtn2MultiComboBox", 
            type: "selected", 
            description: "Implementing multiple selection in drop-down box", 
            options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}],
            defValue: ["A", "C"],
            multiple: true
        }
    }
  
    // Status bar grouping button control (set group field implementation) testBtn3 button triggered by the page in the drop-down box control using the options field to set options, also supports the direct use of defValue set options.
    var testBtn3 = {
        type: "button",                     
        name: "testBtn3",
        cmd: "cmdTestBtn3", 
        group: [
            {name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]}, 
            {name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"}, 
            {name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]}, 
            {
                name: "comboBox4", 
                label: "labelComboBox4", 
                description: "Drop-down box 4", 
                type: "selected", 
                defValue: ["A", "C"], 
                multiple: true, 
                options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
            }
        ]
    }
    while (true) {
        LogStatus("`" + JSON.stringify(testBtn1) + "`\n", "`" + JSON.stringify(testBtn2) + "`\n", "`" + JSON.stringify(testBtn3) + "`\n")
        var cmd = GetCommand()
        if (cmd) {
            Log(cmd)
        }
        Sleep(5000)
    }
}

{@fun/Log/LogStatus LogStatus}

LogStatus-btnTypeTwo

이 JSON 구조는 상태 표시줄에 있는 버튼 컨트롤을 구성하는 데 사용된다. 버튼 제어 JSON 구조는 상태 표시줄 테이블 JSON 구조에 삽입될 수 있다. 버튼 JSON 구조의 최신 버전. 상태 표시줄 버튼 컨트롤을 구성하는 예제 ( 버튼을 트리거하고 클릭 한 후, 팝업 박스는 그룹 필드를 통해 구성되는 여러 입력 컨트롤을 포함합니다):

{
    "type": "button",
    "cmd": "open",
    "name": "Open a position and place an order",
    "group": [{
        "type": "selected",
        "name": "tradeType",
        "label": "order type",
        "description": "market order, limit order",
        "default": 0,
        "group": "trading setup",
        "settings": {
            "options": ["market order", "limit order"],
            "required": true,
        }
    }, {
        "type": "selected",
        "name": "direction",
        "label": "trading direction",
        "description": "buy, sell",
        "default": "buy",
        "group": "trading setup",
        "settings": {
            "render": "segment",
            "required": true,
            "options": [{"name": "buy", "value": "buy"}, {"name": "sell", "value": "sell"}],
        }
    }, {
        "type": "number",
        "name": "price",
        "label": "price",
        "description": "order price",
        "group": "trading setup",
        "filter": "tradeType==1",
        "settings": {
            "required": true,
        }
    }, {
        "type": "number",
        "name": "amount",
        "label": "order quantity",
        "description": "order quantity",
        "group": "trading setup",
        "settings": {
            "required": true,
        }
    }],
}

상태 표시 표시 버튼을 클릭하여 활성화되는 팝업 박스의 컨트롤은input또는group.

버튼 제어 장치의 고정 설정은:button- 네 종류 문자열 버튼 컨트롤의 텍스트, 즉 버튼 이름. 이름 문자열 버튼 컨트롤이 클릭 동작을 트리거할 때 전략에 전송되는 인터랙티브 명령 내용. cmd 문자열 상호 작용을 위한 상태 표시줄 버튼을 구성할 때, 데이터 입력도 지원됩니다. 상호 작용 명령은 궁극적으로GetCommand()함수를 추가합니다.input상태 표시줄에 있는 버튼 컨트롤의 JSON 데이터 구조에 항목을 입력 버튼이 트리거 될 때 표시되는 팝업 박스에서 입력 컨트롤을 구성합니다. 입력 구조의 오래된 버전과 비교하면 새로운 버전에는 몇 가지 새로운 필드와 변화가 있습니다.

{
    "type": "selected",
    "name": "test",         
    "label": "topic",       
    "description": "desc",  
    "default": 1,
    "filter": "a>1",
    "group": "group1",
    "settings": { ... },    // Component configuration
}

위의 JSON 구조에서 각 필드의 설명과 설명:

  • 종류 컨트롤 타입 (필요한 필드) 는 다음 설정을 지원합니다."number"숫자 입력 상자"string"문자열 입력 박스,"selected"드롭다운 박스,"boolean"컨트롤을 바꿔

  • 이름 만약 현재 JSON 구조가 입력 필드의 필드 값이라면, 레이블 필드가 설정되지 않은 경우, 이름이란 상태 표시줄 버튼을 클릭한 후 팝업 상자에서 팝업되는 컨트롤 제목입니다. 현재 JSON 구조가 그룹 필드의 필드 값 (열 구조) 의 요소인 경우, 네임은 제어 제목으로 사용되지 않습니다. 네임 필드는 제어 입력 내용의 필드 이름을 표시하는 데 사용됩니다. 예를 들어 그룹 필드의 추출은 예로 사용됩니다.

    var testBtn3 = {
        type: "button",                     
        name: "testBtn3",
        cmd: "cmdTestBtn3", 
        group: [
            {name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]}, 
            {name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"}, 
            {name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]}, 
            {
                name: "comboBox4", 
                label: "labelComboBox4", 
                description: "Drop-down box 4", 
                type: "selected", 
                defValue: ["A", "C"], 
                multiple: true, 
                options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
            }
        ]
    }
    

    이 단편에 따르면, 상태 표시줄 버튼이 상호 작용을 유발하면, 4개의 컨트롤이 있는 팝업 박스가 팝업됩니다. 모두 드롭 다운 박스 컨트롤입니다. 각 컨트롤에 대한 옵션을 설정하고 상호 작용 메시지를 보내기 위해 OK를 클릭한 후, 전략의 GetCommand 함수는cmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}- 네 JSON 구조의 이름의 값은 반환된 상호 작용 정보의 필드 이름으로 사용됩니다. 예를 들어: comboBox1, comboBox2, 등.

  • 라벨 컨트롤의 타이틀을 설정하는 데 사용됩니다.

  • 설명 컨트롤의 설명. 현재 JSON 구조가 그룹 필드의 필드 값 (열 구조) 의 요소이고 레이블 필드가 설정되지 않은 경우, 설명은 상태 표시줄 버튼을 클릭한 후 팝업 상자에서 팝업되는 컨트롤 제목입니다.

  • 기본 컨트롤의 기본 값.

  • 필터 셀렉터, 컨트롤을 숨기는데 사용된다. 이 필드를 설정하지 않는 것은 필터링 (컨트롤을 표시하는 것) 을 의미하지 않는다; 이 필드가 설정되면, 표현식이 사실일 때 필터링 (컨트롤을 표시하는 것) 이 발생하지 않는다. 표현식이 거짓일 때 필터링 (컨트롤을 표시하지 않는 것) 이 발생한다.

  • 그룹 접을 수 있는 컨트롤의 그룹화를 제어하는 데 사용된다.

  • 설정 컴포넌트 구성, 컨트롤은 다양한 UI 옵션이 있습니다. 특정 설정을 하기 위해 이 옵션을 사용 합니다. 예를 들어:

    settings:{
        multiple:true,
        customizable:true,
        options:[{name:'xxx|yyy',value:0}]
    }
    

    설정: setings.required: 필요한지 여부 settings.disabled: 비활성화 여부 settings.min: type=number 때 유효하며, 문자열의 최소 값 또는 최소 길이를 나타냅니다. settings.max: type=number 때 유효하며, 최대 값 또는 문자열의 최대 길이를 나타냅니다. settings.step: type=number와 render=slider에서 유효하며, 단계 길이를 나타냅니다. settings.multiple: type=가 선택되면 유효합니다. 여러 선택이 지원된다는 것을 나타냅니다. settings.customizable: type=가 선택되면 유효하며, 사용자 정의가 지원된다는 것을 나타냅니다. 사용자는 드롭 다운 박스 컨트롤에서 직접 편집하고 새로운 옵션을 추가 할 수 있습니다. 새로 편집된 옵션이 선택되면 상호 작용이 시작되면 옵션이 나타내는 값 대신 옵션의 이름이 사용됩니다. settings.options: type=selected가 되면 유효하며, 선택 옵션 데이터 형식을 표시합니다: [option 1, option 2], [{name:xxx,value:0}, {name:xxx,value:1}]. settings.render: 렌더링 컴포넌트 타입 type=number, settings.render가 설정되지 않은 경우 (예정 번호 입력 상자), 선택: 슬라이더 (슬라이더 바), 날짜 (시간 선택기가 시간표를 반환합니다.) type=string, settings.render가 설정되어 있지 않은 경우 (예정된 단일 줄 입력 상자), 선택: textarea (multi-line input), date (time selector returns yyyy-MM-dd hh:mm:ss), color (color selector returns #FF00FF). type=가 선택되면, settings.render가 설정되지 않습니다 (예정 드롭다운 박스), 선택: 세그먼트 (세그먼트 선택기). type=boolean 때 현재 기본 체크 박스만 있습니다.

입력 JSON 의inputfield는 상태 표시줄 버튼을 클릭하면 나타나는 팝업 상자에서 컨트롤을 구성합니다.group그리고input제어기 그룹을 구성합니다.group같은 데이터 구조를 가지고input필드 값.input field.

그룹 배열

이중 언어 설정을 지원합니다:

{
    type:'selected',
    name:'test',
    label:'选项|options',
    description:'描述|description',
    default:0,                            // Here, the default value is set to 0, which means the value in the option {name:'xxx|yyy',value:0}
    filter:'a>1&&a<10',
    group:'分组|group',
    settings:{
        multiple:true,
        customizable:true,
        options:[{name:'xxx|yyy',value:0}]
    }
}

{@fun/Log/LogStatus LogStatus}

차트 옵션

이 JSON는 사용자 지정 그림 함수의 차트 구성 정보를 설정하는 데 사용됩니다.Chart(). 사용 된 차트 라이브러리는 Highcharts입니다. 몇 가지 기본 구성 필드만 여기에 나열되어 있습니다.

플랫폼 확장 필드. 하이스톡 차트를 사용하려면 true로 설정; 하이스톡 차트를 사용하려면 false로 설정.

__is주식 문자열

{
    layout: 'single', // Not participating in grouping, displayed separately, default is group 'group'
    height: 300,      // Specify height
}

연장 JSON 차트 제목 제목 문자열 X축 구성 x축 JSON Y축 구성 y축 JSON 그래프 데이터 시리즈 시리즈 JSON

간단한 그림 예제:

// This chart is an object in JavaScript language. Before using the Chart function, we need to declare an object variable chart to configure the chart.
var chart = {                                           
    // This field marks whether the chart is a general chart. If you are interested, you can change it to false and run it.
    __isStock: true,                                    
    // Zoom tool
    tooltip: {xDateFormat: '%Y-%m-%d %H:%M:%S, %A'},    
    // title
    title : { text : 'Price difference analysis chart'},                       
    // Select range
    rangeSelector: {                                    
        buttons:  [{type: 'hour',count: 1, text: '1h'}, {type: 'hour',count: 3, text: '3h'}, {type: 'hour', count: 8, text: '8h'}, {type: 'all',text: 'All'}],
        selected: 0,
        inputEnabled: false
    },
    // The horizontal axis of the coordinate axis is: x-axis, and the current setting type is: time
    xAxis: { type: 'datetime'},                         
    // The vertical axis of the coordinate axis is: the y-axis, the default value is adjusted according to the data size
    yAxis : {                                           
        // title
        title: {text: 'Price difference'},                           
        // Whether to enable the right vertical axis
        opposite: false                                 
    },
    // Data series, this property saves each data series (line, K-line chart, label, etc.)
    series : [                                          
        // The index is 0, and the data array stores the data of the index series.
        {name : "line1", id : "line 1,buy1Price", data : []},                          
        // The index is 1, dashStyle:'shortdash' is set, that is, a dashed line is set
        {name : "line2", id : "line 2,lastPrice", dashStyle : 'shortdash', data : []}  
    ]
}
function main(){
    // Call the Chart function to initialize the chart
    var ObjChart = Chart(chart)         
    // Clear
    ObjChart.reset()                      
    while(true){
        // Get the timestamp of this poll, which is a millisecond timestamp. Used to determine the position of the X-axis written to the chart
        var nowTime = new Date().getTime()
        // Get market data
        var ticker = _C(exchange.GetTicker)
        // Get the buy price from the return value of the market data
        var buy1Price = ticker.Buy    
        // Get the last transaction price. In order to prevent the two lines from overlapping, we add 1.
        var lastPrice = ticker.Last + 1
        // Use the timestamp as the X value and the buy price as the Y value to pass into the data sequence of index 0
        ObjChart.add(0, [nowTime, buy1Price])
        // Same as above
        ObjChart.add(1, [nowTime, lastPrice])
        Sleep(2000)
    }
}

{@fun/Log/Chart Chart}

KLineChart 옵션

이 JSON는 사용자 지정 그림 함수의 차트 구성 정보를 설정하는 데 사용됩니다.KLineChart. 몇 가지 기본 구성 필드만 여기에 나열되어 있습니다.

주요 차트에 그려야 할 지 겹치기 bool X축 구성 x축 JSON Y축 구성 y축 JSON 촛불 차트 구성 촛불 JSON

참고하시기 바랍니다KLineChart 함수를 사용하여 차트를 그리는 특별 기사.

{@fun/Log/KLineChart KLineChart}

세트데이터-데이터

JSON은 데이터 로딩을 설정하는 데 사용됩니다.exchange.SetData()JSON 데이터는 배열 구조입니다. 각각의 요소는 배열입니다.[time, data].

이 데이터의 시간을 표시하는 데이터의 시간표 시간 번호 데이터는 데이터에 의해 로드된 데이터의 특정 시간에 대응하는 데이터의 조각입니다exchange.SetData()전략이 실행되면,exchange.GetData()이 함수는 현재 시간에 따라 해당 타임 스탬프로 데이터를 얻습니다.

데이터 문자열, 숫자, bool, 객체, 배열 등

백테스팅 시스템에 데이터를 로딩하고 전략 백테스트가 실행될 때 데이터를 검색하는 예제:

/*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/
function main() {
    exchange.SetData("test", [[1579536000000, _D(1579536000000)], [1579622400000, _D(1579622400000)], [1579708800000, _D(1579708800000)]])
    while(true) {
        Log(exchange.GetData("test"))
        Sleep(1000 * 60 * 60 * 24)
    }
}

{@funSetData}, {@funGetData}

이벤트 루프 반환

이 JSON은EventLoop()기능.EventLoop()함수 모니터: 1. 웹소켓에서 읽을 수 있는 모든 데이터 이벤트; 2. 작업 완료 이벤트는 교환.Go ()) 및 HttpQuery_Go ()) 함수와 동시에; 3.threading.Thread()자바스크립트 언어 전략의 함수입니다.

이벤트 시퀀스 번호 제1항 번호 이벤트 이름 이벤트 문자열 이벤트 스레드 ID 스레드 번호 이벤트 인덱스 지수 번호 나노 시간표 나노 번호

사용exchange.Go()동시 요청 및 이벤트 데이터 구조를EventLoop() function.

{
    "Seq":1,
    "Event":"Exchange_GetTrades",
    "ThreadId":0,
    "Index":3,
    "Nano":1682068771309583400
}

자바스크립트 언어 전략의 동시 실행 스레드에서threading.Thread()함수) 에서postMessage()스레드 객체의 함수는 메시지를 전송하는 데 사용됩니다.EventLoop()메시지를 수신하는 스레드의 함수는 다음 이벤트 데이터 구조를 모니터링합니다.

{
    "Seq":4,
    "Event":"thread",
    "ThreadId":1,
    "Index":0,
    "Nano":1727592066508674000
}

###############################################################################################################################################################################################################################################################

DBExec-return

이 JSON은DBExec()함수; 그것은 또한 SQL 명령어를 실행 할 때 반환exec()원자로에 의해 생성된 객체의 방법Dial() function.

질의할 데이터의 열 이름, 문자열 배열. 열 배열 각 데이터 조각이 열 이름에 대응하는 특정 데이터를 검색합니다. 값 필드의 값은 2차원 배열이며, 각 요소는 배열과 데이터 기록입니다. 값 배열

데이터베이스에서 데이터를 검색하는 예제:

{
    "columns":["TS","HIGH","OPEN","LOW","CLOSE","VOLUME"],
    "values":[
        [1518970320000,100,99.1,90,100,12345.6],
        [1518960320000,100,99.1,90,100,12345.6]
    ]
}

{@fun/Global/DBExec DBExec}, {@fun/Global/Dial Dial}

Thread.join-return

이 JSON은 멤버 함수가 반환하는 데이터 구조입니다.join()Thread객체, 동시 스레드에 대한 정보를 저장하는JavaScript언어 전략Threadobject는 스레드 오브젝트를 의미합니다.threading.Thread().

스레드 아이디 id 번호 가닥이 끝나는지 종료 bool 나노초로 나선의 실행 시간은 경과 번호 스레드 함수의 반환 값 ret 번호

다음 코드는 시공 메커니즘을 테스트합니다.join()의 역할Thread객체 및 프린트join() function.

function testFunc() {
    for (var i = 0; i < 5; i++) {
        Log(i)
        Sleep(300)
    }
}

function main() {
    var t1 = threading.Thread(testFunc)
    Log(t1.join(1000))  // undefined
    Log(t1.join())      // {"id":1,"terminated":false,"elapsed":1506864000}
} ```


{@fun/Threads/Thread/join join}
재정 지원 내장 변수