$1.01 x $1.03 200. 그리고 갑자기 이
만약 하이프레크 거래자가 이 주식을 구매한 후, 가격이 상승하지 않더라도, 아래의 코끼리가 지지를 받고 있기 때문에, 그는 이 코끼리를 $1.01로 빠르게 팔 수 있다.
높은 주파수 거래자의 경우 수익을 창출하는 방법은 매우 간단합니다. 시장의 미세 구조 (microstructure) 에 의해 거래 상대방의 의도를 추측하고 다른 사람들보다 먼저 위치를 설정하고 짧은 시간에 미세한 수익을 창출하고 빠르게 시장에서 빠져 나갑니다.
이 코끼리의 경우, 그는 시장에 엄청난 금액의 지불금을 걸고 있기 때문에 거래 의도를 드러내며, 자연스럽게 하이프레크 거래자의 사냥의 표적이 된다.
그리고 실제 주식 거래 세계에서는, 이런 유능한 기관투자자가 시장에 대대적인 청탁 (또는 판매 청탁) 을 공개적으로 올리는 것은 거의 없을 것입니다. 대신, 큰 기관투자자가 주식에서 벗어나고 싶어하는 경우가 종종 있습니다. 그래서 고기동 거래자가 주식 가격을 올리기 위해 현장에 들어오도록 유도하기 위해 허위를 만들기 위해 의도적으로 대대적인 청탁을 올립니다.
높은 주파수 거래자에게는, 이 전략이 인식되고
이 사진은:
var Counter = { i: 0, w: 0, f: 0 }; // Variables var InitAccount = null; function CancelAll() { while (true) { var orders = _C(exchange.GetOrders); if (orders.length == 0) { break; } for (var i = 0; i < orders.length; i++) { exchange.CancelOrder(orders[i].Id); } Sleep(Interval); } } function updateStatus(msg) { LogStatus("调戏次数:", Counter.i, "成功:", Counter.w, "失败:", Counter.f, "\n"+msg+"#0000ff\n"+new Date()); } function main() { if (DisableLog) { EnableLog(false); } CancelAll(); InitAccount = _C(exchange.GetAccount); Log(InitAccount); var i = 0; var locks = 0; while (true) { Sleep(Interval); var depth = _C(exchange.GetDepth); if (depth.Asks.length === 0 || depth.Bids.length === 0) { continue; } updateStatus("搜索大象中.... 买一: " + depth.Bids[0].Price + ", 卖一:" + depth.Asks[0].Price + ", 锁定次数: " + locks); var askPrice = 0; for (i = 0; i < depth.Asks.length; i++) { if (depth.Asks[i].Amount >= Lot) { askPrice = depth.Asks[i].Price; break; } } if (askPrice === 0) { continue; } var elephant = null; // skip Bids[0] for (i = 1; i < depth.Bids.length; i++) { if ((askPrice - depth.Bids[i].Price) > ElephantSpace) { break; } if (depth.Bids[i].Amount >= ElephantAmount) { elephant = depth.Bids[i]; break; } } if (!elephant) { locks = 0; continue; } locks++; if (locks < LockCount) { continue; } locks = 0; updateStatus("调戏大象中....大象在第" + i + "档, " + JSON.stringify(elephant)); exchange.Buy(elephant.Price + PennyTick, Lot, "Bids[" + i + "]", elephant); var ts = new Date().getTime(); while (true) { Sleep(CheckInterval); var orders = _C(exchange.GetOrders); if (orders.length == 0) { break; } if ((new Date().getTime() - ts) > WaitInterval) { for (var i = 0; i < orders.length; i++) { exchange.CancelOrder(orders[i].Id); } } } var account = _C(exchange.GetAccount); var opAmount = _N(account.Stocks - InitAccount.Stocks); if (opAmount < 0.001) { Counter.f++; Counter.i++; continue; } updateStatus("买单得手: " + opAmount +", 开始出手..."); exchange.Sell(elephant.Price + (PennyTick * ProfitTick), opAmount); var success = true; while (true) { var depth = _C(exchange.GetDepth); if (depth.Bids.length > 0 && depth.Bids[0].Price <= (elephant.Price-(STTick*PennyTick))) { success = false; updateStatus("没有得手, 开始止损, 当前买一: " + depth.Bids[0].Price); CancelAll(); account = _C(exchange.GetAccount); var opAmount = _N(account.Stocks - InitAccount.Stocks); if (opAmount < 0.001) { break; } exchange.Sell(depth.Bids[0].Price, opAmount); } var orders = _C(exchange.GetOrders); if (orders.length === 0) { break; } Sleep(CheckInterval); } if (success) { Counter.w++; } else { Counter.f++; } Counter.i++; var account = _C(exchange.GetAccount); LogProfit(account.Balance - InitAccount.Balance, account); } }
caixb1233z 대, 이 전략은 현재 실제 디스크에 유효한가요?
bb이 부분의 본문은 http://dn-filebox.qbox.me/91dee18be7307389046517f405b410897a1f3fb9.png https://dn-filebox.qbox.me/4d90b4713a44f61b3a836114fceaf62bcff0756e.png https://dn-filebox.qbox.me/1937c68cfe9f33040d29e03efa5160e13c5ad174.png