(2)Selepas isyarat BP dihantar, BARSBP garisan K kembali kepada bilangan tempoh dari garisan K untuk membeli dan menutup kedudukan ke garisan K semasa. Jika syarat BARSBP>=1 dipenuhi, nilainya adalah HHV(H, BARSBP+1), iaitu nilai maksimum kedudukan membeli dan menutup (termasuk garisan K semasa apabila isyarat penutupan muncul) kepada harga tertinggi semasa. 3.AA:=IFELSE(BARSBP>=1,REF(C,BARSBP),C);//Ambil harga penutupan K-line terakhir untuk membeli dan menutup kedudukan: (1)Apabila BARSBP garis K semasa yang menghantar isyarat BP mengembalikan null, maka apabila garis K tidak memenuhi syarat BARSBP>=1, AA kembali ke harga penutupan garis K semasa. (2) K-line BARSBP selepas isyarat BP dihantar kembali ke nombor tempoh K-line untuk membeli dan menutup kedudukan dari K-line semasa, kemudian AA kembali ke REF ((C, BARSBP), yang merupakan harga penutupan K-line penutupan. (3)Sebagai contoh: tiga K-garis: 1, 2, dan 3, K-garis di 1 adalah K-garis semasa isyarat penutupan, kemudian kembali ke harga penutupan K-garis semasa, dan K-garis AA di 2 dan 3 kembali ke harga penutupan K-garis di 1. ` `
Mengembalikan jumlah lot isyarat untuk isyarat Sig tetap Nth yang dikira mundur dari garis K semasa (perintah balik mengambil jumlah lot kedudukan terbuka).
Penggunaan:REFSIG_VOL(Sig,N);
, tentukan saiz lot isyarat Sig tetap Nth yang dikira dari garis K semasa. Jika tiada isyarat sig, atau jika tiada isyarat sig tetap, fungsi mengembalikan 0.
Nota:
1.Sinyal yang disokong oleh kedudukan Sig ialah:BK
, SK
, BP
, SP
, BPK
, SPK
,CLOSEOUT
,STOP
.
2.Jika hitungan mundur kepada isyarat Sig tetap ke-N berada pada garis K semasa, maka fungsi kembali ke lot isyarat semasa.
4.Apabila N adalah 0 atau sifar, fungsi mengembalikan 0.
5.Parameter N menyokong pembolehubah.
Contoh:
// 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);
Kembali ke harga isyarat isyarat Sig tetap Nth dari permulaan K-garis semasa.
Penggunaan:REFSIG_PRICE(Sig,N);
, menentukan harga isyarat isyarat Sig tetap ke-N dari garis K semasa. Jika tiada isyarat Sig, atau jika tiada isyarat Sig tetap, fungsi mengembalikan 0.
Nota:
1.Sinyal yang disokong oleh kedudukan Sig ialah:BK
, SK
, BP
, SP
, BPK
, SPK
,CLOSEOUT
,STOP
.
2.Jika terdapat isyarat Sig tetap pada garis K semasa, maka apabila fungsi mengira isyarat, isyarat garis K semasa termasuk.
3.Apabila N adalah 0 atau sifar, fungsi mengembalikan sifar.
4.Parameter N menyokong pembolehubah.
Contoh:
// 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;
Hitung bilangan isyarat X dalam N tempoh.
Penggunaan:COUNTSIG(X,N);
Hitung bilangan isyarat X dalam N tempoh.
X boleh menjadiBK
, SK
, SP
, BP
, SPK
, BPK
,CLOSEOUT
,STOP
.
Nota:
1.Selama tempoh statistik,
(1) Mengandungi garis K semasa.
(2) Jika N adalah 0, maka kira dari nilai sah pertama.
(3) Apabila N adalah nilai yang sah, tetapi bilangan garis K semasa adalah kurang daripada N, kira dari yang pertama hingga tempoh semasa.
(4) Nilai pulangan adalah null apabila N adalah null.
(5) N boleh menjadi pembolehubah.
2.Apabila mengira isyarat:
(1) Kaedah pelaksanaan isyarat dipilih sebagai isyarat pengesahan selepas garis K selesai atau semakan semula selepas garis K selesai (contohnya: tulis CHECKSIG(SIG,
Contoh:
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
Ambil kedudukan garis K dari isyarat kedudukan pembukaan yang ditentukan.
Penggunaan:ENTRYSIG_PLACE(N);
, mengambil kedudukan garis K di mana isyarat pembukaan kedudukan Nth terletak dalam perdagangan lengkap. Jika tidak ada isyarat untuk membuka kedudukan, fungsi mengembalikan null.
Nota:
1.Sinyal untuk membuka kedudukan adalah:BK
, SK
, BPK
, SPK
.
2.Posisi dianggap sebagai perdagangan penuh dari masa ia dibuka sehingga ia dipegang pada 0.
3.Jika bilangan isyarat terbuka dalam perdagangan lengkap adalah kurang daripada N, fungsi mengembalikan sifar.
4.Posisi garis K adalah nombor dari garis K semasa ke garis K di mana isyarat pembukaan yang ditentukan terletak.
5.Apabila N adalah 0 atau sifar, fungsi mengembalikan sifar.
6.Parameter N tidak disokong sebagai pembolehubah.
Contoh:
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
Ambil harga isyarat kedudukan terbuka yang ditentukan.
Penggunaan:ENTRYSIG_PRICE(N);
, mengambil harga isyarat pembukaan ke-N dalam perdagangan lengkap. Jika tidak ada isyarat untuk membuka kedudukan, fungsi mengembalikan null.
Nota:
1.Sinyal untuk membuka kedudukan adalah:BK
, SK
, BPK
, SPK
.
2.Posisi dianggap sebagai perdagangan penuh dari masa ia dibuka sehingga ia dipegang pada 0.
3.Jika bilangan isyarat terbuka dalam perdagangan lengkap adalah kurang daripada N, fungsi mengembalikan sifar.
4.Apabila N adalah 0 atau sifar, fungsi mengembalikan sifar.
5.Parameter N tidak disokong sebagai pembolehubah.
6.Pengiraan fungsi ini merangkumi seluncur.
7.Model harga penutupan: Nilai fungsi garis K semasa isyarat yang ditentukan tidak akan berubah.
Model harga perintah: Kembali ke harga isyarat pembukaan nth perdagangan semasa di garis K semasa isyarat yang ditentukan.
Contoh:
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
Ambil lot isyarat isyarat pembukaan kedudukan yang ditentukan.
Penggunaan:ENTRYSIG_VOL(N);
, mengambil saiz lot isyarat isyarat pembukaan ke-N dalam perdagangan lengkap.
Nota:
1.Sinyal untuk membuka kedudukan adalah:BK
, SK
, BPK
, SPK
.
2.Posisi dianggap sebagai perdagangan penuh dari masa ia dibuka sehingga ia dipegang pada 0.
3.Jika bilangan isyarat terbuka dalam perdagangan lengkap adalah kurang daripada N, fungsi mengembalikan sifar.
4.Apabila N adalah 0 atau sifar, fungsi mengembalikan sifar.
5.Parameter N tidak disokong sebagai pembolehubah.
6.Model harga penutupan: Nilai fungsi garis K semasa isyarat yang ditentukan tidak akan berubah.
Model harga perintah: Pada garis K semasa isyarat yang ditentukan, ia kembali ke nombor lot isyarat isyarat pembukaan ke-N dari dagangan semasa.
Contoh:
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
Ambil kedudukan garis K isyarat penutupan yang ditentukan.
Penggunaan:EXITSIG_PLACE(N);
, mengambil kedudukan garis K isyarat penutupan ke-N dalam perdagangan lengkap. Jika tidak ada isyarat penutupan, fungsi mengembalikan null.
Nota:
1.Sinyal untuk menutup kedudukan adalah:BP
, SP
, CLOSEOUT
, STOP
.
2.Posisi dianggap sebagai perdagangan penuh dari masa ia dibuka sehingga ia dipegang pada 0.
3.Apabila bilangan isyarat penutupan adalah kurang daripada N, fungsi mengembalikan sifar.
4.Posisi K-line merujuk kepada bilangan K-line dari K-line semasa hingga isyarat penutupan yang ditetapkan.
5.Apabila N adalah 0 atau sifar, fungsi mengembalikan sifar.
6.Parameter N tidak disokong sebagai pembolehubah.
Contoh:
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
Ambil harga isyarat kedudukan penutupan yang ditentukan.
Penggunaan:EXITSIG_PRICE(N);
, mengambil harga isyarat penutupan ke-N dalam perdagangan lengkap. Jika tidak ada isyarat penutupan, fungsi mengembalikan null.
Nota:
1.Sinyal untuk menutup kedudukan adalah:BP
, SP
, CLOSEOUT
, STOP
.
2.Posisi dianggap sebagai perdagangan penuh dari masa ia dibuka sehingga ia dipegang pada 0.
3.Apabila bilangan isyarat penutupan dalam perdagangan lengkap adalah kurang daripada N, fungsi mengembalikan sifar.
4.Apabila N adalah 0 atau sifar, fungsi mengembalikan sifar.
5.Parameter N tidak disokong sebagai pembolehubah.
6.Pengiraan fungsi ini merangkumi seluncur.
7.Model harga penutupan: Nilai fungsi garis K semasa isyarat yang ditentukan tidak akan berubah.
Model harga perintah: Kembali ke harga isyarat pembukaan nth perdagangan semasa di garis K semasa isyarat yang ditentukan.
Contoh:
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
Ambil lot isyarat isyarat kedudukan penutupan yang ditentukan.
Penggunaan:EXITSIG_VOL(N)
Ambil saiz lot isyarat isyarat penutupan ke-N dalam perdagangan lengkap.
Nota:
1.Sinyal untuk menutup kedudukan adalah:BP
, SP
, CLOSEOUT
, STOP
.
2.Posisi dianggap sebagai perdagangan penuh dari masa ia dibuka sehingga ia dipegang pada 0.
3.Apabila bilangan isyarat penutupan dalam perdagangan lengkap adalah kurang daripada N, fungsi mengembalikan sifar.
4.Apabila N adalah 0 atau sifar, fungsi mengembalikan sifar.
5.Parameter N tidak disokong sebagai pembolehubah.
6.Model harga penutupan: Nilai fungsi garis K semasa isyarat yang ditentukan tidak akan berubah.
Model harga perintah: Pada garis K semasa isyarat yang ditentukan, ia kembali ke nombor lot isyarat isyarat penutupan ke-N dari dagangan semasa.
Contoh:
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
Ambil nombor pesanan.
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);
Dana yang ada dalam akaun.
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
Ekuiti Akaun.
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.
Pengembalian kepada dana yang tersedia dalam akaun dagangan, bersamaan denganMONEY
.
Penggunaan:ACCOUNTMONEY
Kembali ke dana yang tersedia dalam akaun dagangan.
Pengembalian kepada ekuiti dalam akaun dagangan, bersamaan denganMONEYTOT
.
Penggunaan:ACCOUNTMONEYTOT
Kembali ke ekuiti dalam akaun dagangan.
Bilangan syiling yang tersedia dalam akaun mata wang digital.
1.It is used for digital currency spot to obtain the current number of available coins.
Leverage.
Spot mata wang digital
a := MARGIN; // Fixed as value 1
Masa hadapan mata wang digital
Masa hadapan mata wang digital menetapkan leverage.
a := MARGIN; // Declare the variable a and assign the current contract leverage to a
Dapatkan harga jualanTICK
untuk satu.
Dapatkan harga jualanTICK
untuk dua orang.
Dapatkan harga jualanTICK
untuk tiga.
Dapatkan harga jualanTICK
untuk empat.
Dapatkan harga jualanTICK
untuk lima.
Dapatkan jumlah jualanTICK
untuk satu.
Dapatkan jumlah jualanTICK
untuk dua orang.
Dapatkan jumlah jualanTICK
untuk tiga.
Dapatkan jumlah jualanTICK
untuk empat.
Dapatkan jumlah jualanTICK
untuk lima.
Dapatkan harga tawaranTICK
untuk satu.
Dapatkan harga tawaranTICK
untuk dua orang.
Dapatkan harga tawaranTICK
untuk tiga.
Dapatkan harga tawaranTICK
untuk empat.
Dapatkan harga tawaranTICK
untuk lima.
Dapatkan jumlah tawaranTICK
untuk satu.
Dapatkan jumlah tawaranTICK
untuk dua orang.
Dapatkan jumlah tawaranTICK
untuk tiga.
Dapatkan jumlah tawaranTICK
untuk empat.
Dapatkan jumlah tawaranTICK
untuk lima.
Dapatkan harga terkiniTICK
.
Satu teks ralat dilemparkan dan program keluar.
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
Keluaran log
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');
Gunakan CONTRACT untuk mendapatkan kod kontrak pertukaran pemetaan kontrak yang ditetapkan pada masa ini.
INFO(1, CONTRACT);
Gunakan perintah DATA untuk memuatkan 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;
Penggunaan['attribute name']
untuk mengambil nilai atribut dalam data.https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.json
adalah pautan data luaran, ia boleh menjadi pautan kepada data yang disediakan oleh program perkhidmatan lain, atau ia boleh menjadi data yang disediakan oleh pusat data platform perdagangan FMZ Quant, seperti bahagian komen dalam contoh(*Consumption Index: DATA('CPI')[ 'city'];*)
, gunakan kodCPI
untuk mendapatkan data (data belum dibuka).
(*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;
Titik harga minimum
Di bursa niaga hadapan BITMEX, mata harga minimum adalah 0.5. Di bursa niaga hadapan OKEX, mata harga minimum adalah 0.01.
Apabila harga beberapa kontrak agak rendah, perlu memberi perhatian kepada sama ada penetapan parameter, seperti ketepatan harga mata wang, ketepatan pelbagai dagangan adalah sesuai.
Bilangan maksimum tempoh pembolehubah
Ia mempengaruhi bilangan carta K-garis BARs dengan cara yang sama yang memanggilSetMaxBarLen
fungsi dalamjavascript
Strategi yang penting.
Strategi MyLanguage, bilangan kedudukan yang dipaparkan pada jadual dalam lajur status.
Semua adalah bilangan sebenar jawatan yang dipegang.
Penghakiman bersyarat (tidak disyorkan untuk menulis dengan cara ini).
IF H > C THEN
BEGIN
X:=10;
END
Contoh:
Apabila model harga masa nyata digunakan, Bar K-line baru dikesan:
VARIABLE:N:0;
IF N <> BARPOS AND ISLASTBAR = 1 THEN
BEGIN
N:=BARPOS;
INFO(1, '123');
END