契約の変更は,契約の変更,つまり,契約の変更です.
2つの交換オブジェクトを追加します.
簡素化可能なすべてのコードを簡素化し,最適化する余地も多く,教育戦略は慎重で実用的で,跨期には一定のリスクがある.
投稿者: 藤井 さん
function Hedge (isOpen, priceA, priceB) { exchanges[0].SetDirection(isOpen ? "sell" : "closesell") exchanges[1].SetDirection(isOpen ? "buy" : "closebuy"); (function (routineA, routineB) { Log(routineA.wait(), routineB.wait(), priceA, priceB) })(exchanges[0].Go(isOpen ? "Sell" : "Buy", priceA, _ContractNum), exchanges[1].Go(isOpen ? "Buy" : "Sell", priceB, _ContractNum)); } var slidePrice = 5 function main () { var tickerA, tickerB var arr = [] for (var i = 0 ; i < _Count ; i++) { arr.push({open: _Begin + i * _Add, cover: _Begin + i * _Add - _Profit, isHold: false}) } exchanges[0].SetContractType("quarter") exchanges[1].SetContractType("this_week") while (1) { var tab = {type: "table", title: "状态", cols: ["节点信息"], rows: []} tickerA = exchanges[0].GetTicker() tickerB = exchanges[1].GetTicker() if (tickerA && tickerB) { $.PlotLine("差价:A所-B所", tickerA.Last - tickerB.Last) for (var j = 0 ; j < arr.length; j++) { if (tickerA.Buy - tickerB.Sell > arr[j].open && !arr[j].isHold) { Hedge(true, tickerA.Buy - slidePrice, tickerB.Sell + slidePrice) arr[j].isHold = true } if (tickerA.Sell - tickerB.Buy < arr[j].cover && arr[j].isHold) { Hedge(false, tickerA.Sell + slidePrice, tickerB.Buy - slidePrice) arr[j].isHold = false } tab.rows.push([JSON.stringify(arr[j])]) } } LogStatus(_D(), "\n `" + JSON.stringify(tab) + "`") Sleep(500) } }
ジミーを愛してるexchanges[0].Go ((() は,この関数のドキュメントに記載されていませんか? どこから,何を意味しますか? リンクを求めます.
1998年この戦略はまだ有効ですか?
fmゼロビデオはどこにありますか?
ジミーを愛してるありがとう,見ました,学びました.
発明者 量化 - 微かな夢このAPIのドキュメントはhttps://www.fmz.com/api#exchange.go...
発明者 量化 - 微かな夢戦略は,教育戦略であり,現実に慎重に使用できます.
発明者 量化 - 微かな夢このソースコードはシンプルで,ソースコードを見て理解できます.