mt4 (MetaTrader4)使い倒シストレ

メタトレーダー、自作インジケータ、自作EAで完全自動売買。使えるものは何でも使え。
インジケーター、EA(自動売買システム)製作のご依頼はこちらへ
Googolyen FX Factory
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


にほんブログ村 為替ブログ FX システムトレード派へ
--/--/--(--) --:--:-- | スポンサー広告 | Trackback(-) | Comment(-)
WindowYOnDropped
int WindowYOnDropped( )

エキスパート、スクリプトがドロップされたウィンドウ領域のY軸のピクセル値を返す。
この番号はエキスパート、スクリプトがマウス(ドラッグ&ドロップ)によって動かされた場合有効である。
関連項目:WindowXOnDropped()WindowPriceOnDropped()WindowOnDropped()

Sample:
  Print("エキスパート設置場所(px) x=",WindowXOnDropped()," y=",WindowYOnDropped());


にほんブログ村 為替ブログ FX システムトレード派へ
スポンサーサイト
WindowXOnDropped
int WindowXOnDropped( )

エキスパート、スクリプトがドロップされたウィンドウ領域のX軸のピクセル値を返す。
この番号はエキスパート、スクリプトがマウス(ドラッグ&ドロップ)によって動かされた場合有効である。
関連項目:WindowYOnDropped()WindowOnDropped()

Sample:
Print("Expert dropped point x=",WindowXOnDropped()," y=",WindowYOnDropped());


にほんブログ村 為替ブログ FX システムトレード派へ
WindowsTotal
int WindowsTotal( )

チャート上にあるインジケータウィンドウの数を返す(メインウィンドウも含む)。

Sample:
Print("Windows count = ", WindowsTotal());


にほんブログ村 為替ブログ FX システムトレード派へ
WindowTimeOnDropped
datetime WindowTimeOnDropped( )

エキスパート、スクリプトがドロップされたポイントの時間を返す。
この番号はエキスパート、、スクリプトがマウスによってドロップされた場合有効である。
Note:カスタムインジケータの場合、この値は未定義である。

Sample:
  double   drop_price=WindowPriceOnDropped();
  datetime drop_time=WindowTimeOnDropped();
  //---- may be undefined (zero)
  if(drop_time>0)
    {
     ObjectCreate("Dropped price line", OBJ_HLINE, 0, drop_price);
     ObjectCreate("Dropped time line", OBJ_VLINE, 0, drop_time);
    }


にほんブログ村 為替ブログ FX システムトレード派へ
WindowScreenShot
bool WindowScreenShot(string filename, int size_x, int size_y, int start_bar=-1, int chart_scale=-1, int chart_mode=-1)

現在のチャートのスクリーンショットをGIFファイルとして保存する。
もし失敗すればFALSEを返す。
エラーコードを得るためには、GetLastError()関数を用いる。

Parameters:
filename    -  ファイル名
size_x      -   横ピクセル
size_y      -   縦ピクセル
start_bar   -  スクリーンショットに最初に表示させる足番号。
                もし0をセットすると現在表示されている最初の足番号となる。
                値を設定しない、または負の数を設定すれば、
                チャートの最終部分のスクリーンショットが作られ、
                下げ幅は織り込まれている。
chart_scale  -   スクリーンショットの水平方向のスケール。
                0-5の範囲が設定できる。値を設定しない、または負の数を設定すれば、
                現在のチャートスケールが使われる。
chart_mode  - チャート表示モード。これは以下の値をとる:
                CHART_BAR(0) - カギ足
                CHART_CANDLE(1) - ローソク足
                CHART_LINE(2) - ライン
                値を設定しない、または負の数を設定すれば、現在のモードで表示される。
Sample:
  int lasterror=0;
  //---- tester has closed one or more trades
  if(IsTesting() && ExtTradesCounter< TradesTotal())
    {
     //---- make WindowScreenShot for further checking
     if(!WindowScreenShot("shots\\tester"+ExtShotsCounter+".gif",640,480))
        lasterror=GetLastError();
     else ExtShotsCounter++;
     ExtTradesCounter=TradesTotal();
    }


にほんブログ村 為替ブログ FX システムトレード派へ
WindowRedraw
void WindowRedraw( )

現在のチャートを強制的に再描画させる。
通常、オブジェクトプロパティが変更された後に使われる。

Sample:
  //---- set new properties for some objects
  ObjectMove(object_name1, 0, Time[index], price);
  ObjectSet(object_name1, OBJPROP_ANGLE, angle*2);
  ObjectSet(object_name1, OBJPROP_FONTSIZE, fontsize);
  ObjectSet(line_name, OBJPROP_TIME2, time2);
  ObjectSet(line_name, OBJPROP_ANGLE, line_angle);
  //---- now redraw all
  WindowRedraw();


にほんブログ村 為替ブログ FX システムトレード派へ
WindowPriceOnDropped
double WindowPriceOnDropped( )

エキスパート、スクリプトがドロップされたポイントの価格を返す。
この番号はエキスパート、、スクリプトがマウスによってドロップされた場合有効である。
Note:カスタムインジケータの場合、この値は未定義である。

Sample:
  double   drop_price=WindowPriceOnDropped();
  datetime drop_time=WindowTimeOnDropped();
  //---- may be undefined (zero)
  if(drop_time>0)
    {
     ObjectCreate("Dropped price line", OBJ_HLINE, 0, drop_price);
     ObjectCreate("Dropped time line", OBJ_VLINE, 0, drop_time);
    }


にほんブログ村 為替ブログ FX システムトレード派へ
WindowPriceMin
double WindowPriceMin(int index=0)

現在のチャートの指定されたサブウィンドウ(メインウィンドウ:0, サブウィンドウ1:1, ...,)における垂直方向の最小値を返す。
もしサブウィンドウ番号が指定されていなければ、メインウィンドウの最小値を返す。
関連項目:WindowPriceMax()WindowFirstVisibleBar()WindowBarsPerChart()

Parameters:
index     - サブウィンドウ番号(0:メイン)
Sample:
double   top=WindowPriceMax();
double   bottom=WindowPriceMin();
datetime left=Time[WindowFirstVisibleBar()];
int      right_bound=WindowFirstVisibleBar()-WindowBarsPerChart();
if(right_bound<0) right_bound=0;
datetime right=Time[right_bound]+Period()*60;
//----
ObjectCreate("Padding_rect",OBJ_RECTANGLE,0,left,top,right,bottom);
ObjectSet("Padding_rect",OBJPROP_BACK,true);
ObjectSet("Padding_rect",OBJPROP_COLOR,Blue);
WindowRedraw();


にほんブログ村 為替ブログ FX システムトレード派へ
WindowPriceMax
double WindowPriceMax(int index=0)

現在のチャートの指定されたサブウィンドウ(メインウィンドウ:0, サブウィンドウ1:1, ...,)における垂直方向の最高値を返す。
もしサブウィンドウ番号が指定されていなければ、メインウィンドウの最高値を返す。
関連項目:WindowPriceMin()WindowFirstVisibleBar()WindowBarsPerChart()

Parameters:
index     - サブウィンドウ番号(0:メイン)
Sample:
double   top=WindowPriceMax();
double   bottom=WindowPriceMin();
datetime left=Time[WindowFirstVisibleBar()];
int      right_bound=WindowFirstVisibleBar()-WindowBarsPerChart();
if(right_bound<0) right_bound=0;
datetime right=Time[right_bound]+Period()*60;
//----
ObjectCreate("Padding_rect",OBJ_RECTANGLE,0,left,top,right,bottom);
ObjectSet("Padding_rect",OBJPROP_BACK,true);
ObjectSet("Padding_rect",OBJPROP_COLOR,Blue);
WindowRedraw();


にほんブログ村 為替ブログ FX システムトレード派へ
WindowOnDropped
bool WindowOnDropped( )

エキスパート、カスタムインジケータ、スクリプトがドロップされたウィンドウ番号を返す。
この番号はエキスパート、カスタムインジケータ、スクリプトがマウスによってドロップされた場合有効である。
Note:カスタムインジケータの初期化中(init関数を呼んでいる間)は、この番号は定義されていない。
この関数が返す番号は、カスタムインジケータが動作しているウィンドウ番号(メインウィンドウ:0, サブウィンドウ1:1, ...,)である。一つのカスタムインジケータは動作中に新しいサブウィンドウを作ることができ、サブウィンドウ番号はインジケータがドロップされたウィンドウ番号とは異なるかもしれない。
関連項目:WindowXOnDropped()WindowYOnDropped()

Sample:
if(WindowOnDropped()!=0)
  {
   Print("Indicator 'MyIndicator' must be applied to main chart window!");
   return(false);
  }


にほんブログ村 為替ブログ FX システムトレード派へ
WindowIsVisible
bool WindowIsVisible( int index)

もしチャートサブウィンドウが可視化されているならTRUEを、それ以外はFALSEを返す。
チャートサブウィンドウはインジケータ内の可視化プロパティによって見えなくすることができる。

Parameters:
index     - チャートサブウィンドウ番号
Sample:
  int maywin=WindowFind("MyMACD");
  if(maywin>-1 && WindowIsVisible(maywin)==true)
    Print("window of MyMACD is visible");
  else
    Print("window of MyMACD not found or is not visible");


にほんブログ村 為替ブログ FX システムトレード派へ
WindowHandle
int WindowHandle( string symbol, int timeframe)

チャートのシステムウィンドウハンドルを返す。
もし関数が呼び出されるまで、symboltimeframeのチャートが開かれていなかった場合、0を返す。

Parameters:
symbol     - 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe - 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
Sample:
  int win_handle=WindowHandle("USDX",PERIOD_H1);
  if(win_handle!=0)
    Print("USDX,H1ウィンドウ検出。価格配列はすぐにコピーされます。");


にほんブログ村 為替ブログ FX システムトレード派へ
WindowFirstVisibleBar
int WindowFirstVisibleBar()

現在のチャートの一番左に見えている(初めて現れる)足の番号を返す。足番号は最新から最古の逆順で番号付けされていることに注意するべきである。
現在の足や価格配列で最も新しい足の番号は0である。
最古の足の番号はBars-1である。
もし初めて現れる足番号が2もしくはチャート上に表示されている足の数より小さい場合、チャートウィンドウは完全に表示されていないことを意味し、左にスペースがある。
Sample:
   // work with visible bars.
   int bars_count=WindowBarsPerChart();
   int bar=WindowFirstVisibleBar();
   for(int i=0; i< bars_count; i++,bar--)
     {
      // ...
     }


にほんブログ村 為替ブログ FX システムトレード派へ
WindowFind
int WindowFind(string name)

nameの名前を持つインジケータが見つかれば、この関数はそのインジケータが含まれているウィンドウ番号を返す。それ以外は-1を返す。
Note:もしカスタムインジケータのinit()関数内でWindowFind()関数を呼び出すと-1を返す。
Parameters:
name   -   簡易インジケータ名
Sample:
int win_idx=WindowFind("MACD(12,26,9)");


にほんブログ村 為替ブログ FX システムトレード派へ
WindowExpertName
string WindowExpertName()

この関数が呼ばれたMQL4プログラムに依存する、実行中のエキスパート、スクリプト、カスタムインジケータ、ライブラリの名前を返す。

Sample:
string name=WindowExpertName();
GlobalVariablesDeleteAll(name);


にほんブログ村 為替ブログ FX システムトレード派へ
WindowBarsPerChart
int WindowBarsPerChart()

チャート上に表示されている足の数を返す。

Sample:
// work with visible bars.
int bars_count=WindowBarsPerChart();
int bar=WindowFirstVisibleBar();
for(int i=0; i< bars_count; i++,bar--)
  {
   // ...
  }


にほんブログ村 為替ブログ FX システムトレード派へ
Symbol
string Symbol()

現在の金融商品の名前を文字列で返す。

Sample:
   int total=OrdersTotal();
   for(int pos=0;pos< total;pos++)
     {
      // 注文が閉じているか取り消されているかもしれないので
      // 選択可能かをチェックする
      if(OrderSelect(pos, SELECT_BY_POS)==false) continue;
      if(OrderType()>OP_SELL || OrderSymbol()!=Symbol()) continue;
      // performs some processing...
     }


にほんブログ村 為替ブログ FX システムトレード派へ
RefreshRates
bool RefreshRates()

定義済み変数や直列配列のデータを最新の状態にする。
この関数はエキスパートが長い計算をし、データの更新が必要になった時に使われる。
もしデータの更新ができればTRUEを、それ以外はFALSEを返す。
データの更新ができない時にだけ、クライアント端末内の現在のデータ値となる。

エキスパートやスクリプトは過去データのコピーを操作する。現在の通貨のデータはエキスパートやスクリプトが最初に起動した時にコピーされる。
エキスパートの次回起動時(スクリプトは一度だけ実行され、価格変動に依存しない)、最初のコピーが更新される。
エキスパートやスクリプトが動作している間も、価格は変動し、そしてデータは古いものとなる。

Sample:
   int ticket;
   while(true)
     {
      ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
      if(ticket<=0)
        {
         int error=GetLastError();
         //---- not enough money
         if(error==134) break;
         //---- 10 seconds wait
         Sleep(10000);
         //---- refresh price data
         RefreshRates();
         break;
        }
      else
        {
         OrderSelect(ticket,SELECT_BY_TICKET);
         OrderPrint();
         break;
        }
     }


にほんブログ村 為替ブログ FX システムトレード派へ
Period
int Period()

期間(チャート時間枠)で定義された時間(分)を返す。

Sample:
  Print("Period is ", Period());


にほんブログ村 為替ブログ FX システムトレード派へ
HideTestIndicators
void HideTestIndicators(bool hide)

この関数はエキスパートから呼ばれたインジケータを非表示にするフラグを設定する。
エキスパートのテストが終了した後、適切なチャートが開かれる。フラグのセットされたインジケータはテストチャート上に表示されない。
呼ばれた全インジケータはまず現在のフラグに設定される。
テスト中にエキスパートから直接呼ばれたこれらのインジケータだけが、テストチャートに表示されるということを注意しておいた方がよい。
Parameters:
hide    -   もし非表示にしたいならTRUE、それ以外はFALSE

Sample:
   HideTestIndicators(true);
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0);
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1);
   HideTestIndicators(false);


にほんブログ村 為替ブログ FX システムトレード派へ
Window functions
Designed by aykm.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。