거래 전략을 구축하기 위한 시각화 모듈 - 심층적
-
로직 모듈 유형
-
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. 나머지 모듈
이 모듈은 테넌(홈) 위치에 설정된 수치 모듈에서 수치적 나머지 연산을 수행합니다.
-
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/strategy/121404
- https://www.fmz.cn/strategy/129895
- https://www.fmz.cn/strategy/123904
- https://www.fmz.cn/strategy/122318
더 많은 전략은 https://www.fmz.cn/square에서 확인할 수 있습니다.
이 시리즈의 다른 기사
지루한 프로그래밍도 빌딩 블록을 사용하면 쉽게 완성할 수 있습니다. 시도해보세요, 매우 흥미롭습니다!
- 1



















