MT4とMT5を使いこなしてFX(外国為替証拠金取引)のトレードに活かそう~EAで自動売買

MT4を使ってFX

テスト

FXT形式の履歴ファイル

投稿日:

FXT形式の履歴ファイル

テスターは、その作動において、生成された継続バーのある*.FXTファイルを使用します。生成された継続性の各記録は1つのバー内のいずれかの時点を現します。バーのモデリング時には、テスターはこのファイルから他のバーを取り出して、現在バーを更新するか、生成が始まったばかりの場合には別のバーを追加します。

標準バーモデル化の適用を拒否することができますが、テスト/最適化には独自のデータファイルを使用します。それを行うには、「再計算」を無効にして、希望するFXTファイルを/TESTER/HISTORYフォルダに入れる必要があります。ファイル名は「[通貨ペア名][周期(分単位)]_[モデル化のタイプ(0:レートの更新ごと、1:コントロールポイント、2:オープン価格)].FXT」(間にスペース文字はありません)でなければなりません。たとえば、「EURUSD」が通貨ペアの場合は 「EURUSD1440_1.FXT」 とすることができ、「1440」 はD1の周期(1440分、24 時間)、「1」はコントロールポイントによるモデル化を意味します。

形式の簡単な説明を以下に示します。ヘッダーで始まります。
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
struct TestHistoryHeader
{
int version; // 403
char copyright[64]; // copyright
char symbol[12];
int period;
int model; // for what modeling type was the ticks sequence generated
int bars; // amount of bars in history
time_t fromdate; // ticks generated from this date
time_t todate; // ticks generating stopped at this date
double modelquality; // modeling quality
//---- general parameters
char currency[12]; // currency base
int spread;
int digits;
double point;
int lot_min; // minimum lot size
int lot_max; // maximum lot size
int lot_step;
int stops_level; // stops level value
int gtc_pendings; // instruction to close pending orders at the end of day
//---- profit calculation parameters
double contract_size; // contract size
double tick_value; // value of one tick
double tick_size; // size of one tick
int profit_mode; // profit calculation mode { PROFIT_CALC_FOREX, PROFIT_CALC_CFD, PROFIT_CALC_FUTURES }
//---- swap calculation
int swap_enable; // enable swap
int swap_type; // type of swap { SWAP_BY_POINTS, SWAP_BY_DOLLARS, SWAP_BY_INTEREST }
double swap_long;
double swap_short; // swap overnight value
int swap_rollover3days; // three-days swap rollover
//---- margin calculation
int leverage; // leverage
int free_margin_mode; // free margin calculation mode { MARGIN_DONT_USE, MARGIN_USE_ALL, MARGIN_USE_PROFIT, MARGIN_USE_LOSS }
int margin_mode; // margin calculation mode { MARGIN_CALC_FOREX,MARGIN_CALC_CFD,MARGIN_CALC_FUTURES,MARGIN_CALC_CFDINDEX };
int margin_stopout; // margin stopout level
int margin_stopout_mode;// stop out check mode { MARGIN_TYPE_PERCENT, MARGIN_TYPE_CURRENCY }
double margin_initial; // margin requirements
double margin_maintenance; // margin maintenance requirements
double margin_hedged; // margin requirements for hedged positions
double margin_divider; // margin divider
char margin_currency[12];// margin currency
//---- commission calculation
double comm_base; // basic commission
int comm_type; // basic commission type { COMM_TYPE_MONEY, COMM_TYPE_PIPS, COMM_TYPE_PERCENT }
int comm_lots; // commission per lot or per deal { COMMISSION_PER_LOT, COMMISSION_PER_DEAL }
//---- for internal use
int from_bar; // fromdate bar number
int to_bar; // todate bar number
int start_period[6]; // number of bar at which the smaller period modeling started
int set_from; // begin date from tester settings
int set_to; // end date from tester settings
//----
int reserved[62];
};
次に、モデル化されたバーの配列が続きます。
#pragma pack(push,1)
struct TestHistory
{
time_t otm; // bar time
double open; // OHLCV values
double low;
double high;
double close;
double volume;
time_t ctm; // the current time within a bar
int flag; // flag to launch an expert (0 - bar will be modified, but the expert will not be launched)
};
#pragma pack(pop)

 

  • この記事を書いた人

ユーロファイター

はじめまして、本サイトの管理人のユーロファイターです。裁量トレードで口座を吹き飛ばしたのをきっかけにシステムトレードの勉強をはじめました(笑) 当初はVTトレーダーでシグナルツールを使ってトレードをしていましたが、MT4の普及に伴いEAによる自動売買に移行しました。 よろしくお願いします(^_^)/

-テスト
-,

Copyright© MT4を使ってFX , 2019 All Rights Reserved.