[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 155

 
todem:
は、トレンドの定義に含まれますか?

一定 期間のトレンドの変化では ...。https://www.mql5.com/ru/forum/131277/page148 およびhttps://www.mql5.com/ru/forum/131277/page149 をご参照ください。
 

このチケットの注文が存在しない(削除されている)にもかかわらず、OrderSelect が TRUE を返すのはなぜか、教えてください。


   if(OrderSelect(tickethigh1, SELECT_BY_TICKET, MODE_TRADES)==false)
 
100yan:

時間軸上の トレンドの変化で ...


TpとSlossaの機能はここで動作するか教えてください。

if (total > 0) AveragePrice =NormalizeDouble(AveragePrice / Count, Digits);
if (NewOrdersPlaced) {
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (OrderType() == OP_BUY){
PriceTarget = AveragePrice + TakeProfit * Point;
BuyTarget = PriceTarget;
Stopper = AveragePrice - Stoploss * Point;
flag = TRUE;
} (注)1.PriceTargetは、平均価格(AveragePrice)、ストップロス(Stoploss)、ポイント(Point)を表します。
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (OrderType() == OP_SELL) {
PriceTarget = AveragePrice - TakeProfit * Point;
SellTarget = PriceTarget;
Stopper = AveragePrice + Stoploss * Point;
flag = TRUE;

 
todem:
正常にコンパイルできました

すみません、Indicatorは動作します-元々そういうものです、エラーはtchtファイルにあります-コンパイルできません。

ファイル:
 

initでインジケーターバッファーの計算を行うことはできますか?

ゼロバーを除くすべてのバーをinitで再計算したかったのですが、ゼロバーの開始ではカウントされません...。

 
Pyro:

そのようなチケットの注文がない(削除されている)にもかかわらず、OrderSelectがTRUEを返すのはなぜか教えてください。

機能リファレンスをよくお読みになっていますか?

もう一度読んでみましょう。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

boolOrderSelect() int index, int select, int pool=MODE_TRADES) です。
この機能は、さらに操作するためのオーダーを選択するものである。関数が正常に終了した場合に TRUE を返します。関数が失敗した場合は FALSE を返します。エラーの情報を得るには、GetLastError() を呼び出します。
チケット番号でオーダーが選択された場合、pool パラメータは無視されます。チケット番号は、注文を一意に識別するためのものです。どのリストから注文が選ばれたかを判断するには、その注文の終了時刻を 分析する必要があります。注文の終了時刻が0であれば、その注文は未決済または保留であり、端末の未決済ポジションのリストから取得されます。オープンポジションは、その種類によって 保留中の注文と区別することができます。終了時刻が 0でない場合、注文は終了 または保留と なり、端末の履歴から選択されたことになります。クローズドオーダーと削除された保留オーダーの区別は、オーダーの 種類によっても行うことができます。
パラメータ
インデックス - 2番目のパラメータにより、オーダー位置またはオーダー番号。
選ぶ - 選択方法のフラグ。以下の値のいずれかを指定することができる。
SELECT_BY_POS -index パラメータには、リスト内の位置のインデックス番号が含まれます。
SELECT_BY_TICKET -インデックス・ パラメーターにチケット番号が含まれます。
溜まり - 選択のためのデータソース。select パラメータがSELECT_BY_POSと等しい場合に使用します。以下の値のいずれかとする。
MODE_TRADES(デフォルト) - 注文は、未決済注文と保留注文から選択されます。
MODE_HISTORY - 注文は、クローズされた注文と削除された注文の中から選択されます。


---------------------------------------------------------------------------------------------------------------------------------------------------------------

これですね。

チケット番号でオーダーが選択 された場合、pool パラメータは無視されます。チケット番号は、注文を一意に識別するための番号です。どのリストから注文が選択されたかを判断するには、その注文の終了時刻を 分析する必要があります。注文の終了時刻が0 であれば、その 注文は未決済または保留あり、端末の未決済ポジションの リストから取得されます。

何をするんだ?

if(OrderSelect(tickethigh1, SELECT_BY_TICKET, MODE_TRADES)==false)

チケットで選択した場合は無視され、ターミナルの任意のポジションリスト(オープンまたはクローズ)から注文が行われます。だからこそ、真実を返してくれるのです。結局、そのようなチケットは存在し、注文は選択されるが、クローズドオーダーのリストから......

そういうふうにやっていけばいいんです。

   if (OrderSelect(tickethigh1,SELECT_BY_TICKET))
   if (OrderOpenTime()==0) {
      // ... код при успешном выборе ордера по тикету в списке рыночных ордеров
   }

...または

if (OrderSelect(tickethigh1,SELECT_BY_TICKET))
   if (OrderOpenTime()>0) {
      // ... код при успешном выборе ордера по тикету в списке закрытых ордеров
   }

......または

   if (OrderSelect(tickethigh1,SELECT_BY_TICKET)) {
      if (OrderOpenTime()>0) {
         // ... код при успешном выборе ордера по тикету в списке закрытых ордеров
      }
      if (OrderOpenTime()==0) {
         // ... код при успешном выборе ордера по тикету в списке рыночных ордеров
      }
   }

よく説明できたと思うのですが...。:)

 

アートメディア70


このような詳細かつ包括的なご回答をありがとうございます。本当にできるだけクリアに :)THX!!!!

 
Pyro:

アートメディア70


こんなに詳しい返信をありがとうございました。本当にできるだけクリアに :)THX!!!!

:)ありがとうございます。どういたしまして。

チケットで公募を選ぶというのは、ある意味「陰湿」であることに警鐘を鳴らしたい。取引終了後、ポジションを翌日に移す際に、証券会社が注文を出し直すことです。つまり、現在のポジションを決済し、同じ数量の別のポジションを、スワップを含む新しいチケットでオープンするのです。したがって、Expert Advisor は再開された注文を追跡し、その新しいティッカーを考慮する必要があります。一部クローズされたポジションも同様に、新しいチケットがアサインされます。

したがって、すべてのEA命令を自分自身で厳密に記録し、そのような「陰湿な」変化をすべて時間的に記録しておくことです。

 
artmedia70:


チケットで公募を選ぶというのは、ある意味「陰湿」であることを警告しておきたい。ポイントは、取引終了後、翌日にポジションを移行する際に、DCが注文を再開することです。

一部の証券会社ではこのようなことが行われていますが、大多数はそのようなことに悩まされることはありません。
 
sergeev:
一部の証券会社ではそうかもしらんが、ほとんどの証券会社ではこんなクソみたいなことはしてない。

DCのこの行動も考慮するのが「マナー」ではないでしょうか?結局のところうん、気にしないで...私はただ、すべてを、まあ...あるいは私が意識していることを考えるようにしています。

用心するに越したことはない、か。;)