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

 
Aleksey Vyazmikin:

ティックモデリングの 方法にもよるのでしょうが...。

可能性がある。しかし、このブローカーは、EUR/USD(最も人気のあるペア)を除くすべてのペアで100%の見積もり品質を持っています。そのような品質でEAを最適化すれば、失敗することは間違いありません)。

 
Aleksandr Prishenko:

そうかもしれませんね。しかし、このブローカーは、EUR/USD(最も人気のあるペア)を除くすべてのペアで100%の見積もり品質を持っています。このような品質でExpert Advisorを最適化した場合、失敗することが保証されています)。

どんな条件でも調整可能で、主なものはより多くの変数/指標を使用することです。履歴と同じ価格が繰り返されることは保証されませんが、Expert Advisorが生き残るためには、その確率が必要です。

 
1バーまたは1タイムに1トレード。どのように実装するのか?
 
Vladimir Baskakov:
1バーにつき1トレード ***。

OnTradeTransaction では、取引 TRADE_TRANSACTION_DEAL_ADD を捕捉し、取引の種類を決定します。DEAL_TYPE_BUYまたはDEAL_TYPE_SELLの取引であれば、現在のバーの開店時刻を記憶する。シグナル生成ブロックでは、この時刻と現在のバーの開始時刻を比較する。

 
Vladimir Karputov:

OnTradeTransaction では、取引 TRADE_TRANSACTION_DEAL_ADD を捕捉し、取引の種類を決定します。DEAL_TYPE_BUYまたはDEAL_TYPE_SELLの取引であれば、現在のバーの開店時刻を記憶する。シグナル生成ブロックでは、この時刻と現在のバーの開始時刻を比較する。

if (day!=TimeDay(TimeCurrent()))
      {
      
      // проверяем условие открытия
          {
          //если условие подходит, открываем сделку — и изменяем флаг day
          day=TimeDay(TimeCurrent());
          }
 
Vladimir Baskakov:

"TimeDay" - そのような関数はありません。

 
Vladimir Karputov:

"TimeDay" - そのような関数はありません。

失礼しました、そうなんですか?
MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      
 

Vladimir Baskakov:
Пардон ошибся, а так?

MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      

これは「1日1案件」として機能します。

 
Vladimir Karputov:

これは、「1日1案件」として機能します。

あ、これだ!」と思いました。

 
こんにちは。
質問:実際のタイムフレームバーの 数を計算する方法。Barsを求めると、iBarsは1970年01月01日(日付に変換した場合)を表示します。リアルに画面に表示されているバーは、2019.09.21からのものです。
チャート上の全履歴は25週...。(PERIOD_W1)。

クエリーのコードラインは具体的にどのようなもので、実際に画面には何が表示されているのか。 どのように照合するのか。ありがとうございます。
理由: