フォルツァ執行上の問題点 - ページ 88

 
fxsaber:

リミッターはFOKになり得るか?

いい質問ですね。

すなわち、(赤字で示した)指値注文は、固定価格で執行されるため、FOKにはなりえません。

が、一方でボリュームは十分かもしれない......。


ORDER_FILLING_FOK

Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме.
Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.
Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.
FOKを使ったことがない)FOKの可能性があると思うが、音量を確認する必要がある。
 
prostotrader:

いい質問ですね。

すなわち、(赤で示した)指値注文は、固定価格で執行されるため、FOKにはなりえません。

が、一方でボリュームは十分かもしれない......。


ORDER_FILLING_FOK

Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме.
Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.
Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.

ただ、Helpが曲がっているんです。指値注文は、常にRETURN型のフィルです。FOK、IOCはマーケットプレイスのみです。

しかし、これは取引所とECNにのみ適用されます。指値注文は、それぞれの成行注文を開始するだけの仮想注文であるSTPもあるので、その場合はFOK/IOCが可能です。しかし、リミッターになるのは画面の中だけで、本質的にはそうではありません。

 
fxsaber:
ただ、Helpが曲者なんです。指値注文は、常にRETURN型のフィルのみです。FOK、IOCはあくまで目印です。

そんなことはない、私はいつもリミッターを使っているが、IOCの時だけだ。

3年以上前から

ご自身でお確かめください :)

追加

指値注文は成行注文と同じで、執行価格を指定するものです。

価格がある場合は実行され、価格がない場合は削除されます。

執行方針

トレーダは、ブローカーが指定する一般的な注文執行ルールに加え、注文設定ウィンドウの「Fill」 欄に追加条件を指定することができます。

  • オール/ナッシング(Fill or Kill)
    この執行方針は、指定されたサイズまでしか注文を満たすことができないことを意味します。現在、市場にある金融商品の数量が十分でない場合、注文は執行されません。必要なボリュームは、現在市場にある複数のオファーからまとめることができます。
  • All/Partial (Immediate or Cancel)です。
    この場合、トレーダーは注文で指定された数量の範囲内で、市場で利用可能な最大の数量で取引を行うことに同意します。全数約定が不可能な場合は、約定可能な数量を約定し、未約定数量は取消されます。IOC注文の使用可否は、取引サーバー上で決定されます。
  • 戻る
    このモードは、成行(買い・売り)、指値、逆指値注文で、「成行執行」モードと「取引所執行」モードでのみ使用されます。部分約定の場合、残数量のある成行注文や指値注文は削除されず、有効なままとなります。

実行モードに応じた実行ポリシーの適用は、テーブルの形で表現することができる。

実行モード実行方針

すべて/なし(FOK)

すべて/一部(IOC)

戻る

即時実行

+

-

-

出演は応相談

+

-

-

市場に応じた実行

+

+

+

為替執行

+

+

+

 
prostotrader:

そんなことはない、私はいつもリミッターを使っているが、IOCの時だけだ。

3年以上前から

ご自身でお確かめください :)

  1. スプレッドの内側に10ロットのIOC-BuyLimitを設定し、すぐに1ロットでSELLを行う。予想された反応 - 同じ価格で2つの反対取引(利益 - ゼロ、しかし二重手数料)1ロット、および9ロットをキャンセル。
  2. FOK-BuyLimitをスプレッド内の10Lotに設定し、すぐに1LotをSellします。予想される反応は1ロット分SELL、10ロット分CANCELされる。

それは見られません。また、Request for limit タイプに FOK/IOC-types が設定できることは、このタイプのものであることを意味しない。

 
fxsaber:

  1. スプレッドの内側に10ロットのIOC-BuyLimitを設定し、すぐに1ロットをSellします。予想された反応 - 同価格で2つの反対売買(利益ゼロ、しかし手数料は2倍)1ロット分、9ロット分キャンセルされた。
  2. FOK-BuyLimitをスプレッド内の10Lotに設定し、すぐに1LotをSellします。予想される反応は1ロット分SELL、10ロット分CANCELされる。

それは見られません。また、Request for LimitsにFOK/IOC-typesの取引があるからといって、このタイプであることを意味するものではない。

上の表を見てください。

FOKは、あらゆるモードで存在する。

ただ、FOKの場合、出来高を確認する必要がありますが、これは注文が実行されることを保証するものではありません。

は、必要なボリュームが存在しない(すでに食べられている)可能性があります。

FOKのオーダーマッチングが不完全

 
prostotrader:

注文が取引所に「到着」したときには、必要な数量がない(すでに食べられている)可能性がある、そのため

FOKのオーダーマッチングが不完全

FOKの注文入力に不備があるため。リミッターはこの影響を受けません。上記は、確認が容易な2つのケースです。現在の価格と同程度の価格で入札されれば、FOK/IOCの制限がないため、再生産はできない。
 
fxsaber:
これは曲者である。指値注文には適用されません。上記は、確認が容易な2つのケースです。現行品と同等の価格であればFOK/IOCの制限がないので再生産はできない。

妄想ではなく、実際の口座 でEAが出した注文を話しているのです。

今考えているような考え方をしたいのであれば、自由にすればいいのです

 
prostotrader:

妄想ではなく、実際の口座 でEAが出した注文を話しているのです。

今考えているような考え方をしたいのであれば、自由にすればいいのです

鉄の論理

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

フォルツァ執行に関する質問

fxsaber さん 2017.02.22 22:50

  1. IOC-BuyLimit 10ロットをスプレッドの内側に入れ、すぐに1ロット売りを行う。予想される反応 - 同価格で2つの反対売買(利益ゼロ、ただし手数料は2倍)1ロット分、9ロット分取り消し。
  2. FOK-BuyLimitをスプレッド内の10Lotに設定し、すぐに1LotをSellします。予想される反応は1ロット分SELL、10ロット分CANCELされる。

それは見られません。

リミッターのFOK/IOCがあるかないかをチェックする明確な基準があるのに、なぜ議論するのでしょうか。
 
fxsaber:
鉄の論理
リミッターのFOK/IOCがあるかないかをチェックする明確な基準があるのに、なぜ議論するのか。

すみません、私がフィルIOCでLIMIT注文を使うと書いたのに気づかなかったようですね。

//+------------------------------------------------------------------+
//| Expert set order function                                        |
//+------------------------------------------------------------------+
void SetOrder(const string aSymbol, uint &order_id, const double price, const double volume, const bool buy_sell)
{
  MqlTradeRequest request = {0};
  MqlTradeResult  result  = {0};
  main_order_ticket = 0;
  main_mem_magic = magic_storage + 1;
  main_order_symbol = aSymbol;
//---  
  if(main_mem_magic >= (magic_number + 65530)) main_mem_magic = magic_number;
  
//--- Fill structure
  request.magic = main_mem_magic;
  request.symbol = aSymbol;
  request.volume = volume;
  request.type_filling = ORDER_FILLING_IOC;
  request.type_time = ORDER_TIME_DAY;
    
  if(price == 0)
  {
    request.action = TRADE_ACTION_DEAL;
    request.comment = "Рыночный ордер...";
//---    
    if(buy_sell)
    {
      request.type = ORDER_TYPE_BUY;
    }
    else
    {
      request.type = ORDER_TYPE_SELL;
    }
  }
  else
  {
    request.action = TRADE_ACTION_PENDING;
    request.price = price;
    request.comment = "Лимитный ордер...";
//---    
    if (buy_sell)
    {
      request.type = ORDER_TYPE_BUY_LIMIT;
    }
    else
    {
      request.type = ORDER_TYPE_SELL_LIMIT;
    }  
  }  
//--- Send order
  if(OrderSendAsync(request, result))
  {
    if((result.retcode == TRADE_RETCODE_PLACED) || (result.retcode == TRADE_RETCODE_DONE))
    {
      order_id = result.request_id;
      magic_storage = main_mem_magic;
      main_state = ORD_MAIN_DO_SET;
      main_mem_time = GetMicrosecondCount();
      main_start_time = TimeCurrent();
      SetTransCount();
    }
    else
    {
      order_id = 0;
      main_mem_magic = 0;
      main_order_symbol = "";
      main_state = ORD_NO_STATE;
      main_mem_time = 0;
      main_start_time = 0;
      CheckError(result.retcode, "SetOrder: Ордер не установлен! Причина: ", MAIN_ORDER, main_order_ticket);
    }
  }
  else
  {
    order_id = 0;
    main_mem_magic = 0;
    main_order_symbol = "";
    main_state = ORD_NO_STATE;
    main_mem_time = 0;
    main_start_time = 0;
    CheckError(result.retcode, "SetOrder: Ордер не отправлен! Причина: ", MAIN_ORDER, main_order_ticket);
  }
}

このコードは、3年以上にわたって私のために機能しています。

 
prostotrader:

すみません、私がLIMIT注文でフィルIOCを使っていると書いたのに気づかなかったのでしょう

このコードは3年以上前から動作しています。

と書いたのは、このためです。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

フォルツァ執行に関する質問

fxsaber さん 2017.02.22 22:50

  1. IOC-BuyLimit 10ロットをスプレッドの内側に入れ、すぐに1ロット売りを行う。予想される反応 - 同価格で2つの反対売買(利益ゼロ、ただし手数料は2倍)1ロット分、9ロット分取り消し。
  2. FOK-BuyLimitをスプレッド内の10Lotに設定し、すぐに1LotをSellします。予想される反応は1ロット分SELL、10ロット分CANCELされる。

それは見られません。また、Request for limit タイプに FOK/IOC-types が設定できることは、このタイプのものであることを意味しない。

MT5が指値注文を許可しているようですが、私は気にしません。重要なのは、取引所に届くものだけです。つまり、取引所にIOC指値注文があった場合、ポイント1のような挙動になります。FOK - p.2。あなたは、取引所でこれを見ていないので、我々はFOK / IOCの本質について話す必要があり、MT5はRequest -クエリでそこに何かを許可していない。少なくとも、OrderGetIntegerを "IOC"-limitsにすること。