select count(*) as book_count, cast(avg(parent) as integer) as mean, cast(median(parent) as integer) as median, mode(parent) as mode, percentile_90(parent) as p90, percentile_95(parent) as p95, percentile_99(parent) as p99 from moz_bookmarks;
void func(int &arr[ ][ ][ ][ ]) { }
struct MyStruct { string Array[]; }; void OnStart() { MyStruct a1,a2; ArrayResize(a1.Array,3); ArrayResize(a2.Array,1); a1=a2; }以前は、関数呼び出し後の「a1」配列サイズは3でした。サイズは1になります。
ドキュメントが更新されました。
ENUM_FP_CLASS MathClassify( double value // real number );列挙には次の値が含まれます。
if(MathClassify(value)>FP_ZERO) { Print("value is not a valid number"); }
残高とその他の2つの変数を含む最適化基準を改訂しました。基準では2番目の変数のみが考慮され、残高は無視されるようになりました。新しい最適化基準では分析が容易になります。
MetaTrader 5 iOSユーザからフィードバックを収集し、アプリケーションを見直しました。
import sys chart_symbol='unknown' chart_tf=1 if len(sys.argv) == 3: chart_symbol, chart_tf = sys.argv[1:3]; print("Hello world from", chart_symbol, chart_tf) >> Hello world from T.NYSE 15
外部リソースからの検索結果は、MetaEditorツールボックスウィンドウに表示されます。
long DatabaseImport( int database, // DatabaseOpenで受け取られるデータベースハンドル const string table, // データ挿入先のテーブル名 const string filename, // データインポート元のファイル名 uint flags, // フラグの組み合わせ const string separator, // データ区切り記号 ulong skip_rows, // スキップする最初の行の数 const string skip_comments // コメントを定義する文字列 );
long DatabaseExport( int database, // DatabaseOpenで受け取られるデータベースハンドル const string table_or_sql, // テーブル名またはSQLクエリ const string filename, // データエクスポートのCSVファイル名 uint flags, // フラグの組み合わせ const string separator // CSVファイルのデータ区切り記号 );
long DatabasePrint( int database, // DatabaseOpenで受け取られるデータベースハンドル const string table_or_sql, // テーブルまたはSQLクエリ uint flags // フラグの組み合わせ );
int FileSelectDialog( string caption, // ウィンドウタイトル string initial_dir, // 初めのディレクトリ string filter, // 拡張子フィルタ uint flags, // フラグの組み合わせ string& filenames[], // ファイル名の配列 string default_filename // デフォルトファイル名 );この新しい関数により、MQL5プログラムとの効率的なユーザー対話が可能になります。
#property optimization_chart_mode "3d,InpX,InpY"このプロパティにより、最適化の最後に開くチャートのタイプ、およびX軸とY軸のプログラムパラメータを設定できます。
double MathArctan2( double y // 点のy座標 double x // 点のx座標 );
ユーザインターフェイスの翻訳にパンジャブ語(インド)を追加しました。
ドキュメントが更新されました。
クラッシュログに基づいた修正を加えました。
更新はLive Updateシステムを介して利用できるようになります。
class CFoo { public: struct Item { int x; }; }; //+------------------------------------------------------------------+ class CBar { public: struct Item { int x; }; }; CBar::Item item; // proper declaration of the Item structure from the Bar class Item item; // incorrect declarationMQL5アプリケーションでサードパーティのコード/ライブラリを使用する場合により多くの可能性を提供する名前空間サポートを追加しました。
#define PrintFunctionName() Print(__FUNCTION__) namespace NS { void func() { PrintFunctionName(); } struct C { int x; C() { PrintFunctionName(); }; }; } struct C { int x; C() { PrintFunctionName(); }; }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void func() { PrintFunctionName(); } //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { func(); NS::func(); C c; NS::C ac; }実行の結果、次の結果が出力されます。
class A { void operator=(const A &)=delete; // prohibit object copying operator }; class B : public A { }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { A a1,a2; B b1,b2; a1=a2; b1=b2; }この例では、コンパイラは「a1=a2」と「b1=b2」に対してエラーを返します。
input group "Signal" input int ExtBBPeriod = 20; // Bollinger Bands period input double ExtBBDeviation=2.0; // deviation input ENUM_TIMEFRAMES ExtSignalTF=PERIOD_M15; // BB timeframe input group "Trend" input int ExtMAPeriod = 13; // Moving Average period input ENUM_TIMEFRAMES ExtTrendTF=PERIOD_M15; // MA timeframe input group "ExitRules" input bool ExtUseSL = true; // use StopLoss input int Ext_SL_Points = 50; // StopLoss in points input bool ExtUseTP = false; // use TakeProfit input int Ext_TP_Points = 100; // TakeProfit in points input bool ExtUseTS = true; // use Trailing Stop input int Ext_TS_Points = 30; // Trailing Stop in points input group "MoneyManagement" sinput double ExtInitialLot =0.1; // initial lot value input bool ExtUseAutoLot =true; // automatic lot calculation input group "Auxiliary" sinput int ExtMagicNumber =123456; // EA Magic Number sinput bool ExtDebugMessage=true; // print debug messagesこのようなエキスパートアドバイザーがストラテジーテスターで起動されると、グループ名をダブルクリックすることで入力パラメーターブロックを縮小または展開でき、グループ内のすべてのパラメータは単一のチェックボックスで最適化のために選択できます。
#import "lib.dll" int func(); #import //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int func() { return(0); } //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { Print( func() ); }以前のバージョンでは、コンパイル中に以下のエラーが発生しました。
'func' - ambiguous call to overloaded function with the same parameters could be one of 2 function(s) int func() int func()このバージョンでは、より高い優先度を持つ内蔵MQL5関数がデフォルトで使用されるようになったのでエラーは発生しません。インポートされた関数は、 スコープを明示的に指定することで呼び出すことができます。
void OnStart() { Print( lib::func() ); }
if(condition) { //--- }
// before styling ParameterGetRange("InpX",enable,x_cur,x_start,x_step,x_stop); // after styling ParameterGetRange("InpX", enable, x_cur, x_start, x_step, x_stop);
// before styling if(x==1&y!=2) { int a=0; } // after styling if(x == 1 & y != 2) { int a = 0; }
ユーザインターフェイスが18言語で新たに利用できるようになりました。
プラットフォームインターフェイスは現在、50の言語で利用可能で、40億人以上に使用されています。
インターフェイスの言語を設定するには、ターミナルの上部にある[表示\言語]メニューに移動します。
ドキュメントが更新されました。
クラッシュログに基づいた修正を加えました。
更新はLive Updateシステムを介して利用できるようになります。
Pythonは、スクリプトやアプリケーションを開発するための現代の高水準プログラミング言語です。これには、機械学習、プロセスの自動化、およびデータ分析と視覚化のための複数のライブラリが含まれています。
MetaTrader Pythonパッケージは、MetaTrader 5ターミナルから直接プロセッサ間通信を介して交換データを効率的かつ迅速に取得するように設計されています。このルートで受信したデータは、統計計算や機械学習にも使用できます。
接続
関数
bool TesterDeposit( double money // 入金額 );
ドキュメントが更新されました。
更新はLiveUpdateシステムから利用できます。