オーダー_ポジション_ID - ページ 20

 
Mikalas:
インターネットはできるんでしょう?インターネットはそうです :)
Nein.公式統計のみ。合法的な税務報告書だけなので、当地ではインターネットは役に立たない。いいえ、そんなことはありません。
 
barabashkakvn:
Nein.公式統計のみ。合法的な税務報告書だけなので、当地ではインターネットは役に立たない。Nein.

ただし、POSITION_IDENTIFIERは 生涯変わらないことが寝言に書かれている。

もういいんじゃないですか?

 
Mikalas:

ただし、POSITION_IDENTIFIERは 生涯変わらないことが寝言に書かれている。

もういいんじゃないですか?

ヘルプ - 知ってるでござる。2

私は、生活の中で、株取引の中で、例を挙げてもらいました。

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

オーダー_ポジション_ID

バラバシュカクブン さん 2014.09.01 19:39

その証券会社の口座を閉じたのが残念です。クリアの様子がはっきりわかるような取引履歴をお持ちの方はいらっしゃいますか?

 
barabashkakvn:

ヘルプ - それはわかっています。

私は、生活の中で、株取引の中で、例を挙げてもらいました。


了解です...。
 

意図的に調べ、誤った記載をしたことを謝罪しました。結果的に、真実は真ん中にあった。ポジションは、クリアリングによる移動があってもなくても、その識別子と基本特性は変わらず、そのクローズの開始から終了まで存在することは事実である。ただし、ポジションの始値は 変更されます。ポジションの計算自体は前回の記事の通りです。つまり、ある清算から別の清算まで、オープンポジションの累積損益を計算し、この結果を特別な証券取引操作(トレード)を使って口座に入金するのです。これらの取引には「[変動証拠金オープン]」「[変動証拠金クローズ]」というコメントが付されています。

この過程を的確に表現しているのが、あるオトクリストの社員のコメントです。

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

MT5トレーディング:エラー、バグ、質問。

オープンブローカー, 2013.02.26 09:59

ここで、エキスパートアドバイザーを計画する際に考慮できるよう、私見ではありますが、重要な見解を追加したいと思います。

FORTSでは、中間セッション(モスクワ時間14:00~14:03)とメインセッション(モスクワ時間18:45~19:00(契約満了日は19:10))の1日2回の清算セッションが行われます。

参考までに、清算とは、相互決済の会計処理であり、ロシア語では、清算セッション間のオープン/クローズポジションの利益/損失が確定される瞬間である。

実は大切なこと。重要なのは、清算時に「清算価格」が確定していることです。つまり、過去の取引期間の最後の取引の価格 です。数学的に言えば、オープンポジションは「一種の」クローズとなり、決済価格でオープンされます(もちろん、ブローカーも取引所もそのための追加手数料は取りません)。

したがって、次の清算前にポジションを建て、清算時に保有していた場合、MT5ではそのポジションを建てたことによる価格変動が発生しています。また、例えば「トレーリングストップ」をpips単位で設定している場合、それは取引価格からではなく、清算価格からカウントされます。

例えば、Si-03.13の契約はモスクワ時間11:00に価格30500で買われました。50pipsのトレーリングストップが設定されています。モスクワ時間午後2時までは、ポジションはクローズされません。中間清算の清算価格は30525円でした。(つまり、購入した各契約から(+25)ルーブルで実際に口座が清算されました)。モスクワ時間の14:03に開始すると、MT5は30525という価格(実際に行った取引の価格である30500ではなく)でトレーリングストップを計算します。

ちなみに、このようなロールオーバーポジションは、FORTSだけでなく、一部のFX会社でも実践されているそうです。私の見るところ、ポジションのエントリー価格だけを変更するのか、それとも新しいポジションを作るのかは、その会社のルールによると思います。

Скажите, пожалуйста как именно происходит перенос позиций через ночь?
Почему именно происходит переоткрытие позиции с новой ценой ордера, а не с той же ценой?
Насколько я понимаю, переоткрытие с новой ценой ордера это ролловер (rollover).
Перенос позиции через ночь с той же ценой это своп и как бы долго позиция не удерживалась, цена ордера останется той же. Верно ??
Если так, то в ВТБ своп не применяется?
Или я в чём то ошибаюсь, расскажите..

通貨スワップは、同じ金額の取引通貨について、価値日および為替レートが異なる2つの反対売買取引からなる操作です。tom/nextスワップとは、2つの転換取引を意味し、一方の取引はバリューデート「tom」、すなわち取引日の翌営業日(土日祝日を除く)に決済され、反対側の取引はスポットデートに決済されます。
お客様が建てたポジションが取引日の翌日午前1時(モスクワ時間)までに決済されない場合、銀行は独自に「tom/next」通貨スワップを行い、翌営業日にポジションを移行させます。その際、既存のポジションを価値日に決済し、同時に次の価値日に再決済するものとする。
本項の規定は、前項の場合、両当事者にとって、次の条件のもとで、お客様が当行と通貨スワップ取引を行うことを求める取消不能の要請とみなされるものとします。
-スワップの基準通貨と相手通貨が、オープンポジションの基準通貨と相手通貨に対応していること。
-最初のスワップ取引のレートが、スワップ締結時点の市場レートと同じであること。
-第2回スワップ取引のレートは、第1回スワップ取引のレートを現在の市場スワップポイント(市場「ト ム」レートと「スポット」レートの差のプラスまたはマイナス)で調整したものに等しいこと。
-最初のスワップ取引のバリューデートが「トム」デートになります。
-第2回スワップ取引の受渡日が「スポット」日であること。


Перенос позиции через ночь, как это работает ?? : ВТБ24
  • www.onlinebroker.ru
Валютный своп - операция, состоящая из двух противоположных конверсионных сделок на одинаковую сумму торгуемой валюты с разными датами валютирования и разными обменными курсами. Своп типа “tom/next“ (том/некст) означает проведение двух конверсионных сделок, расчеты по первой из которых осуществляются на дату валютирования “том“ (tom), то есть...
 

C-4、建設的な議論になるのはとても良いことです

ですから、(例えば1ヶ月後に)自分の利益を知るためには、ポジションの「ネット」価格が必要なのです。

POSITION_IDENTIFIER(私のポジションに実装されているもの)により、現在のポジションの入庫履歴を確認 することができます。

しかし、私は注文を通じてそれを実装したかった のです(部分的に約定した注文が2~3日「残る」ことがあります)

というのも、オーダーにはORDER_POSITION_IDがあり、これは

POSITION_IDENTIFIERがありますが、順番は 同じものです。

機能で(今、使っています)。

//+------------------------------------------------------------------+
//| Expert Get history price function                                |
//+------------------------------------------------------------------+
double GetHistoryPrice( const string aSymbol )
{
  double price_in = 0;
  double volume_in = 0;
  
  if ( PositionSelect( aSymbol ) )
  {
    long pos_id = long( PositionGetInteger( POSITION_IDENTIFIER ) );
    
    if ( pos_id > 0 )
    {
      if ( HistorySelectByPosition( ulong( pos_id ) ) )
      {
        int deals = HistoryDealsTotal();
      
        for( int i = 0; i < deals; i++ )
        {
          ulong deal_ticket = HistoryDealGetTicket( i );
          ulong order_ticket = ulong( HistoryDealGetInteger( deal_ticket, DEAL_ORDER ) );
        
          if ( order_ticket > 0 )
          {
            ENUM_DEAL_ENTRY deal_entry = ENUM_DEAL_ENTRY( HistoryDealGetInteger( deal_ticket, DEAL_ENTRY ) );
              
            if ( deal_entry == DEAL_ENTRY_IN )
            {
              double price = HistoryDealGetDouble( deal_ticket, DEAL_PRICE );
              double volume = HistoryDealGetDouble( deal_ticket, DEAL_VOLUME );
                                
              price_in = price_in + price * volume;
              volume_in = volume_in + volume;  
            }
          }  
        }
        if ( volume_in > 0 ) return( NormalizeDouble( price_in / volume_in, _Digits ) );
      }
      else
      {
        Print( "Не возможно получить историю позиции по символу ", aSymbol );
      }
    }
    else
    {
      Print( "Не возможно определить идентификатор позиции по символу ", aSymbol );
    }
  }
  return( 0 );
}

注文チケット(order_ticket) を参照することに変わりはありません。

取引された根拠となるもの(つまり、ORDERチケットがないとどうしようもない)。

注文が一部でも実行されると思っていたのですが

しかし、私は間違って いました。ORDER_POSITION_IDが割り当てられて いるのです。

は、完全に 約定した注文にのみ割り当てられます。

 

Mikalas:

注文が部分的に約定した場合も同様かと

ORDER_POSITION_IDは オーダーに割り当てられているのですが、間違って ました。

は、完全 約定した注文に割り当てられる。

そして、未実行部分を削除 すると、IDが表示されるのですね。
 
Dima_S:
また、未実行部分を削除 すると、IDが表示されるのですね。
はい、でもすでに歴史の中で......。
 
Mikalas:
はい、でも、すでに歴史の中で......。
ポジションをクローズ した後、未約定の注文部分が削除されず、すでに別のポジションをオープン(変更)してしまった場合はどうなりますか?
 
Mikalas:

しかし、私は 注文を通じてこれを実装 したかったのです(たまたま、部分的に執行された注文が2、3日「立って」いるのです)

そうですね、株式市場ではそういうこともありますし、こういう状況も考慮しなければなりません。これは指値注文の基本的なデメリットの一つです。

ミカラス

...

注文チケット(order_ticket) を参照することに変わりはありません。

取引に使用された ORDER チケットが必要です。

...

あなたの例では、置き換えることができると思います。

ulong order_ticket = ulong( HistoryDealGetInteger( deal_ticket, DEAL_ORDER ) );

オン。

int deals = HistoryDealsTotal();
for( int i = 0; i < deals; i++ )
{
   ulong deal_ticket = HistoryDealGetTicket(i);
   ENUM_DEAL_TYPE type = (ENUM_DEAL_TYPE)HistoryDealGetInteger(deal_ticket, DEAL_TYPE);
   ENUM_DEAL_ENTRY entry = (ENUM_DEAL_ENTRY)HistoryDealGetInteger(deal_ticket, DEAL_ENTRY);
   if((type == DEAL_TYPE_BUY || type == DEAL_TYPE_SELL) && entry = DEAL_ENTRY_IN)
   {
      double price = HistoryDealGetDouble( deal_ticket, DEAL_PRICE );
      double volume = HistoryDealGetDouble( deal_ticket, DEAL_VOLUME );                       
      price_in = price_in + price * volume;
      volume_in = volume_in + volume; 
   }
}

売買型の取引はすべて何らかの注文によって開始されるからです。