MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1638

 
makssub #:

ペナントレではなくラストです(


あなたが書いたものを見てください。

"価格が 下がり、他の注文が開かれた場合、OrderOpenPriceが最大の注文がペネトレイトオーダーと なります。"

建値の最大値、最小値を検索する機能です。

ペナントが欲しいだけなら、開店時にチケットを覚えておいた方がいい。

 
MakarFX #:

あなたが書いたものを見てください。

"価格が 下がり、別の注文が開かれた場合、OrderOpenPriceが最大の注文がペネトレイトオーダーと なります。"

建値の最大値、最小値を検索する機能です。

ペナントが欲しいだけなら、開店時にチケットを覚えておいた方がいい。

申し訳ありません、私は時々、自分の言いたいことをうまく伝えられないことがあります。

ティック別、時間別はすでにやっていますが、価格が上がっても下がってもいいという変動では、ペナントにはならないかもしれません。これらのバリエーションは、すでに完成しています。だから、初値が一番いいんです。あるいは、それをすべてダブルチェックするような機能がたくさんあって、そこで私は非常に混乱することになると思うのです。すべてを頭の中に入れておくには、時間が足りないんです。

以前、ペンタックスに書いたら、ギブアップしてしまった。一つ問題があって、OP_SELLとOP_BUYを区別していませんでした。2個目が出現するとカウントを開始する(

 
makssub #:

申し訳ありません、私は時々、自分の言いたいことをうまく伝えられないことがあります。

もうティックで、時間通りにやっているのですが、変動で、価格が上がるかもしれない、下がるかもしれないというときに、ペナントレにならないことがあるのです。これらのバリエーションは、すでに完成しています。だから、初値が一番いいんです。あるいは、それをすべてダブルチェックするような機能がたくさんあって、そこで私は非常に混乱することになると思うのです。すべてを頭の中に入れておくには、時間が足りないんです。

前にペンタックスで書いたけど、ギブアップした。一つ問題があって、OP_SELLとOP_BUYを区別していませんでした。2つ目を取得すると、カウントが始まる(

探すべきもの(起こったことなら、それを手に入れる必要がある)をシンプルに書く...私もすでに混乱しているので

 
MakarFX #:

探すべきもの(起こったことなら、それを手に入れる必要がある)をシンプルに書く...私もすでに混乱しているので

どの注文価格が必要かをハイライトしています。

OP_BUYが無ければ難しくない。OP_BUYが表示されると、私のコードは動作しません(

double FindPenultSellPrice()
{
   double  UpPrice = DBL_MAX, profit = 0;
   int    i;
   for(i = OrdersTotal()-2; i >=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)
         {
            if ( OrderOpenPrice() < UpPrice)
            {
               UpPrice = OrderOpenPrice();
            }
         }
      }
   }
   return(UpPrice);
}
 
MakarFX #:

探すべきものをシンプルに書く(起こったことなら、それを手に入れる必要がある)...私もすでに混乱しています。

時間によるペニオク注文ではなく、価格が逆になった場合の価格によるペニオク注文です。Alexeiが書いているように、価格で検索するのが正しい。最大値や最小値の値を変えてはいけない。

ザイ。私なら、最後の順番を覚えていて(グリッドになっている)、ペナントを変数に入れます。アルゴリズムは、1つ上がってすぐに1つ下がり、また1つ上がってすぐに1つ下がれば、洗練されたものになるはずです))))2つの注文が一方向に進んでいる場合、念のため、最後から2番目の注文のチケットを覚えておこう。 3番目の注文が開いた場合、最後から2番目の注文のチケットは最後の注文と同じになり、最後の注文のチケットは3番目の注文と同じになるのだ。

 
makssub #:

どの注文価格を探すかカラーでハイライト表示

OP_BUYがなければ難しくない。OP_BUYが表示されると、私のコードは動作しません(

この方法で試してみてください

//+------------------------------------------------------------------+
//|  Функция возвращает по символу и магику                          |
//|  1 - размер лота последней позиции                               |
//|  2 - цена последней открытой позиции                             |
//|  3 - время последней открытой позиции                            |
//+------------------------------------------------------------------+
double GetInfoLastPos(int a=1)
  {
   datetime t=0;
   double result=0,l=0,p=0,f=0;
   
   for(int pos=OrdersTotal()-1;pos>=0;pos--)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(t<OrderCloseTime()) {t=OrderOpenTime(); l=OrderLots(); p=OrderOpenPrice();}
              }
           }
        }
     }
   if(a==1) {result=l;} else
   if(a==2) {result=p;} else
   if(a==3) {result=(double)t;}
   else     {result=0;}
   return(result);
  }
//+------------------------------------------------------------------+
double FindOpenPrice()
  {
   double AbsPoint=DBL_MAX;
   double openprice=0;
   
   for(int pos=OrdersTotal()-2;pos>=0;pos--)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(AbsPoint>MathAbs(OrderOpenPrice()-GetInfoLastPos(2)))
                 {
                  AbsPoint=MathAbs(OrderOpenPrice()-GetInfoLastPos(2));
                  openprice = OrderOpenPrice();
                 }
              }
           }
        }
     }
   return(openprice);
  }
//+------------------------------------------------------------------+
 
MakarFX #:

これを試してみてください。

お疲れ様でした。

1つのニュアンスがあります)それは、赤でマークされた上部に見つけます。OP_SELLの場合は、一番下の青色で表示されます。で、さっそくですが、OP_BUYが表示された場合、どのようにカウントされるかは確認していません。

 
makssub #:

お疲れ様でした。

1つのニュアンスがあります)それは、一番上の赤で示した部分にあります。OP_SELLの場合は、一番下の青色で表示されている必要があります。そして、OP_BUYが表示された場合、どのように動作するのかがわからなかったとすぐに言わざるを得ません。

上記は最寄です!

必ず見つけるものを書いてくださいとお願いしたら、一部を出してくれるんですね。

例えば、「売りが始まったなら、上から一番近い売りを探せばいい...等」が必要です。

追伸:赤でマークしたのは何ですか? 見えないのですが 0_o
 
MakarFX #:

一番上にあるのが一番近い!?

探すべきものを書いてくださいと言ったのに、一部分だけ出して...。

例えば、"売りが開いたら、上から一番近い売りを探す...など "が必要です。

追伸:赤でマークしたものは何でしょうか?

私にも同じことが起こります。あることを考え、別のことを書く。気配りじゃない ごめん)赤色そのものを犠牲にしてのショックで)

 
makssub #:

私にも同じことが起こります。あることを考え、別のことを書く。注意してないんです、すいません、赤いのショックで)

で、何が欲しいんだ?)