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

 

metaeditor(64)?.exe にはコンパイラが内蔵されていますよね?mql(64)?.exe は、その「スタンドアローン」な自己完結型コンパイラです。

だから、私の質問が正しくて、あなたの答えが「いずれにしても、コマンドラインからex?ファイルのスマートな配置は行われない。エディターだけができることであり、ウィンドウモードでのみできることです。"が完璧に答えています。

その点では、逆に感謝しています。

 

MetaEditor で R:\ として設定された検索 パス。

検索結果では R:\ \ として表示されます。

影響はありませんが、隠しエラーがないか確認してください。(例:R:Intel:Intel:Genius:Genius:Genius:Genius:Genius:Genius)

 

Windows 10、MT4 Build 854 タイトルが変(見開きの代わりに「!」と表示される)、すべてのメニュー項目が翻訳されていない、空のメニュー項目がある。


 
意図しない数値の変化
#import "Test.dll"
        void f( const int& x[] );
#import
void OnStart()
{
        int x[ 1 ] = { 1 };
        int y = x[ 0 ];
        Print( "y=", y ); //  здесь y = 1
        f( x );
        Print( "y=", y ); //а здесь y = 2, но я его явно не менял
}
//Test.cpp
void WINAPI f( int x[] ) { x[ 0 ] = 2; }

ここでf()の#importの記述が間違っていることは明らかですが、問題はxがどう変化したかではなく、yがどう変化したかということです。

コンパイラがxを揮発性であるとみなすことは、(.dllから呼び出された関数への参照渡し変数に影響を与えるコードを最適化しないという意味で)理にかなっているのかもしれません。このような最適化が行われないと、事実上感知できないが、その結果は結果に大きく影響することを考慮すると、このような最適化が必要である。

 
Artyom Trishkin:

Windows 10、MT4 Build 854 タイトルが変(見開きの代わりに「!」と表示される)、すべてのメニュー項目が翻訳されていない、空のメニュー項目がある。

確認済み。
 

間違っているかもしれませんが、NULLで変数をゼロにすると、変数がゼロで初期化されます。

ヘルプには次のように書かれています。

Синтаксически тип void является фундаментальным типом наравне с типами char, uchar, bool, short, ushort, int, uint, color, long, ulong, datetime, float, double и string. 
Этот тип используется либо для указания того, что функция не возвращает значения, либо в качестве параметра функции обозначает отсутствие параметров.

Предопределенная константная переменная NULL имеет тип void. Она может быть присвоена переменным любых других фундаментальных типов без преобразования. 
Также допускается сравнение переменных фундаментальных типов со значением NULL

理論的には、NULLを使用する場合、変数は文字列型変数と同様に空でなければならず、0も-も+も含まない。

文字列型の変数を初期化する場合 text = NULL; 変数は空で、他の型を初期化する場合は 0 が代入されます。

 
Artyom Trishkin:

Windows 10、MT4 Build 854のタイトルがおかしい(見開きの代わりに「!」と表示される)。

MT5では、OverviewとQuotesウィンドウの両方で、常にそうなっています。

 
A100:

MT5では、OverviewとQuotesウィンドウの両方で、常にそうなっています。

注意力が足りなかったのかもしれませんが、せめて「SP」の方が情報量が多かったのではと思います
 

854ビルドには、もう一つ興味深いバグがあります。

expertsの中にtestフォルダがあり、その中にソースコードとexcersetファイル(testという名前)が入っています。

mainフォルダにtestという名前のファイル(ソースとexcersetも)があるので、後者をコンパイルすると、test用のターミナルに最初のものがインストールされるのです。

つまり、Expert Advisorの名前と場所をXpertsTetsuにしてテストしたいのですが、コンパイル時に毎回自動的にXpertsTetsuを設定するので、毎回EAを配置し直さなければなりません。

これは迷惑な話だ...。

 

トレーダーの皆様、こんにちは。

問題解決にご協力ください。

楽器#IBM_LのSymbolInfoDouble( _Symbol,SYMBOL_TRADE_TICK_VALUE) 関数は、0を返します。

LiteForex MT5 Terminal x64 build 1150 (Liteforex Investments Limited)。

口座の通貨はEURです。

アプリケーション内のテストスクリプト。

ジャーナルに掲載されています。

2015.08.12 22:23:51.930 TestTickValue (#IBM_L,H1) Tick value = 0.00000.

取引量を計算するためにこの値が必要です。

double lots = loss * cSymbolInfo.TickSize() / ( priceDiff * cSymbolInfo.TickValue() );

TickValue()を呼ぶ前のコードでcSymbolInfo.Name(symbol)を正しく選択しています。このコードは、例えばEURUSDのような他の商品でも動作します。

ファイル:
理由: