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

3.4 시각 프로그래밍 빠른 시작

저자:선함, 2019-04-23 15:00:14, 업데이트: 2019-04-27 11:54:05

요약

많은 주관적인 트레이더들은 양적 거래에 관심이 있으며, 처음에는 완전한 자신감으로 시작합니다. 기본적인 문법, 데이터 연산, 데이터 구조, 전통적인 프로그래밍 언어의 논리 제어 및 길고 복잡한 코드를 배운 후, 혼란에 빠지기 시작합니다. 그렇기 때문에 시각 프로그래밍 언어가 시작하는 데 더 적합 할 수 있습니다.

전체 전략

이 섹션의 핵심 포인트를 빠르게 이해하도록 돕기 위해 FMZ 퀀트 시각 프로그래밍을 소개하기 전에 전략 논리가 무엇인지 알아봅시다. 이 섹션에서 명사 개념에 대한 사전 이해가 있습니다. 우리는 50 기간 이동 평균보다 크면 긴 포지션을 열고 50 기간 이동 평균보다 작을 때 짧은 포지션을 열기 위해 가장 간단한 폐쇄 가격을 사용합니다.

  • 긴 포지션 개설: 현재 포지션이 없는 경우, 종료 가격은 50주기 이동 평균보다 높습니다.

  • 오픈 쇼트 포지션: 현재 포지션이 없는 경우, 종료 가격은 50주기 이동 평균보다 낮습니다.

  • 긴 포지션 종료: 현재 긴 포지션을 보유하고 있으며, 종료 가격은 50 주기의 이동 평균보다 낮습니다.

  • 닫는 짧은 포지션: 현재 짧은 포지션을 보유하고 있으며 닫기 가격은 50 주기의 이동 평균보다 높습니다.

위 전략 논리를 시각 프로그래밍에 적으면, 아래와 같이:

img

위에서 보여준 바와 같이 전체 설계 과정은: 시장 품종을 설정하고, K-라인 배열을 획득하고, 전 K-라인 50주기 평균 가격을 획득하고, 전 K-라인 폐쇄 가격을 획득하고, 보유 포지션 배열을 획득하고, 보유 포지션의 상태를 결정하고, 폐쇄 가격이 이동 평균보다 크거나 작는지 판단하고, 마지막으로 개시 또는 폐쇄 포지션을 수행합니다.

여기서는 모든 프로그래밍 언어의 중요한 데이터 구조 중 하나인 array의 개념에 주의를 기울여야 합니다. 배열은 일련의 값을 보유한 컨테이너와 같습니다. 예를 들어: K-line 배열을 얻는 API를 호출하면, 결과는 다음과 같습니다.

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

위 코드는 총 3개의 데이터의 K-라인 배열입니다. 3개의 데이터가 있습니다. 전 K 선의 데이터, 전 K 선의 데이터, 현재 K 선의 데이터, 그리고 이 값들을 arr 변수에 할당합니다. 이 배열의 마지막 값을 얻으려면 (현행 K 선 데이터) 다음과 같이 쓸 수 있습니다. (선 4과 5을 참조하십시오):

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

k0_1 = arr[2]; // get the data of current k line, this is the first method
k0_2 = arr[arr.length - 1]; // get the data of current k line, this is the second method
k1 = arr[arr.length - 2]; // get the data of pervious k line

우리는 두 번째 (5번째 줄) 방법을 사용해야 합니다. 왜냐하면 실제로는 수백 개의 K 직선 데이터가 있고, 새로운 K 직선이 지속적으로 증가하기 때문입니다. 그래서 먼저 배열의 길이를 얻어야 합니다.

영어 이름과 함께 {}에 있는 이 데이터는 각각 의미와 일치한다는 것을 발견할 수 있습니다. 시간, 개장 가격, 최고 가격, 최저 가격, 종료 가격, 거래량. 전선 K의 종료 가격을 얻으려면 .을 추가하고 필요한 값을 따르십시오. 아래 코드의 8 ~ 10 행을 참조하십시오.

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

k0_1 = arr[2]; // get the data of current k line, this is the first method
k0_2 = arr[arr.length - 1]; // get the data of current k line, this is the second method
k1 = arr[arr.length - 2]; // get the data of pervious k line

k1.Close; // get the pervious k line closing price
k2.Time; // get the pervious k line time
k1.Volume; // get the pervious k line trading volume

왜 시각적인 프로그래밍 언어를 사용하는 걸까요?

위의 개념들을 가지고, 자바 프로그래밍 언어로 출력 hello, world 프로그램을 작성하여, 아래와 같이 전통적인 프로그래밍을 느낄 수 있습니다:

public class HelloWorld {
    public static void main(string[] ages) {
        system.out.println("hello world!");
    }
}

출력 그냥 hello world! 문자열 프로그램, 코드 5 줄이 필요합니다. 나는 대부분의 초보자 단지 대괄호에 영어 단어 "hello, 세계!"를 알고 있다고 믿습니다, 다른 사람들은 단지 지옥처럼 혼란스러워합니다. 따라서, 출발점으로 시각 프로그래밍을 사용하는 것이 좋습니다.

시각 프로그래밍이란 무엇인가요?

시각 프로그래밍은 오랫동안 존재해 왔습니다. 이런 종류의 "What you see is what you get" 프로그래밍 아이디어는 다양한 제어 모듈을 갖추고 있습니다. 드래그 앤 드롭으로 코드 로직을 구축하고, 거래 전략 디자인을 완료할 수 있습니다.

img

위와 같이 동일한 프로그램, 시각 프로그래밍은 코드의 한 줄만 필요로 한다. 이것은 프로그래밍 문턱을 크게 감소, 특히 프로그래밍에 대해 아무것도 모르는 사람들을 위해, 이것은 훌륭한 운영 경험이다.

시각 프로그래밍 언어의 특징은 무엇일까요?

Blockly ((이 시각 프로그래밍 도구의 이름) 는 프로그래밍 장난감이 아니라, 운영 체제 위장 편집기가 아닌 일종의 편집기와 같습니다. 변수, 함수, 배열 및 사용자 정의 블록을 확장하기 쉬운 프로그래밍의 많은 기본 요소를 지원합니다. 복잡한 프로그래밍 작업을 완료하는 데 사용할 수 있습니다. 유닉스 철학에 따라 설계되었습니다.

FMZ 퀀트 시각 프로그래밍 도구 Blockly은 구글에 의해 출판되었다. 매사추세츠 대학에서 출시한 Scratch의 디자인과 유사하며 프로그래밍의 실제 제로 문턱 (아래 참조).

img

FMZ Quant 시각 프로그래밍 인터페이스에는 수백 개의 일반적인 거래 모듈이 내장되어 있으며, 거래자의 새로운 아이디어와 새로운 응용 프로그램을 지원하기 위해 나중에 더 많은 거래 모듈이 추가 될 것입니다.

문법은 간단하고 성능을 잃지 않습니다. 그것은 거의 모든 간단한 양적 거래 전략 개발을 만족시킬 수 있습니다. 기능이나 속도와 상관없이, 그것은 파이썬과 자바스크립트와 같은 일반 프로그래밍 언어만큼 좋습니다. 미래에, 그것은 논리적으로 복잡한 금융 응용 프로그램을 지원합니다.

사용 방법

img img

안녕하세요, 세계 프로그램

img img

달아, "안녕하세요, 세상"을 인쇄하세요

img

요약하면

완전한 시각 프로그래밍 전략의 시작에서 시각 프로그래밍 언어의 소개와 특성에 이르기까지 우리는 FMZ 퀀트 플랫폼에서이 도구를 사용하는 방법을 보여주었고 "hello world"의 예를 썼습니다. 그러나 우리는 모든 사람들에게 양적 거래의 한 단계 돌로 현재 FMZ 퀀트 플랫폼에 제한된 API 인터페이스만을 가지고 있음을 상기시켜야합니다. 양적 거래에 대해서는 전략의 논리를 정렬하는 데 도움이되는 도구로 취급하는 것이 좋습니다.

다음 섹션에 대한 알림

시각 프로그래밍은 높은 수준의 프로그래밍 언어의 기본과 다르지 않으며 심지어 일부 장소는 보편적입니다. 시각 프로그래밍을 배우는 것은 고급 프로그래밍을 배우는 데 한 걸음 더 나아갑니다. 다음 섹션에서는 FMZ Quant 플랫폼에서 일반적으로 사용되는 양적 거래 모듈을 작성하는 방법과 완전한 내일 거래 전략을 개발하는 방법을 포함하여 시각 프로그래밍의 고급 학습에 대해 알아보겠습니다.

학교 밖 운동

  1. FMZ 양자 플랫폼의 시각 프로그래밍 인터페이스에서 API를 사용해서 그 의미를 이해하세요.

  2. 시각 프로그래밍 언어로 최신 오픈 가격을 받아 로그에 출력합니다.


더 많은