양적 거래 전략의 지속적인 개선으로, 사용자는 위치 변경의 실시간 푸시에 대한 요구 사항이 점점 높아지고 있습니다. 예를 들어: 웹 온라인 로그, 모바일 앱 및 WeChat 등 모두 실시간으로 계정 위치 변경이 필요합니다.FMZ.COM) Mylanguage 전략은 모바일 앱과 WeChat에 실시간으로 포지션을 밀어내는 것을 달성합니다.
문서의 전체 소스 코드를 보려면 링크를 클릭하십시오:https://www.fmz.com/strategy/305785코드를 읽고 배우는 것만으로는 충분하지 않기 때문에 연습하기 위해 코드를 작성하는 것이 좋습니다.
편리하게 보여주기 위해 이 기사는 이전 윌리엄스 %R 거래 전략에 참조합니다. 전략의 링크 주소는:https://www.fmz.com/strategy/283024. 전략 논리는 윌리엄스 값과 이동 평균으로 구성됩니다. 완전한 전략과 백테스트 구성을 위해 이 링크를 클릭하여 얻을 수 있습니다. 이 전략의 코드는 다음과 같이 표시됩니다:
HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;
FMZ 퀀트 (FMZ.COM이 언어는 자바스크립트 언어의 추가 포괄이며, 양자화 초보자가 더 잘 시작할 수 있도록 돕는 것을 목표로합니다. MyLanguage는 간단한 문법을 가지고 있으며, 간단한 전략의 논리를 처리 할 수 있습니다. 복잡한 전략을 처리 할 때 언어는 몇 가지 문제를 나타냅니다. 따라서 FMZ Quant은 MyLanguage에 기반한 언어 향상 기능을 촉진했습니다. 다음 코드 예시와 같이:
%%
// here we can call any API of FMZ Quant
scope.TEST = function(obj) {
return obj.val * 100;
}
%%
close price:C;
Zoom 100 times of close price:TEST(C);
Zoom 100 times of last close price:TEST(REF(C, 1)); // move the mouse to the backtested K-line, and the variable value will prompt
위의 코드에서 보이는 것처럼, 언어 향상 기능은 MyLanguage와 자바스크립트의 프로그래밍을 혼합할 수 있습니다. 구체적인 설명은 문서를 참조하십시오.https://www.fmz.com/doc/2569#语�%A8%80%E5%A2%9E%E5%BC%BA
그 중:
1.범위 대상scope object; 속성을 추가할 수 있고, 속성에 익명 함수를 할당할 수 있다. 이 속성이 참조하는 익명 함수는 Mylanguage의 코드 부분에서 호출될 수 있다.
2.scope.get_locals (명)이 함수는 MyLanguage의 변수를 얻을 수 있고 MyLanguage와 JavaScript의 상호 작용을 실현할 수 있습니다.
Mylanguage 전략에서, BKVOL 함수는 구매 신호 롯, 즉 현재 긴 포지션을 얻을 수 있습니다. SKVOL 함수는 판매 신호 롯, 즉 현재 짧은 포지션을 얻을 수 있습니다. 그 다음, 우리는 SKVOL을 BKVOL에서 빼어 현재 위치 변화 상태를 계산할 수 있습니다. 아래 코드에 표시된 바와 같이:
HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;
%%
// adding the following code in any Mylanguage strategy can realize the push of position changes to mobile phone App and WeChat
if (typeof(scope._tmp) !== 'number') {
scope._tmp = 0;
}
var pos = scope.get_locals('BKVOL') - scope.get_locals('SKVOL');
if (pos != scope._tmp) {
scope._tmp = pos;
Log('Push position changes:', scope.symbol, pos, '@');
}
%%
위 코드에서는 William W%R
다음으로, 이 기능을 확인하기 위해 봇을 실행합니다. 봇을 만들고, OKEX 스팟을 선택하고, LTC_USDT로 통화 쌍을 설정합니다. (상품 선물과 암호화폐 선물도 이 기능을 사용할 수 있고, 동작은 동일합니다.)
1.신호가 발동되면 웹 로그로 이동합니다. 2.신호가 발동, 휴대 전화 앱을 누르십시오. 3.신호가 발동, WeChat 메시지에 누르기 누르기
위에는 간단한 MyLanguage William W%R 거래 전략과 MyLanguage의 언어 향상 모듈에 의해 개발된 메시지 푸시 모듈을 사용하여 실시간으로 모바일 앱과 WeChat에 위치 변경을 푸시하는 전략을 실현합니다. 모듈 코드는 모바일 앱과 WeChat에 위치 변경을 푸시하기 위해 모든 MyLanguage 전략에 첨부 될 수 있으며 개인화 된 푸시 요구를 충족시키기 위해 다양한 시나리오에 다양한 푸시 유형을 출시 할 수 있습니다.