//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает номер бара открытия последней позиции или -1. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий таймфрейм) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+int NumberOfBarOpenLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
datetime t;
int i, k=OrdersTotal();
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderOpenTime()) t=OrderOpenTime();
}
}
}
}
}
}
return(iBarShift(sy, tf, t, True));
}
ご心配なく、基本的にはintです。
として、TimeCurrent()-OrderOpenTime()の計算結果をintに再代入すると、以下のようになります。
int mytime = TimeCurrent()-OrderOpenTime();
このフォームでは不確実性がないのですか? そして、私の時間で何秒になるのですか?
ありがとうございます。しかし、datetime型で実験するのは怖いです。他の型への変換がない(datetime --> intが欲しい)し、出力がどうなるのか現実的でないです。
なぜ非現実的かというと、時間関数は「経過秒数...」という純粋なint型を返すからです。 この「経過秒数」を足したり引いたりして、「時間の基準点」からの時間オフセットが得られます。
つまり、TimeCurrent()-OrderOpenTime()の計算結果をフォームでintに再代入した場合。
int mytime = TimeCurrent()-OrderOpenTime();
このフォームには不確定要素はないのですか? そして、私はmytimeで秒数を得るのですか?
そうですね。
なぜ非現実的かというと、時間関数は「経過秒数...」を返すのですが、これは純粋なint型です。 この「経過秒数」を足したり引いたりして、「時間の基準点」からの時間のずれを求めるのです。
それはわかっているのですが、自動タイプ変換の 不確実性が怖いときがあるのです。情報がない、つまり
勝手
int = double
int = datetime
など
他のプログラミング言語では、このような構文はコンパイラによって許されません - 型変換エラーが呼ばれます - しかし、mqlではエラーが発生しませんが、それは正しく動作することを意味しません - だから私は尋ねたのです
というのはいいのですが、フラットがいつ終わり、いつ始まるかは誰にもわからないのです :)- 私はこの現象に悩んでおり、いくつかの結果を持っているようです - 後ほど説明します。
注文を出した後、N本のバーを閉じて、その利益が設定値より少ない場合、注文を閉じるという原則に従って、オープンオーダーを制御したい。
EAから何バー前に注文が出されたかを確認/計算する方法は?
今頃になってこんな質問をするなんて、不思議ですね...。イゴール・キムの機能をずっと使っているのですが...。積み重ねたい...。:)
フォーラムメンバーの皆様、こんにちは。
特定のペアで同じポジションを持っている場合、合計の総ポジションを一度に表示できるようなインジケータがあれば教えてください。
例えば、私はgbp/usdの売りポジションを7つ持っていますが、このペアの合計売りポジションを1つ表示したいのです。
すでに似たようなものが実装されている場合は、名前を提案してください。
教えていただけませんか。
Expert Advisor のテスト 中に可視化モードをオンにすると、テスト終了後に実行された取引のグラフィック マークアップがすべて消えてしまうのはなぜですか?
同時に、テスト中もそれはある。
こんにちは、皆さん。
私のゆるやかな質問に答えてください。またはリンクを教えてください。質問:MetaTrader4で使用しているトレーディングサーバーは何ですか?ユーザー名やパスワードの登録やゲスト登録ができるフリートレードサーバーはあるのでしょうか?
ご感想をお寄せいただきありがとうございました。
こんにちは、皆さん。
私のルーズな質問に答えてください。またはリンクを教えてください。質問:どのMetaTrader 4トレードサーバーを使用していますか?登録できる無料トレードサーバーや、ゲストログイン、パスワードはありますか?
ご感想をお寄せいただきありがとうございました。
外為市場では、ほとんどすべてのサーバーが無料です。
そしてさらに、ほとんどすべてのDCにはデモ口座があり、実際のお金の代わりに仮想のお金で取引することができるのです。