(2) BP信号が送信された後,K線 BARSBPは,現在のK線へのK線からの買いと閉じるポジションの期間数を戻します. BARSBP>=1の条件が満たされている場合,値はHHV(H, BARSBP+1),つまり,現在の最高価格への買いと閉じるポジションの最大値 (閉じる信号が表示される現在のK線を含む). 3.AA:=IFELSE(BARSBP>=1,REF(C,BARSBP),C);//ポジションを購入し,閉じる最後のKラインの閉じる価格を取ります. (1) BP信号を送信する現在のKラインのBARSBPが nullを返すと,KラインがBARSBP>=1の条件を満たさない場合,AAは現在のKラインの閉値に戻します. (2) BP信号が送信された後,Kライン BARSBPは,現在のKラインからポジションを購入し,閉じるKラインの期間の番号に戻ります.その後,AAは,閉じるKラインの閉じる価格であるREF ((C, BARSBP) に戻ります. (3) 例えば,3つのK線: 1,2,3 の場合,1のK線は閉じる信号の現在のK線であり,その後現在のK線の閉じる価格に戻り,2と3のK線AAは1のK線の閉じる価格に戻ります. ` `
現行のK線からカウントダウンしたN番目の固定 Sig信号の信号ロット数 (逆手注文はオープンポジションのロット数を取る) を返します.
用途:REFSIG_VOL(Sig,N);
,現在のK線から数え,第1の固定Sig信号のロットサイズを決定する. sig信号がない場合,または固定sig信号がない場合,関数は0を返します.
コメント:
1. Sig 位置によってサポートされる信号は:BK
, SK
, BP
, SP
, BPK
, SPK
,CLOSEOUT
,STOP
- わかった
2.第1の固定 Sig 信号までのカウントダウンが現在の K 線にある場合,関数は現在の信号ロットに戻ります.
4.N が 0 または 0 のとき,関数は 0 を返します.
5.パラメータNは変数をサポートします.
例として:
// If there are 5 K-lines from the current K-line where the third fixed BK signal is located from the bottom of the current K-line, and the number of signal lots is greater than 2, close all positions
REFSIG_PLACE(BK,3)=5&&REFSIG_VOL(BK,3)>2,SP(BKVOL);
現在のK線の始まりから第1の固定Sig信号の信号価格に戻します.
用途:REFSIG_PRICE(Sig,N);
, 現在のK線から第1の固定Sig信号の信号価格を決定する. Sig信号がない場合,または固定Sig信号がない場合,関数は0を返します.
コメント:
1. Sig 位置によってサポートされる信号は:BK
, SK
, BP
, SP
, BPK
, SPK
,CLOSEOUT
,STOP
- わかった
2.電流のK線に固定 Sig信号がある場合,関数で信号を計算すると,電流のK線の信号も含まれます.
3.Nが0または0であるとき,関数は0を返します.
4.パラメータNは変数をサポートします.
例として:
// If the opening price of the 3rd last fixed BK signal from the current K-line is 3000, and the long position is greater than 0, sell and close the position
REFSIG_PRICE(BK,3)=3000&&BKVOL>0,SP;
N 周期で X 信号の数を数える
用途:COUNTSIG(X,N);
N 周期で X 信号の数を数える
X はBK
, SK
, SP
, BP
, SPK
, BPK
,CLOSEOUT
,STOP
.
コメント:
1.統計期間中,
(1) 現在のK線を含んでいます.
(2) N が 0 である場合,最初の有効値からカウントします.
(3) N が有効値で,現在の K 線数が N よりも小さい場合,最初の 1 から現在の周期まで数えます.
(4) N が null のとき返される値は null です.
(5) N は変数でもあり得る.
2.信号を数えるとき:
(1) 信号実行方法は,現在のK線に固定されていない信号を除いて,K線が完了した後に確認信号またはK線が完了した後にレビューとして選択されます (例:モデルにCHECKSIG(SIG,
例として:
N:=BARSLAST(DATE<>REF(DATE,1))+1;
BKN:=COUNTSIG(BK,N);
MA5:=MA(C,5);
BKN=0&&C>MA5,BK; // There is no BK signal in the day and the latest price is greater than the 5-period moving average, then buy and open a position
指定された開口位置信号のK線位置を取ります
用途:ENTRYSIG_PLACE(N);
, 完了した取引中にN位ポジション開示信号が位置するK線の位置を取ります. ポジションを開ける信号がない場合は,関数は null を返します.
コメント:
1.ポジション開設のシグナルは:BK
, SK
, BPK
, SPK
- わかった
2.ポジションは,開設から0で保持されるまで,完全な取引とみなされます.
3. 完全な取引におけるオープン・シグナル数が N 未満である場合,関数は null を返します.
4.K線位置は,指定された開口信号が位置する現在のK線からK線までの数である.
5.Nが0または0であるとき,関数は0を返します.
6.パラメータNは変数としてサポートされません.
例として:
ENTRYSIG_PLACE(3)=5&&BKVOL>0,SP; // If the K-line of the third position opening signal is 5 K-lines away from the current K-line, and the long position is greater than 0, sell and close the position
指定されたオープンポジション信号の価格を取ります
用途:ENTRYSIG_PRICE(N);
, 完了した取引におけるN番目の開示信号の価格を取ります. ポジションを開く信号がない場合は,関数は null を返します.
コメント:
1.ポジション開設のシグナルは:BK
, SK
, BPK
, SPK
- わかった
2.ポジションは,開設から0で保持されるまで,完全な取引とみなされます.
3. 完全な取引におけるオープン・シグナル数が N 未満である場合,関数は null を返します.
4.Nが0または0であるとき,関数は0を返します.
5.パラメータNは変数としてサポートされません.
6.この関数の計算には滑り込みも含まれます.
7.閉値モデル:指定された信号の現在のK線関数の値は変化しない.
コマンド価格モデル:指定された信号の現在のK線で,現在の取引のN番目の開示信号の価格に戻す.
例として:
ENTRYSIG_PRICE(3)=3000&&BKVOL>0,SP; // If the opening price of the 3rd fixed opening signal is 3000, and the long position is greater than 0, sell and close the position
指定された位置開示信号の信号をセットにします
用途:ENTRYSIG_VOL(N);
, 完全な取引におけるN番目の開示信号の信号ロットサイズを取ります. ポジションを開く信号がない場合は,関数は null を返します.
コメント:
1.ポジション開設のシグナルは:BK
, SK
, BPK
, SPK
- わかった
(2) 取引は,開設から0で保持されるまで,完全な取引とみなされます.
3.完全な取引におけるオープン・シグナル数が N 未満である場合,関数は null を返します.
4.Nが0または0であるとき,関数は0を返します.
5.パラメータNは変数としてサポートされません.
6.閉値モデル:指定された信号の現在のK線関数の値は変化しない.
コマンド価格モデル:指定されたシグナルの現在のK線で,現在の取引のN番目の開示シグナルのシグナルロット番号に戻ります.
例として:
ENTRYSIG_PRICE(3)=3000&&ENTRYSIG_VOL(3)>2,SP; // If the opening price of the 3rd fixed opening signal is 3000, and the signal lot number of the 3rd fixed opening signal is greater than 2, sell and close the position
指定された閉じる信号のK線位置を取ります
用途:EXITSIG_PLACE(N);
, 完全な取引における第1の閉局信号のK線の位置を取ります. 閉じる信号がない場合は,関数は null を返します.
コメント:
1.ポジションを閉じるシグナルとは:BP
, SP
, CLOSEOUT
, STOP
- わかった
2.ポジションは,開設から0で保持されるまで,完全な取引とみなされます.
3. 閉じる信号の数が N 未満の場合,関数は null を返します.
4.K線位置は,現在のK線から指定された終了信号までのK線の数を指します.
5.Nが0または0であるとき,関数は0を返します.
6.パラメータNは変数としてサポートされません.
例として:
EXITSIG_PLACE(3)=5&&BKVOL<=0,BK; // If the K-line of the third closing signal is 5 K-lines away from the current K-line, and there is no long position, buy to open a position
指定された閉店シグナルの価格を
用途:EXITSIG_PRICE(N);
完了した取引における第1の閉じる信号の価格を取ります. 閉じる信号がない場合は,関数は null を返します.
コメント:
1.ポジションを閉じるシグナルとは:BP
, SP
, CLOSEOUT
, STOP
- わかった
2.ポジションは,開設から0で保持されるまで,完全な取引とみなされます.
3.取引の完了中の終了シグナル数が N 未満の場合,関数は null を返します.
4.Nが0または0であるとき,関数は0を返します.
5.パラメータNは変数としてサポートされません.
6.この関数の計算には滑り込みも含まれます.
7.閉値モデル:指定された信号の現在のK線関数の値は変化しない.
コマンド価格モデル:指定された信号の現在のK線で,現在の取引のN番目の開示信号の価格に戻す.
例として:
EXITSIG_PRICE(3)=3000&&BKVOL>0,SP; // If the closing price of the 3rd fixed closing signal is 3000, and the long position is greater than 0, sell and close the position
指定された閉じる位置信号の信号を集めます.
用途:EXITSIG_VOL(N)
完了した取引における第1の終了信号の信号・ロットサイズを取ります. 接近ポジション信号がない場合は,関数は null を返します.
コメント:
1.ポジションを閉じるシグナルとは:BP
, SP
, CLOSEOUT
, STOP
- わかった
2.ポジションは,開設から0で保持されるまで,完全な取引とみなされます.
3.取引の完了中の終了シグナル数が N 未満の場合,関数は null を返します.
4.Nが0または0であるとき,関数は0を返します.
5.パラメータNは変数としてサポートされません.
6.閉値モデル:指定された信号の現在のK線関数の値は変化しない.
コマンド価格モデル:指定されたシグナルの現在のK線で,現在の取引のN番目の終了シグナルのシグナルロット番号に戻ります.
例として:
EXITSIG_PRICE(3)=3000&&EXITSIG_VOL(3)>2,BK; // If the closing price of the 3rd fixed closing signal is 3000, and the signal lot number of the 3rd fixed closing signal is greater than 2, buy to open the position
注文番号を取って
MYVOL take the lot number of orders.
Usage: Take the lot number of orders, it is mostly used for lot calculation when multiple contracts are loaded in the scale in/dump model.
Remark:
Backtesting: Return to the lot size set in the backtesting parameters.
Examples:
// When the order lot size in the loading parameter is set to 3, the order lot size of BK written following is 6
C>O,BK(2*MYVOL);
C<O,SP(BKVOL);
口座に預けられる資金
MONEY funds available in the account.
Usage: MONEY returns to the available funds in the account for calculation of positions, lot sizes, etc.
Calculation methods:
1.The initial value of MONEY in the account is the starting capital set in the margin parameters.
2.The initial value of MONEY in the historical backtesting is the initial capital set in the backtesting parameters.
3.The MONEY value of the current K-line of the position opening signal: available funds before opening a position - margin for holding positions - handling fee, where margin for holding positions = opening price * margin ratio * trading unit * lot size.
4.Money value of K-line not closed after opening = money value of K-line before opening signal + floating profit and loss profit.
5.The MONEY value of the current K-line of the closing signal: available funds before closing the position + profit and loss of closing the position + margin released by closing the position - handling fee, where the margin released by closing the position = opening price * margin ratio * trading unit * lot size.
Remarks:
1.The signal execution method is 'confirm the order after the K-line is completed' or 'XX order and review after the K-line is completed':
a.When the signal to open a position is a K-line, the return value of MONEY is the available funds of the previous K-line - margin for opening a position - handling fee.
b.When the closing signal is a K-line, the return value of MONEY is the available funds of the previous K-line + closing profit and loss + margin released by the position - handling fee.
2.Select the signal execution method as 'send a signal to place an order without reviewing':
a.When the signal to open a position is a K-line, the return value of MONEY is the available funds of the previous K-line - margin for opening a position - handling fee.
b.When the closing signal is a K-line, the return value of MONEY is the available funds of the previous K-line + closing profit and loss + margin released by the position - handling fee.
3.The signal execution method is 'When the K-line is completed to confirm the signal to place an order', the closing profit and loss = (the closing price of the K-line of the closing signal - the opening price) * lot size * trading unit - handling fee.
4.When the signal execution method is 'the signal is placed immediately without review', the closing profit and loss = (the order price of the closing signal - the opening price) * lot size * trading unit - handling fee.
5.After the account is initialized, the return value of MONEY is the funds available in the initialization box.
Examples:
K:=MONEY*0.2/(C*MARGIN*UNIT+FEE); // The number of lots that can be opened with 20% of the account's available funds (this writing method is applicable to contracts that charge a fee based on a fixed number of lots), FEE custom, or calculated
口座の自己資本
MONEYTOT account Equity.
Usage: MONEYTOT returns to the current account equity, and the model performs position control. It is used for fund management such as order lot size.
Calculation method: MONEYTOT=Account available funds + position margin.
Remarks:
1.The initial value of MONEYTOT in the account is the initial capital set in the margin parameters.
2.The initial value of MONEYTOT in the historical backtesting is the initial capital set in the backtesting parameters.
3.When the account is initialized:
a.The current signal is the opening signal, and the return value of MONEYTOT is the available funds of the account in the initialization box.
b.The current signal is the closing signal, then MONEYTOT returns to the available funds of the account + margin in the initialization box.
4.The signal to open a position is the K-line: MONEYTOT = available funds in the account + margin for holding positions.
5.After opening a position and before closing a position: MONEYTOT returns to the available funds in the current account + margin for holding positions.
6.The current k-line of the closing signal: when the position is 0, MONEYTOT = available funds; when the position is not 0, MONEYTOT = available funds + margin occupied by the position.
Remark:
The available funds in the position list are the available funds including floating profit and loss (= current equity - margin occupied by positions).
Examples:
K:=MONEYTOT*0.2/(C*MARGIN*UNIT+FEE); // The number of lots that can be opened with 20% of the account equity(this writing method is applicable to contracts that charge a fixed lot size), FEE customization, or calculation.
取引口座の可用資金への返金,MONEY
.
用途:ACCOUNTMONEY
取引口座の可用資金に戻す.
取引口座の自己資本への返金,MONEYTOT
.
用途:ACCOUNTMONEYTOT
取引口座の資本に戻す.
デジタル通貨のスポット口座に存在するコインの数.
1.It is used for digital currency spot to obtain the current number of available coins.
Leverage.
デジタル通貨スポット
a := MARGIN; // Fixed as value 1
デジタル通貨の先物
デジタル通貨の先物レバレッジを設定する
a := MARGIN; // Declare the variable a and assign the current contract leverage to a
販売価格を得るためにTICK
一つは
販売価格を得るためにTICK
2人のために
販売価格を得るためにTICK
3人のために
販売価格を得るためにTICK
4人のために
販売価格を得るためにTICK
5年間
販売量を計算するTICK
一つは
販売量を計算するTICK
2人のために
販売量を計算するTICK
3人のために
販売量を計算するTICK
4人のために
販売量を計算するTICK
5年間
値引き価格を得るTICK
一つは
値引き価格を得るTICK
2人のために
値引き価格を得るTICK
3人のために
値引き価格を得るTICK
4人のために
値引き価格を得るTICK
5年間
求出量を取得するTICK
一つは
求出量を取得するTICK
2人のために
求出量を取得するTICK
3人のために
求出量を取得するTICK
4人のために
求出量を取得するTICK
5年間
最新の価格を取得TICK
.
エラーテキストが投げられ,プログラムが終了します.
EXIT('msg'); // Parameters need to be passed in, string parameters need to be wrapped with '', an error is thrown, the error text is string msg
ログ出力
INFO(cond, param, ...);
1.cond is a condition variable, output log if true.
2.A condition variable can be followed by multiple variadic parameters.
Example:
INFO(1, C, '<-closing price');
現在設定されている契約マッピングの交換契約コードを取得するには CONTRACT を使用します.
INFO(1, CONTRACT);
DATA コマンドでデータを読み込みます.
(*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*)
A:DATA('https://www.fmz.com/upload/asset/32bf73a69fc12d36e76.json');
INFO(1, CONTRACT, A);
C>HV(H, 10),SPK;
C<LV(L, 15),BPK;
AUTOFILTER;
使用['attribute name']
データの属性の値を取りますhttps://www.fmz.com/upload/asset/1ef31d778467ed9dd00.json
これは,他のサービスプログラムによって提供されるデータへのリンク,またはそれは,例のコメントの一部のように,FMZ Quant取引プラットフォームのデータセンターによって提供されるデータである可能性があります(*Consumption Index: DATA('CPI')[ 'city'];*)
コードを使うCPI
データを取得する (まだ全部開いていない).
(*backtest
start: 2018-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*)
Consumption index: DATA('https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.json')['city'];
(*Consumption index: DATA('CPI')['city'];*)
Consumption index > HV(Consumption index, 90),BPK;
Consumption index < LV(Consumption index, 90),SPK;
AUTOFILTER;
最低価格ポイント
BITMEXの先物取引所で 最低価格ポイントは0.5です OKEXの先物取引所で 最低価格ポイントは0.01です
ある契約の価格が比較的低い場合,価格設定の通貨精度,取引の種類精度などのパラメータの設定が適切かどうかを注意する必要があります.
変数の最長期数
グラフのK線 BARの数に影響します.SetMaxBarLen
機能についてjavascript
戦略が重要なのです
MyLanguage 戦略,状態列の表に表示される位置の数.
すべては,実際に保持されているポジションの数です.
条件付きの判断 (この方法で書くことはお勧めしません)
IF H > C THEN
BEGIN
X:=10;
END
例として:
リアルタイム価格モデルを使用すると,新しいK線バーが検出されます.
VARIABLE:N:0;
IF N <> BARPOS AND ISLASTBAR = 1 THEN
BEGIN
N:=BARPOS;
INFO(1, '123');
END