avatar of 发明者量化-小小梦 发明者量化-小小梦
집중하다 사신
4
집중하다
1271
수행원

거래 전략을 구축하기 위한 시각화 모듈 - 심층적

만든 날짜: 2022-06-18 08:05:53, 업데이트 날짜: 2023-09-18 19:58:13
comments   0
hits   2248

거래 전략을 구축하기 위한 시각화 모듈 - 심층적

거래 전략을 구축하기 위한 시각화 모듈 - 심층적

  • 로직 모듈 유형

    • #### 1. 조건 모듈

    이 모듈은 결합된 조건 판단에 사용되며, 모듈은 여러 개의 조건 분기를 추가할 수 있습니다. 조건 분기를 추가하려면 작은 “기어” 아이콘을 클릭하세요.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    조건 모듈의 사용 예는 테스트를 위해 다음 모듈과 결합됩니다.

    • #### 2. 수치비교 모듈

    이 모듈은 두 개의 값을 비교하는 데 사용됩니다(이 모듈과 값 모듈이 표현식 모듈로 결합된 것으로 볼 수도 있습니다). 그리고 부울 값을 반환합니다. 이 모듈은 양쪽의 값이 “보다 크다”, “보다 작다”, “크거나 같다”, “보다 작거나 같다”, “같지 않다”, “같다”인지 판단할 수 있습니다. . 드롭다운 상자 옵션의 양쪽에 있는 테넌(움푹 들어간 부분) 위치는 숫자 및 변수 모듈로 포함될 수 있습니다(모듈이 숫자 값을 반환하는 경우).

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    “조건부 모듈”과 “가치 비교 모듈”을 사용하여 가치 판단 예제로 결합하는 예:

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적 보시다시피, 이 예제에서는 조건을 판단할 때 총 3개의 분기가 있습니다.

    JavaScript 전략에서 if 문을 사용하는 것과 같습니다.

    function main () {
        var a = 1
        var b = 2
        if (a > b) {
            Log("a > b")
        } else if (a < b) {
            Log("a < b")
        } else {
            Log("a == b")
        }
    }
    
    • #### 3. 논리적 OR, 논리적 AND 모듈

    이 모듈은 “OR 연산” 또는 “AND 연산”을 수행하는 데 사용됩니다. 연산에 관련된 모듈(부울 값을 반환하는 모듈 또는 숫자 값을 반환하는 모듈)은 테논(tenon) 위치에 내장됩니다. 모듈 중앙에 있는 드롭다운 상자 옵션의 양쪽입니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    이 모듈을 구체적으로 테스트하기 전에 먼저 부울 값 “true”/“false”(드롭다운 상자를 사용하여 설정)를 나타내는 모듈, 부울 값 “not”을 나타내는 모듈, 그리고 빈 값을 나타냅니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    • 빈 모듈은 다음을 나타냅니다.null 값, 어떤 변수가 null인지 비교하는 데 사용됩니다.
    • Boolean True/False 모듈은 다음을 나타냅니다.true / false 값은 특정 모듈이나 모듈 조합에서 반환되는 부울 값을 결정하는 데 사용됩니다.
    • Boolean “not” 모듈은 다음을 나타냅니다.! , 부울 NOT 연산을 수행하는 데 사용됩니다.

    테스트 예제:

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    “논리적 OR, 논리적 AND” 모듈도 중첩될 수 있음을 알 수 있습니다.

    중첩 모듈 스플라이싱의 예:

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    동등한 JavaScript 정책 코드:

    function main () {
        var a = 1 
        var b = 2
        Log((true && !false) || (a==b))
        Log(null)
    }
    

    !false는 거짓이 아닙니다. 즉, 참 값입니다. 논리식: (참 && !false): 두 개의 참 값을 연산하고 그 결과는 참입니다. a==b는 분명히 같지 않으므로 거짓입니다. 참 값과 거짓 값은 논리적으로 OR 연산되어 참 값을 생성합니다.

    실행 결과: 거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    • #### 4. 3항 연산 모듈

    이 모듈은 어설션 모듈이라고도 불리며, 그 기능은 일부 프로그래밍 언어의 삼항 연산자와 비슷합니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    이 모듈은 중첩될 수도 있습니다. 삼항 연산 모듈의 본질은 또한 조건 판단 논리이며, 그 기능은 조건 모듈과 유사합니다.

    위의 조건 모듈 튜토리얼을 Ternary Operation Module을 사용하여 리팩터링해 보세요. 다음은 그 예입니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    JavaScript로 작성된 정책 코드는 다음과 같습니다.

    function main () {
        var a = 1
        var b = 2
        Log(a < b ? b : (a > b ? a : "相等"))
    }
    

    관심이 있다면 a와 b의 값을 조정하여 백테스트를 실행해 볼 수 있습니다.

  • 수학 모듈 유형

이전에 설명한 많은 예에서 우리는 어느 정도 수학 모듈을 사용했습니다. 다음으로 우리가 아직 배우지 못한 몇 가지 수학 모듈을 설명하겠습니다.

  • 1. 삼각 함수 모듈

    이 모듈의 테넌(테넌) 위치에 대해 채워진 매개변수는 라디안 값이 아닌 각도 값입니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

  • 2. 파이 수치 모듈

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    백테스트 인쇄: 거래 전략을 구축하기 위한 시각화 모듈 - 심층적

  • 3. 특정 값 범위 내의 난수 모듈

    이 모듈은 설정된 숫자 범위 내에서 난수를 취합니다. 모듈 테논(오목) 위치는 숫자 값을 직접 채우거나 변수를 난수 범위의 시작 및 종료 값으로 사용할 수 있습니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    JavaScript 전략 코드와 같습니다.

    function main () {
        var a = 1
        var b = 9
        Log(_N(a + Math.random() * (b - a), 0))
    }
    
  • 4. 한계값 범위 모듈

    이 모듈은 첫 번째 테넌(테넌) 위치에 채워진 변수를 두 번째와 세 번째 테넌(테넌) 위치에 대해 설정된 범위로 제한합니다. 값이 범위의 최대값보다 크면 모듈은 범위의 최대값을 반환합니다. 값이 범위의 최소값보다 작으면 모듈은 최소값을 반환합니다. 이 범위 내에 있으면 첫 번째 테넌(오목한) 위치 값을 취하는 변수 자체의 값이 반환됩니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    JavaScript 전략 코드와 같습니다.

    function main () {
        var a = 9
        Log(Math.min(Math.max(2, a), 5))
    }
    
  • 5. 나머지 모듈

    이 모듈은 테넌(홈) 위치에 설정된 수치 모듈에서 수치적 나머지 연산을 수행합니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    64를 10으로 나누면 6이고 나머지는 4입니다. 거래 전략을 구축하기 위한 시각화 모듈 - 심층적

  • 6. 리스트 작업 모듈

    이 모듈은 목록 모듈(목록에 있는 요소의 합을 계산하는 등)에서 작동합니다.

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    거래 전략을 구축하기 위한 시각화 모듈 - 심층적

    JavaScript 전략 코드와 같습니다.

    function sum (arr) {
        var ret = 0
        for (var i in arr) {
            ret += arr[i]
        }
        return ret 
    }
    
    
    function main () {
        var b = 2
        var a = 1
        Log(sum([b,a,b,a,a]))
    }
    

시각화 예시 전략:

더 많은 전략은 https://www.fmz.cn/square에서 확인할 수 있습니다.

이 시리즈의 다른 기사

지루한 프로그래밍도 빌딩 블록을 사용하면 쉽게 완성할 수 있습니다. 시도해보세요, 매우 흥미롭습니다!