復習システムでのデュマイグ策は,通常,Log()
この DEBUG 機能は,非常に低効率で,プログラムテストの経験が少ない初心者にとっては困難である.JavaScript
言語の戦略的なデビューについてChrome
ブラウザのサポートはより良くなります. 復習時に断片調整,単步調節,変数値監視,表現モニタリングなどが可能になります. では,この方法をFMZ上でどのように使うかを一緒に学びましょう.Javascript
言語のポリシーの復元時にDEBUGします. 注意,FMZでは,DEBUGのみです.Javascript
言語の戦略は,このデュッキング方法を支持する.
debugger
命令FMZのJavaScript言語のポリシーコードに挿入するdebugger
命令は,復習時にプログラムを停止させることができる.
テストの戦略コードは以下の通りです.
/*backtest
start: 2022-03-21 09:00:00
end: 2022-06-21 15:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
function main() {
var n = 1
while (true) {
var t = exchange.GetTicker()
debugger
var r = exchange.GetRecords()
if (n == 1) {
// 下买单,此处有错误,会报错,返回null,GetTicker返回数据t,只有Buy属性,没有buy属性,属性名区分大小写
var id = exchange.Buy(t.buy, 0.1)
var orderBuy = exchange.GetOrder(id)
}
Sleep(500)
}
}
復習から設定コード
/*backtest
start: 2022-03-21 09:00:00
end: 2022-06-21 15:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
この例では,Binance (Binance) の取引所が,Binance (Binance) の現金取引所に追加され,スクリーンショットのように配置されています.
戦略コードを見てみましょう.var t = exchange.GetTicker()
この文の下にはdebugger
命令は,ここで断点を押すようなもので,この位置までプログラムを実行すると停止します. 策略コードでは,複数を使用できます.debugger
ブラウザのDevToolsのデュッグ機能で設定できる. ブラウザのデュック機能は,DevToolsのデュック機能で設定できます.
ブラウザを開く必要があります.DevTools
戦略コードに設定されていることを実行します.debugger
法律が効くまで,debugger
停止する. 停止する. 停止する. 停止する. 停止する.DevTools
設定された最初の設定で停止します.debugger
場所debugger
また,策略コードの全域設定もできます.
ブラウザを開けるとDevTools
ツールには2つの方法があります.
1 右クリックしてページのポップアップメニューを開きます.
"チェック"をクリックすると,DevToolsのインターフェースが表示されます.
2 ショートカットボタンを使います
キーボードを押して開きます.Command+Option+I (Mac)
あるいはControl+Shift+I(Windows、Linux)
オープンするDevTools
。
オープンするDevTools
フォローしているユーザー:
このテストでは,コードに設定されているので, 実行する手順が変更されます. 実行する手順が変更されます.debugger
命令,ポリシーが対応する位置で中断を待機します. 復習は死んでいるかのように,次の図のように:
戦略的にはdebugger
プログラム全体で n 代入が 1 と t 代入が 1 と実行されます.GetTicker
函数が返した行程データ.上図の赤字では,特定の変数の値が表示されるので,ポリシーを実行する際に各変数の値が表示されるのが便利です.
文字列をクリックすると,文字列の左側に文字列をクリックし,文字列をクリックします.
"resume script execution"をクリックすると,スクリプトの実行を再開し,プログラムが次の断点まで実行され,断点がないか,プログラムに異常が発生するエラーがある場合は,復習が終了します.
さらに,次の関数を飛ばす,次の関数呼び出しへ進む,現在の関数呼び出しを跳ね出す,単步実行,すべての断片を無視するなど,いくつかのボタンが実現できます.
この時点で,我々が"resume script execution"ボタンをクリックし続けて実行すると,策略プログラムは異常が発生し,復習が終了し,異常エラーメッセージを印刷します.
main:17:31 - TypeError: Cannot convert "undefined" to double
構造属性の名前には,大文字が分かれない. これは,新しい人がよくする間違いです.
var id = exchange.Buy(t.buy, 0.1) // 下买单,此处有错误,会报错,返回null,GetTicker返回数据t,只有Buy属性,没有buy属性。
导致传入exchange.Buy函数的价格是一个undefined变量,引起程序异常,回测结束。
プログラムが断片位置で停止すると,このコード行は実行されません. 私たちは"step into next function call"ボタンをクリックします.
跳转到exchange.Buy函数调用中。
価格が未定義の変数である.
上記の方法を使うと,プログラムBUGを段階的に見つけることが容易になります. 多くの初心者がよく犯す間違い:例えば,配列のインデックスアクセス・クロス,未定義変数引用,表現書き込みの誤りなどです.この方法により,プログラムをDEBUGすることが容易です.
fmゼロ寝室は,これでもできる,666,さあ