初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1490

 

Alexey Viktorov #:

しかし、注文を取引に置き換える必要がある。利益、手数料、スワップは注文ではなく取引によって保存されます。

そして、1つの注文が複数の取引を生成できることを考慮してください。

そこで、注文ごとに取引を選択するか、構造体の配列/リストを(注文の数だけ)作成し、取引を選択することによってそれらを埋める。
 
JRandomTrader #:

また、1つの注文が複数の取引を生成する可能性があることを考慮する。

そのため、各注文の取引を事前に選択するか、(注文の数だけ)構造体の配列/リストを作成し、取引を検索してそれらを埋める必要がある。

なぜ人生を複雑にするのか?ある期間の利益を計算する必要があり、ソースコードではそれが実行されているのであれば、その期間の取引を調べるだけでよい。IN取引には手数料があり、OUT取引には手数料に加えてスワップと利益がある。こうして、すべてをまとめて、望みの結果が得られた。

もう1つは、各ポジションIDの利益を別々に配列に集めることである。

 
こんにちは。未決済の注文を持つシグナルがあり、その動きを待っていたのですが、管理者が主張するように、不活発な取引のため、アーカイブに送られました...今そこから取り出す方法を教えてください...ありがとうございます。
 

皆さん、助けてください。以前は、マウスホイールをクリックすると、ターミナルとMT4とMT5でカーソル十字モードが有効になっていました。今は消えてしまいました。どのようにカスタマイズされているのでしょうか?

p.s. マウスのドライバを入れたことはありません。

 
Alexander Mostovnek #:

皆さん、助けてください。ー以前はー、ー マウスホイールをー ホイール上でー クリックするとー ターミナルおよびー MT4、ー MT5においてー カーソル十字モード。今は消えてしまいました。どのように設定されているのでしょうか?

ーマウスドライバを""したことが "ことが "拙者 "拙者 "拙者 "拙者

消えたのではなく、反応が鈍くなっただけなのだ...。

、、ッ!マウスがッ!マウスがッ!マウスッ!マウスッ!マウスッ!マウスッ!マウスッ!マウスッ!マウスッ!マウスッ!マウスッ!マウスッ

 
Maxim Kuznetsov #:

なくなったのではなく、反応が鈍くなっただけだ。

マウスが壊れてボタンが滑っているのかと思ったほどだ。

わからない。何度もテストしたけど、とても反応がいい。遅れもない。一度も表示されたことがない。


 
車輪のプレスが死んでしまったようだ......。:)
 

- 先生、ここと、ここと、ここが痛いんです。

- 指が折れていますよ(笑)。

 
double MinOpenBuy(int a = 1)
   {
   ulong tick = 0;
   datetime time = 0;
   double result=0,lot=0,profit=0,openprice=0,
          NewPrice, OldPrice = DBL_MAX;
   for(int i=OrdersTotal(); i>=0; i--)
   {
      if (a_position.SelectByIndex(i))
      {
         if (a_position.Symbol() == a_symbol.Name() && a_position.Magic() == Magic && a_position.PositionType() == POSITION_TYPE_BUY)
         {
            NewPrice = a_position.PriceOpen();
            if ( NewPrice < OldPrice)
            {
               OldPrice = NewPrice;
               profit = NormalizeDouble(a_position.Commission()+a_position.Swap()+a_position.Profit(),2);
               lot = a_position.Volume(); 
               time = POSITION_TIME; 
               tick = a_position.Ticket(); 
            }
         }
      }
   }
   if(a==1) 
	{result = OldPrice;} else
   if(a==2) 
	{result = profit;} else
   if(a==3) 
	{result = lot;} else
   if(a==4) 
	{result=(double)time;}else
   if(a==5) 
	{result=(double)tick;}else
   {result=0;}
   return(result);
  }

Happy Holidays to all.
プロフェッショナルの助けが必要です。
MQL4で、始値が最も安い注文を検索し、そのデータを取得するコードを書きました。
今、すべてをMQL5に移行しようとしていますが、なぜかうまくいきません(
エラーとは何ですか?
 
Maksim Burov #:
for(int i=OrdersTotal();i>=0; i--)

コードの本質には立ち入りませんでしたが、すぐに目に留まったのは、検索する注文数が間違って設定されていることでした。このようにすべきです:

for(int i=OrdersTotal() - 1; i>=0; i--)

また、ループの中で注文をループしていますが、ポジション・プロパティを検索しています。これも間違っています。おそらく、ポジションを通してループする必要があるのでしょう:

for(int i=PositionsTotal() - 1; i>=0; i--)

よろしく、ウラジミール。