[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 649

 
7sintez:
皆さん、本当にありがとうございました。まだ使っていないコードは、メモ帳にコピーしておきました時間があるときに調べてみます!何度も何度もフレンズありがとうございます。


イゴール・キムのライブラリを利用することができる


//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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));
}

 

もう少し複雑なんです。

 
r772ra:


イゴール・キムのライブラリを利用することができる

もう少し複雑なんです。


すでにあなたのコードを使いましたすべてうまくいく!ありがとうございました。

 
Mtqvotesで気配値の穴を塞ぐか、全てのTFの完全分足気配値を再計算する方法を教えてください。
 
Qwertee: OK、私のEAのもう一つの特徴は、このブランチングです:

if(period=="M15")
{
//買いを開くかチェック
Alert(buysell);

if(buysell=="買う")

アラート(1)です。

}

基本的にはネストされたif。しかし、if(period=="M15")の条件が満たされ、Alertが結果を出し、買いが入っているのに、if(buyell=="buy")の条件が満たされておらず、Alert(1)のコマンドが起動すらしない。 畜生、両条件が構文的に同じなのに、なぜ片方は満たされて、片方は満たされないのか?

技術的には簡単で、buysell !="buy"-なので、次のAlert(1)は実行されないのです。

変数buysel がその時点で何を含んでいるかは、最初の Alert の後にPrint(buysell); で知ることができます

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

これが問題で、私のコードでAlert(1)の代わりにPrint(buysell)を置くと、buysellは値buyを返します、何が問題なのでしょうか?

 

FunctionTest(double OneDimensionalArray[7]) ... パラメータの1つが配列である関数があります。

3次元配列:double Three-dimensionalArray[1][2][7] が存在する。

課題は、3次元配列の最後の次元をパラメータとして関数に挿入することである。やろうとすると、コンパイラが眉をひそめるんです。

私は次のように行っています: FunctionTest(ThreeDimensionalArray[0][0]) .

何が間違っているのか、どうすればこの問題を解決できるのか、教えていただけませんか?

よろしくお願いします。

 
artem179:

FunctionTest(double OneDimensionalArray[7]) ... パラメータの1つが配列である関数があります。

3次元配列:double Three-dimensionalArray[1][2][7] が存在する。

課題は、3次元配列の最後の次元をパラメータとして関数に挿入することである。やろうとすると、コンパイラが眉をひそめるんです。

私は次のように行っています: FunctionTest(ThreeDimensionalArray[0][0]) .

何が間違っているのか、どうすればこの問題を解決できるのか、教えていただけませんか?

よろしくお願いします。

カトリーヌ大帝は3文字の単語を4つまで間違えたと言われています。

そんな問題はまだ解決しないでください。もっと簡単な解決策を探す...

 
tara:

カトリーヌ大帝は3文字の単語を4つまで間違えたと言われています。

そんな問題はまだ解決しないでください。もっと簡単な解決策を探す...


原理的には、すでに別の方法で解決しているのですが。でも、少なくとも純粋に理論的には面白いんですよ。結局、3次元の配列[0][0]は1次元の配列になるはずですよね?その場合、3次元の配列から1次元の配列を取り出すにはどうすればよいのでしょうか?
 
artem179:

原理的には、別の方法で既に解決済みです。でも、少なくとも純粋に理論的には面白いんですよ。結局、three-dimensionalArray[0][0]は1次元配列のはずなんだけど?その場合、3次元の配列から1次元の配列を取り出すにはどうすればよいのでしょうか?

買いを見ている?
1.配列は常に静的

2.3Dから取得する必要はなく、正しく作成すればいいのです。

 
artem179:

原理的には、すでに別の方法で解決しているのですが。でも、少なくとも純粋に理論的には面白いんですよ。やはり、3次元の配列[0][0]は1次元の配列であるべきなのでしょうか?その場合、3次元の配列から1次元の配列を取り出すにはどうしたらよいのでしょうか?
N次元の配列は1次元の配列である。便宜上、寸法で分けているだけです。
 
ヴァディム、どう思う?測定値のナビゲーションはどの程度快適ですか?)))しかし、私は四次元立方体の面を頭の中で数えることができる人を知っています。でも、それが私たちの問題と関係があるのかどうか。
問題は、その定式化である。ここでは必要ありません。もちろん、一次元です。