エラー、バグ、質問 - ページ 126

 
Yedelkin:

では、何が違うのでしょうか?

あるポジションのストップロスやテイクプロフィットの価格が、現在の価格から凍結レベルより短い距離に設定されている場合、そのポジションに対して何もすることができません(クローズ、修正)。注文についても同様で、建値が 現在値から凍結レベルより小さい距離にある場合、その注文の削除や変更はできません。 また、stop_levelは、ストップ、テイクオフ、オープニングオーダー、ポジションを設定するための距離です。すでにオープンしているポジションや注文を変更することはできません(例えば、価格がすでにストップレベルより小さい距離にあるにもかかわらず、ストップロスをより遠くに移動させるなど)。 通常、freeze_level = 0です。ただし、例外がある場合があります
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

ストラテジーテスターで実行すると、このEAは2010.08.30 16:01:00-2010.08.30 16:59:00の期間を処理しない。

ただし、55行目の演算子returnの コメントを外すと、この期間は処理されます。

ストラテジーテスターは、2010.08.30-2010.09.01の期間で、M1、始値のみで実行されました。

MetaTrader 5 build 324 (08 Sep 2010)

//+------------------------------------------------------------------+
//|                                                         exp1.mq5 |
//|                        Copyright 2010, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>

bool orderOpen=false;
datetime printTime;
int count=1;

int OnInit()
  {
//---
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+

void OnTick()//тестировался период  2010.08.30-2010.09.01
{
   MqlRates rt[4];
   MqlRates rt2[3];
   //--- go trading only for first ticks of new bar
   if(CopyRates(_Symbol,PERIOD_M1,0,4,rt)!=4)
   {
      Print("CopyRates of ",_Symbol," failed, no history 1");
      return;
   }
   
   if((rt[2].close-rt[0].open)<-0.00135)
   {
      if(printTime!=rt[3].time)
      {
         Print(count,".   rt[2].close-rt[0].open=",DoubleToString(rt[2].close-rt[0].open,4),"   time=",rt[3].time," rt[0].open=",rt[0].open," rt[2].close=",rt[2].close); 
         printTime=rt[3].time;
         count++;
         //return;  //строка 55
      }
      if(CopyRates(_Symbol,PERIOD_M30,0,3,rt2)!=3)
      {
         Print("CopyRates of ",_Symbol," failed, no history 2");
         return;
      }
   }
}
ファイル:
exp.mq5  3 kb
 
メッセージにコードを 正しく挿入してください。
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 
olyakish

開発者がコンパイラを曲げてしまったようです。

新しい324ビルドでコンパイルした後のテストログは以下の通りです。

テスターのビルド321でコンパイルしたエキスパートが正常にテストされ、新しいビルドで再コンパイルすると、エラーが発生します。

一般的な問題なのか、それとも私だけが影響を受けているのか?


xeon: 私も同じ問題です :-(

ベター・ザ・セイム...

こちら -https://www.mql5.com/ru/forum/2010 同じエラー、同じ一時的な解決策(新しいビルド...が出たとき)。
 
xeon:

...次のビルドはいつになるのか ...
次のビルドは月曜日にリリースされる予定です
 
mql5:
次のビルドは月曜日にリリースされる予定です
受付終了まであまり時間がないので、1時間1時間が大切です。:-)
 
notused:
ポジションのストップロスまたはテイクプロフィット価格が現在の価格から凍結レベルより低い場合、ポジションに対して何もすることができません(クローズ、修正する)。また、建値が 現在値から凍結レベルより短い距離にある注文も同様で、このような注文は削除・変更できません。そしてstop_level - ストップ、テイクオーバー、オープニングオーダー、ポジションを設定するための距離です。また、すでにオープンしているポジションや注文を変更することはできません(例えば、価格がすでにストップレベルより低い距離にあるにもかかわらず、ストップロスをさらに遠くに移動させるなど)。通常、freeze_level = 0です。ただし、例外もある。
分かりやすい説明ありがとうございました
 
xeon:

xeon: 私も同じ問題です :-(

Better I have the same problem...

こちら -https://www.mql5.com/ru/forum/2010 同じエラー、それぞれ同じ一時的な解決策(新しいビルドが出たら......)。
ワークアラウンド "が役に立ちました。
 

ごあいさつ

ツールの縦長レイアウトはとても気に入っているのですが、MT5ではテキストが残ってしまうのが難点です...。目が痛くなるので、直してください :)

 
       int a = 0;
       if(a==1){Print("TEST");}
コンパイラは、2つ目の等号がないことをエラーとして検出しない。