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

 
正しいマーチンゲールのやり方は?
正しく理解しています。
各貿易を開く前に、このマジシャンとこのシンボルですべての取引を確認する必要があり、損失と日付の最後の貿易は、それぞれロットを増加させる場合?
 
Roman Sharanov:
マーチンゲールの正しいやり方とは?
正しく理解しています。
各貿易を開く前に、このマジシャンとこのシンボルですべての取引を確認する必要があり、損失と日付の最後の貿易は、それぞれロットを増加させる場合?

こんな感じです。

 
Sergey Gritsay:

こんな感じです。

ただ、すべてのトランザクションのうち、最新のトランザクションをどのように計算するのかがわからない

 
RSIの上にRSIを重ねるなど、他の指標 をベースにしたデータを取得する必要がある場合、どなたかいらっしゃいませんか?
 
Roman Sharanov:

ただ、すべてのトランザクションのうち、最新のトランザクションを計算する方法がよくわかりません

こんな感じです。

double  ProfitLastDeals()
  {
   double m_profit=0;
   int total=OrdersTotal();

   for(int i=0; i<total; i++)
     {
      if(!OrderSelect(i,SELECT_BY_POS))continue;
      if(OrderMagicNumber()!=m_magic)continue;
      if(OrderSymbol()!=m_symbol)continue;
      if(OrderType()==m_type)
        {
         m_profit=OrderProfit();
        }
     }
   return(m_profit);
  }
 
Sergey Gritsay:
RSIの上にRSIを重ね合わせるなど、別の指標をベースに したデータを取得したいのですが、どなたかいらっしゃいませんか?

すべて解決、質問はもう関係ない

 
Roman Sharanov:

全取引のうち最後の取引を計算する方法がわかりません

すみません、最後の例では、開いているものを選択し、閉じているものを選択していますが、次のようにする必要があります。

double  ProfitLastDealsHistory()
  {
   double m_profit=0;
   int total=OrdersHistoryTotal();

   for(int i=0; i<total; i++)
     {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
      if(OrderMagicNumber()!=m_magic)continue;
      if(OrderSymbol()!=m_symbol)continue;
      if(OrderType()==m_type)
        {
         m_profit=OrderProfit();
        }
     }
   return(m_profit);
  }
 

iBarShift() の奇妙な動作。正確な=false フラグが明示的にチェックされたインデックス (-1) を返します。

エラーはいつでもランダムに発生するため、手動で捕捉する方法はありません。

負のインデックスを取得すると、コードは実行されたリクエストのパラメータとその結果をコンソールに書き込みます。

2019.01.04 10:40:24.047 CCC (GBPUSD,M1) Neg index: NZDUSD TimeCurrent: 2019.01.04 09:40:23 Request: 2019.01.04 09:40:23 TimeLastTick: 2019.01.04 09:40:23.44
2019.01.04 10:40:24.047 CCC (GBPUSD,M1) LastError: 0

要求 - バーインデックスが要求された時刻

TimeLastTickは要求されたシンボルの最後のティックの時間です。MqlTick[]はエラーの直後に取得されます。

そのような行動の理由は、もしかしたら誰かが遭遇したことがあるのかもしれません。

 
SemenTalonov:

iBarShift() の奇妙な動作。正確な=false フラグが明示的にチェックされたインデックス (-1) を返します。

エラーはいつでもランダムに発生するため、手動で捕捉する方法はありません。

負のインデックスを取得すると、コードは実行されたリクエストのパラメータとその結果をコンソールに書き込みます。

要求 - バーインデックスが要求された時刻

TimeLastTickは要求されたシンボルの最後のティックの時間です。MqlTick[]はエラーの直後に取得されます。

このような動作の理由は何でしょうか。もしかしたら、どなたかが遭遇したことがあるのでしょうか。

exact == false について、ドキュメントにはどのように書かれていますか?
 
Artyom Trishkin:
exact == false について、ドキュメントにはどのように書かれていますか?

指定された時刻にバーが見つからなかった場合の戻り値。exact=false場合 iBarShift は、 オープン時間が 指定した時間より短い (time_open<time) 最も近いバーのインデックスを返します そのようなバーが見つからない場合(指定時間以前の履歴がない場合)、この関数は -1 を返す。

しかし、私たちには歴史がある、それは事実です。全ては最新の(時系列で0番目の)バーで起こる。