仮想通貨

週次/月次まとめ

RSSリーダーに登録

カテゴリー「metatrader」の13件の記事

2014年2月11日 (火)

MetaTrader 4 Build 574 with Updated MQL4 続き

http://forum.mql4.com/60075 より

新しいMQL4 アプリケーションをMQL wizardで作成する際は、テンプレートに必ずこのプロパティが追加されます。

下記の表は、旧MQL4と、新MQL4でstrict指定をしない場合と、新MQL4で特定のstrictコンパイルモードを指定した場合の 違いを示しています。  

#property strict                                                                                                                                                                                                                                           

旧MQL4 compiler
  新MQL4 compiler
新 MQL4 #property strict 使用
init(), start() and deinit() のエントリーポイントはどんな引数も戻り値も持つことができる。 init(), start() and deinit() は互換性のために使用可。
        OnInit(), OnStart(), OnCalculated, OnTick(), OnTimer(), OnChartEvent(), OnTester() and OnDeinit() はシグニチャー(引数の型と個数)に正確にマッチする必要あり
特殊文字や句読点を含む予約語以外のどんな名前も使用可能。 変数は特殊文字や句読点を含むことはできない。
  予約語のリストは拡張され、 short, long, const,なども変数名としては使用不可に。
変数のスコープは(ネストされたブロックでも)宣言から関数の終わりまで。 変数のスコープは宣言から変数が宣言されたブロックの終わりまで
暗黙的に初期化された変数(グローバルでもローカルでも)には0が入る グローバル変数だけが初期化される。ローカル変数では strings型のみ暗黙的に初期化される。
ローカル配列は関数を抜ける際にも開放されない ローカル配列は関数を抜ける際にも開放されない ローカル配列は{}ブロックを抜ける際に開放される
"Array out of range" は深刻なエラーにならず* 同左。(構造体やクラスの配列を除く この場合は深刻なエラーになる) "Array out of range"はプログラムを停止する、致命的なエラー
構造体やクラスは無し 構造体やクラスあり。データ型を追加。
Stringsはシングルバイト
datetime は32-bit integer
Volume変数はdouble 型
Strings はunicode
datetime は 64-bit integer
Volumeはulong 型
ArrayCopyRates() 関数は double[][6] 配列へのvirtual copyingを行う ArrayCopyRates() は    MqlRates[]配列へのvirtual copyingを実行。  double[][6]配列へのコピーも互換性維持のため残る。 ただしコピーは  virtualでなくreal。
関数が値を返さない場合がある。return(0) が関数の最後にコンパイラーによって自動的に挿入される どんな型の関数も一つの戻り値を返す
同時オープン可能なファイル数は32 同時オープン可能なファイル数は64
ファイルは常にshared use modeで開かられる**  Shared use modeは FILE_SHARE_READ and/or FILE_SHARE_WRITEで個別に指定する

* "Array out of range" エラーに特に注意。多くの古いカスタムインディケーターは、新しいコンパイラーをstrictモードで使用した場合にこのエラーを表示する。原因を探し、修正することを推奨。

** 新しいMQL4 と MQL5では, FILE_SHARE_READとFILE_SHARE_WRITE の指定は files shared use モードとして使用される. (旧)MQL4ではそのようなファイルはない。

2014年2月10日 (月)

MetaTrader 4 Build 574 with Updated MQL4 続き

http://forum.mql4.com/60075 より

・クラスを使ったプログラムが可能に。これにより大規模プログラムや、デバッグ、コードの再利用が簡単に。ただこの機能が必要なければ、以前通りの手続き的な手法でも開発出来ます。

・init(), deinit() 、start()関数も互換性維持のため使用できます。しかし、 OnInit(), OnDeinit(), OnStart(), OnCalculate() 、OnTick()もMQL5のように使用可能です。

更に  OnTimer(), OnChartEvent() と OnTester() 関数も追加されました。

以前のMQL4では、定義済み関数はなんらかの引数と、戻り値を持つことが出来ました。
これらの関数はシグニチャではなく、名前で呼ばれました。

・新しいMQL4では, 全ての定義済み関数はシグニチャに正確にマッチしなくてはいけません。
言い換えれば、明確に定義された、引数(群)と戻り値を持たなくてはいけません。

変数名は特殊文字やpointを含むことはできません。新しいMQL4ではキーワードは変数名として使用できません。

古いMQL4プログラムは、コンパイラーのメッセージにしたがってエラーを簡単に修正するために、新しいコンパイラーで再コンパイルが可能です。

・(演算子の)優先順位はC言語の基準に相当します。ただし、正確性を増すためには( )で演算の優先度を明確にすべきです。

論理演算では短縮形の条件チェックが使用されます。

旧MQL4では、全ての式が計算され、チェックはそれらの計算後に行われました。

AND演算子を使用した場合を考えてみると、

  if(condition1 && condition2)
    {
     // some block of operations
    }

もし条件1がfalseなら、条件2の計算は行われません。false && true と言う結果は falseに等しいからです。

・ArrayCopyRates() は動作が変更になりました。配列double[][6]へのヴァーチャルコピー(virtual copying)ではなく、 MqlRates[] 配列へのヴァーチャルコピーになります。

double[][6] へのコピーも互換性維持のため残ります。

コピーは仮想コピー(virtual copying)ではなく実コピーになりました。

・ファイル処理では、同時に開けるファイルの数が64個に増えました(以前は32)。
最近まで、ファイルは常に、FILE_SHARE_READ か FILE_SHARE_WRITE モードで開いていましたが、新板では、必要なオープンモードを明確に特定する必要があります。

2014年2月 8日 (土)

MetaTrader 4 Build 574 with Updated MQL4 続き

MQL4 の変更点

データ型にchar, short, long, uchar, ushort, uint, ulong と doubleを追加。

C++のような言語からコードの移植が可能に。

Integer は処理がもっと早い。

特別なco-processorがdoubleデータの処理時に使用される。ただしIntegerの処理よりも遅くなる。

型変換も実装された。

DLLを使用する場合や、文字列変数をそれらに渡す際を考慮し、Stringsは Unicodeフォーマットに(以前はシングルバイトのANSI)変更。

規定のVolume 変数はulongに。

ボリュームにアクセスするための時系列データもulong型の配列に。

型のオーバーフローエラを避けるためにも、MQL4から移行する際は明示的にな型変換を行ったほうが良い。

構造体やクラス、オブジェクトポインタ、void型、thisキーワード(オブジェクトがそれ自体への参照を受けることが可能)が追加された。

これらにより、オブジェクト指向プログラミングの基準は全て満たしている。

2014年2月 7日 (金)

MetaTrader 4 Build 574 with Updated MQL4 続き

http://forum.mql4.com/60075 より

33-46はシグナル関連

47:テスター

テスト時のバラメーターでティックのスプレッドを考慮

48:MQL4

MQL4アプリでの、大きなボリュームの注文を出した際の、オープン/クローズ時の不具合を修正。

49: フォーラムとクラッシュログで報告されていたエラーを修正

MQL4での変更箇所

MQL4 は完全に改定され、MQL5レベルに。

MQL4 の欠点 - 言語が簡潔であるが、複雑なシステムを開発できず、ハイレベルな言語からデバックされたライブラリーを移植できない。

mql5の機能を、mql4を機能的に出来る限り保存する状態で、取り込んだ。

オブジェクト指向プログラミングやネイテイブコードコンパイラーなど、mql5のパワフルな機能がmql4で利用可能に。

コンパイラーはMQL4と MQL5 言語を自動的に利用可能に。

.MetaEditorもMetaTrader 4 と MetaTrader 5で共用が可能に。

MQL4のプロテクションはMQL5レベルに。新しいEX4/EX5ファイルでは完全に新しいプロテクションが適用される。  MetaTrader 4.でも安全なアプリケーションの利用が可能に。

MQL4では、チャート上で新しい描画オブジェクトと機能が利用可能になり、開発者は独自のグラフィカルインターフェースやトレーディングライブラリーを作成可能に。

これらを利用し、更に強化されたMetaTrader 4 用のアプリケーションの開発が可能になる。

2014年2月 6日 (木)

MetaTrader 4 Build 574 with Updated MQL4 続き

http://forum.mql4.com/60075 より

18:ターミナル

アカウントがシグナルを購読している場合、アイコンがトレードダブ上に表示される

19:ターミナル

Button, Bitmap, Bitmap Label, Rectangle Labelなどの描画用オブジェクトの追加。手動用ではなくプログラムから使用するため用

20:ターミナル ターミナルの履歴に表示される時間にミリ秒を追加

21:ターミナル 1クリック決済機能の修正

22:ターミナル カンパニータブからクリップボードにコピーが可能に

23:ターミナル コマンドによるチャートの表示機能の修正

24:ターミナル 画面の変更時のプロファイル保存機能の修正

25:ターミナル 日本語画面使用時のダイアログでの数字の表示を修正

26:ターミナルSSE2のサポートを使用

27:ターミナル 最適なアクセスポイントのスキャン

28:ターミナル アップデート時のループエラーの修正

29:ターミナル  ニュースやメール機能使用時のUTF-8エンコードの問題を修正

30:ターミナル ワンクリックトレード未使用時にマージンやフリーマージンの表示が正しく表示されない問題を修正

31:ターミナル デモアカウント開設時の国名のリスト表示を更新

32:ターミナル 日本語、イタリア語などのインターフェースの翻訳の更新

 

2014年2月 5日 (水)

MetaTrader 4 Build 574 with Updated MQL4 続き

http://forum.mql4.com/60075 より

11.ターミナル:

トレード時間の表示に秒を追加

12.ターミナル:

最終のクオート時間の表示に秒を追加

13.ターミナル:

表示用の言語を変更後に自動的に再起動を行う

14.ターミナル:

サブウィンドウのインディケーター上にマウスポインタを載せた時にツールチップが表示されるようになった。

15.ターミナル:
ユーザーガイドの更新メッセージが表示され、自動アップデートが可能に

16.ターミナル:
ターミナル上からMQL5コミュニティーへの登録が可能に.

17.ターミナル:
アカウント情報のナビゲーター上で表示がより便利に

   
  • サーバごとにアカウント情報をグループ化
  • アカウント情報部分に購入シグナルの情報が表示されるように。購入期限も表示

2014年2月 3日 (月)

MetaTrader 4 Build 574 with Updated MQL4 続き

MetaTrader 4 ターミナル
 

1. MQL4言語は大幅に変更され、 MQL5に近くなった。

クラスや構造体が追加され、シンタックスはС++レベルになり、オブジェクト指向的プログラミングが可能になった。

2.ターミナル: マーケットタブの追加
MetaTrader 4 Market.
offer products to millions of traders

有料EAやインディケーター購入前にテスターにて動作確認が可能

3.ターミナル: データの保存場所の変更

現行のMetaTraderでは必要なデータは全てMetaTraderをインストールしたフォルダ内に保存されています。

しかしVista以降、windowsのセキュリティ強化により、 User Account Control (UAC  Wikipedia article.) が導入され、ソフトインストールフォルダのデータは変更を許可せず、変更が必要なユーザーデータは、別の場所に保存することが推奨されるようになりました。

新バージョンのデータフォルダーは下記になります。

   
C:\Users\User_account_name\AppData\Roaming\MetaQuotes\Terminal
\Instance_id
       
  • User_account_name -ユーザーアカウント名
  • Instance_id:MetaTraderを識別する値

    上記のパスはメニューの"Open Data Folder"から開くことが可能。

データフォルダーの直下にはorigin.txt があり、MetaTraderのインストールパスなどが記載されている。

これがmain mode(推奨)

   

Portable mode (以前のバージョンと同じで必要なファイルとデータは全て同じフォルダ内に保存される) もある。

"/portable" key. (リンク先に左記を追加することでショートカットの作成が可能)

2014年2月 1日 (土)

MetaTrader 4 Build 574 with Updated MQL4

http://forum.mql4.com/60075

の気になる部分についてです。

MetaTrader 4 Build 574

MQL4 言語のアップデートとアプリケーションマーケットのリリース

build 509からの大幅な変更について。

デモ環境は、 MetaQuotes-Demo server (demo.metaquotes.net:443)にある。

変更点は下記
what's new in MQL4

古いビルドからのアップデートは自動的にコピーされる。

509 以前ではMQL4関連のファイルは下記に保存されていた。

<terminal_installation_folder>\experts\ root directory:

  • \experts - Expert Advisors (trading robots),
  • \experts\indicators - custom indicators,
  • \experts\scripts - scripts (MQL4 applications for a single run on the chart),
  • \include - source code MQH and MQ4 files implemented into other programs,
  • \libraries - libraries in the form of MQ4 source codes and EX4 executable files compiled from them. They are used for the dynamic call of the functions contained there by other MQL4 programs,
  • \files - special "file sandbox". MQL4 applications are allowed to execute file operations only within this directory.

新板では下記に保存される。

<data_folder>\MQL4\ directory:

  • \experts - Expert Advisors (trading robots),
  • \Indicators - custom indicators,
  • \Scripts - scripts (MQL4 applications for a single run on the chart),
  • \include - source code MQH and MQ4 files implemented into other programs,
  • \libraries - libraries in the form of MQ4 source codes and EX4 executable files compiled from them. They are used for the dynamic call of the functions contained there by other MQL4 programs,
  • \Images - image files for using in resources,
  • \files - special "file sandbox". MQL4 applications are allowed to execute file operations only within this directory.

新板にアップデートすると既存ファイルは新しい場所に自動的にコピーされる。

自作のサブフォルダーやファイルはコピーされない。手動で行う。

ファイルやフォルダはアップデート中に削除されない。

アップデート中に旧版のex4ファイルからの自動的な再コンパイルはされない。

新板でコンパイルされたEX4ライブラリは 新板でコンパイルされたEX4ファイルからのみ呼び出せる。

#property includeのパス名は必要に応じて修正する必要がある。

MetaTrader 4 Build 574

現在、ベータテストが行わているMetaTraderの新バージョンについての記事です。

http://forum.mql4.com/60417

MQL4 言語の大幅な変更 (MQL5に近い) などがあります。

※実際試していないので、詳細は下記リンク先を確認して下さい。

Get Ready to Meet New MetaTrader 4 with Updated MQL4 Language

旧バージョンとの互換性はあるが、まだ問題がある。

コンパイルにエラーがあれば下記を参照

appropriate thread of the official MQL4 forum.

以下にも注意

1)新板ではファイルの保存の構造が変更

旧版EAは Program Files\<terminal_installation_folder>\ rootに保存

新板では Users\<data_folder>\MQL4\に保存される。

パス名に絶対パスを使用している場合は注意 相対パスに変更する必要あり

新板のデータフォルダは File -> Open Data Folder.で参照可
 
  2) 古いEX4 ファイルは新板でも動作可

旧ex4ファイルはそのまま使用可

旧mq4ファイルを新MT4で再コンパイルすると、新バージョン用のMQLでコードが書き換えられる。

更なる変更点に関しては=> here.

その他、コンパイルに関する問題点はコメント欄にあります。

2013年1月 3日 (木)

dl-marketの気になる商品

dl-marketのFX関連の商品もだいぶ数が増えてきました。

気になるものをまとめてみました。

MT4ツールセット

MT4発注君などをセットにしたものです。個別に買うより割安です。

FXの戦略を選ぶだけ 自動売買EAかんたん作成ソフト【ストラテジーセレクター】

EA作成ツールは色々ありますが、それでもなかなか作成は難しいようです。この商品はかなり簡単に作成はできそうです。

MT4EAエディタ

こちらもEA作成ツールですが、色々細かいカスタマイズが可能なようです。価格も比較的割安です。

バックテスト用シミュレーター_製品版[MT4インジケーター]

インディケーター専用のバックテスト用シュミレーターのようです。インディケーターのサインでエントリーした際の収支をシュミレーションしたい場合は便利そうです。

より以前の記事一覧

2019年7月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

検索

  • Google




    WWW を検索 ブログ内を検索 

☆☆☆

無料ブログはココログ