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

 

開発者の皆様へ。MQL4の不具合を修正してください。

F8 の "一般" タブの "スケールを 1:1 に固定" チェックボックスで手動作成したスケールが、同様の関数 ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,value) の値と一致しないのを修正しました。

再生する方法アプリケーション内のスクリプトがチャート上で実行されると、上記の関数が呼び出されます。コメント欄には、以下の値が入ります。

Comment("result = ", result, "; WindowPriceMax = ", WindowPriceMax, "; WindowPriceMin = ", WindowPriceMin).のように、WindowPriceMaxとWindowPriceMinは、それぞれ1つずつの値です。

これらは、F8キーを押し、[全般]タブの[最大値を固定]、[最小値を固定]のフィールドを参照すると、表示されます。これらの値を記録する(1)。

次に、「縮尺を固定する」のチェックを外して固定縮尺を解除すると、「縮尺を1:1に固定する」のチェックボックスも自動的に外れます。

F8、一般タブで「縮尺を1:1に固定する」にチェックを入れると、自動的に「縮尺を固定する」のチェックが外れるので、手動で修正します。

OKを押して動作を確認する。もう一度F8を押して、「最大値固定」、「最小値固定」の値を記録する(2)。

記録された値(1)と(2)を比べてみてください。

例えば、私の場合、スクリプトが動作した後。

最大値を修正 - 112.004
最低限を確保する - 111.420

手動設定後。

セキュアハイ - 112.004
最低限を確保する - 111.398

追記:再度確認しました。MQL4のバグではなく、ターミナル4.00 Build 1147のようです 2018/11/16
ファイル:
 

以下のファイルはMQLで利用できません:*.exe, *.dll.*.bat、*.sys、*.ex4、*.ex5。その理由は明快だ。

他に制限されているファイルはありますか?

 

ターミナルを閉じた 後、グラフィカルオブジェクトのオブジェクトがツールチップを失っている!開発者の皆様、ぜひ直してください。

MT5、ビルド1940 x64。

テスト用のスクリプトです。

#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   const string name="test_tooltip_"+TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS);
//---
   const double price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
//---
   if(ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,": Построен тестовый объект "+name+" по цене "+DoubleToString(price,_Digits));
      //---
      ObjectSetString(0,name,OBJPROP_TOOLTIP,"TOOLTIP");
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
      //---
      ChartRedraw();
     }
   else
      Print(__FUNCTION__,": ОШИБКА #",GetLastError(),"! Объект "+name+" не построен!");

  }
//+------------------------------------------------------------------+
 
Alexey Kozitsyn:

ターミナルを閉じた後、グラフィカルオブジェクトのオブジェクトがツールチップを失っている!開発者の皆様、ぜひ直してください。

MT5、ビルド1940 x64。

テスト用のスクリプトです。

期待しないでください、この質問は5年前にすでに提起されています。

答え = ツールチップはどこにも書き込まれず、プログラム実行中に保存されます。

 

これは、Documentationの中で有効なミスマッチなのでしょうか?

AccountInfoInteger

該当する請求書プロパティの値を返します。

long  AccountInfoInteger( 
   int  property_id      // идентификатор свойства 
   );

パラメータ

property_id

[in] プロパティの識別子。ENUM_ACCOUNT_INFO_INTEGERの いずれかを指定することができます

 
バグレポート。もう一度確認した。MQL4ではなく、ターミナル4.00 Build 1147 2018年11月16日のバグのようです。
 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

A100, 2018.12.03 12:25

void f()
{
static a;
}
static b;

実際の意味は

void f()
{
}
static b;
static a;

まず最初に静的なものを分離し、{}の中によくある


MT4/5では実行順序が異なるため、同じコード(複雑なもの)でも異なる実行となります。簡単な例を書いてもうまくいかなかった。

 
fxsaber:

以下のファイルはMQLで利用できません:*.exe, *.dll.*.bat、*.sys、*.ex4、*.ex5。その理由は明快だ。

他に制限されているファイルはありますか?

うっかり該当のレジストリブランチに落ちてしまった*.cmd *.tsなどのファイルを疑っています。
つまり、eXporterで開いたときに、アプリケーションやサービスを起動させることができるものです。

 
fxsaber:
MT4/5では 実行順序が 異なるため、同じコード(コンプレックス)でも実行されるものが異なる簡単な例を書いてもうまく いかなかった。

私は信じています。 しないんです。

 
A100:

ほんらいなら

まず自立型のスタティックで、よく{}で次に

最近、行動に変化が起きているようです。少し前までは、グローバル変数と 静的変数が同じ順番(宣言順)で初期化されるなど、順番が違っていたのですが、現在は、グローバル変数と静的変数が同じ順番(宣言順)で初期化されます。つまり、この場合、まずa、次にbとなります。間違っているかもしれないが、その可能性は低い。