最近の実況では,誤差が頻繁に報告されています. おそらく,私が使っている取引先の価格は小数だけになります. 指針を求めます.
発明者の量化 https://www.fmz.com/api#setprecision
小草戦略を急ぐのではなく,フォーラムのトップにあるチュートリアルを見てください.
小草戦略を急ぐのではなく,フォーラムのトップにあるチュートリアルを見てください.
小草交換する.買える ((_N(買えるPrice,2),_N(買えるAmount,3))
小草公開策は,通常,特に精度制限がない.異なる通貨に対して自分で_Nで手動で設定する.
小草_N(2.312,1)
ゼイン基本的には公開された戦略はたくさんあります. 試したこともたくさんあります. 価格が偶然数値の整数であり, 取引も行われます. 頻繁に失敗します. 実行される買い買いは実行されません. 戦略は期待された結果には全く達しません.
ゼイン良かった
ゼイン追加コードの位置 この戦略は, function CancelPendingOrders ((orderType) { は,次の式を表示しています. 文字列を表示します. var orders = _C ((exchange.GetOrders)); 変数数 = 0; if (typeof(orderType)!= 'undefined') { for (var i = 0; i < orders.length; i++) { if (orders[i].Type == orderType) { オーダーが表示されている場合 count++ をクリックします. ありがとうございました. ありがとうございました. { else } { ほかに } 命令の長さについて ありがとうございました. if (count == 0) { と表示されます. 返信する ありがとうございました. for (var j = 0; j < orders.length; j++) { if (typeof(orderType) == 'undefined' ので (orderType == orders[j].Type)) { exchange.CancelOrder ((orders[j].Id, orders[j]); コメントを削除する この式は,この式の長さを表します. スリープ (interval) ありがとうございました. ありがとうございました. ありがとうございました. ありがとうございました. ありがとうございました. function updateProfit ((accountInit, accountNow, ticker) { ファイルが表示されている場合, var netNow = accountNow.Balance + accountNow.FrozenBalance + ((accountNow.Stocks + accountNow.FrozenStocks) * ticker.Buy) ); var netInit = accountInit.Balance + accountInit.FrozenBalance + ((accountInit.Stocks + accountInit.FrozenStocks) * ticker.Buy) ), このページは,このページのページのページを表示しています. ログプロフィット (netNow - netInit); ありがとうございました. var InitAccount = null; var LastBuyPrice = 0; var LastSellPrice = 0; この関数は, ワルティッカー = _C (exchange.GetTicker); var BuyPrice = ticker.Buy + SlidePrice; バイプライス = ティッカー.バイ + スライドプライス; slidePrice = ticker.Sell - スライドPrice; slidePrice = ticker.Sell - SlidePrice; slidePrice = slidePrice; slidePrice = slidePrice. 利益は消えた この式は,この式を,この式を,この式を, キャンセル待ちの注文 ((); 返信する ありがとうございました. ありがとうございました. 削除する ありがとうございました. if (LastBuyPrice > 0 && (ticker.Buy - LastBuyPrice) > スライド価格) { キャンセルタイプ = 注文型 ありがとうございました. ありがとうございました. if (LastSellPrice > 0 && (LastSellPrice - ticker.Sell) > スライド価格) { if (キャンセルタイプ == null) { キャンセルタイプ = ORDER_TYPE_SELL { else } { ほかに } キャンセルType = -1 ありがとうございました. ありがとうございました. ありがとうございました. if (cancelType == -1) { キャンセルする キャンセル待ちの注文 ((); { キャンセル型!= null } キャンセルPendingOrders (キャンセルタイプ) ありがとうございました. var orders = _C ((exchange.GetOrders)); if (orders.length == 2) { について 返信する ありがとうございました. var account = _C ((exchange.GetAccount)); var amountBuy = _N ((Math.min ((account.Balance / BuyPrice, Lot))); var amountSell = Math.min ((account.Stocks,Lot)); 購入する金額は,Minstockに等しい. if (orders.length == 0 のオーダー[0].Type == ORDER_TYPE_SELL) { if (orders.length > 0) { と表示される. updateProfit ((InitAccount, account, ticker) ); アップデートプロフィット (InitAccount, account, ticker) について ありがとうございました. exchange.Buy ((BuyPrice, amountBuy) について) LastBuyPrice = 購入価格 ありがとうございました. ありがとうございました. 値が表示される場合は, if (orders.length == 0 の注文[0].Type == ORDER_TYPE_BUY) { if (orders.length > 0) { と表示される. updateProfit ((InitAccount, account, ticker) ); アップデートプロフィット (InitAccount, account, ticker) について ありがとうございました. exchange.Sell ((SellPrice, amountSell) について) LastSellPrice = 販売価格 ありがとうございました. ありがとうございました. ありがとうございました. function onexit ((() { は, キャンセル待ちの注文 ((); ありがとうございました. main ((() {の関数について InitAccount = _C ((exchange.GetAccount)); ログ (InitAccount); SetErrorFilter (("502: 追加 503: 追加未期待 ネットワークタイムアウト WSARecv 接続 GetAddr 追加未 such セット 受信 EOF "); exchange.SetRate ((1)) を表示する. LoopInterval = Math.max ((LoopInterval, 1); ロープインターバル = Math.max (ロープインターバル, 1); ロット = Math.max ((MinStock, ロット); 文字列を表示します. チェックをしてください. スリープ (LoopInterval * 1000); ありがとうございました. ありがとうございました.