文系人間のためのシステムトレーダー養成所 メタトレーダー補講第2回 トレーディング関数
--------

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2009-04-01

メタトレーダー補講第2回 トレーディング関数

今回は補講第2回ということで、トレーディング関数を扱います。

今までの記事の中で最も分量が多く、訳すのが疲れました。。(笑)

ですので読むのも結構大変だと思いますが、最初の3つ程のトレーディング関数の説明を読んでしまえば、後はほとんど同じパターンのトレーディング関数の記述になっていくので、そんなに難しくはないと思います。

記述はすべて、
関数名
シンタックス(データタイプ)
関数の解説
関数の取る設定値
例文
で行われており、必要に応じてメモが入る構成になっています。

それでは、今回もよろしくお願いします。

この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)                      
                     MQL4講座             
                     Coders'guru
                       www.forex-tsd.com   
                          -補講2-
                   トレーディング関数

今回の補講では、MQL4の25個のトレーディング関数の解説を行います。
私は初めてのエキスパートアドバイザー第3部の講義の前にこの補講を行うことに決めました。なぜなら、残りのコードを解読していく前に、これらの重要な関数を知ることが必要だからです。
____________________________________________________________________

OrderSend:

シンタックス:
int OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss,double, double takeprofit, string comment=NULL,int magic=0, detetime expriation=0,color allow_color=CLR_NONE)

敢えて日本語に訳すなら

注文執行(通貨ペア,売買執行種類(売り、買い、エントリー、エクジッド、指値等),Lot数,エントリ―時の価格,許容スリッページ,ストップロスの値,手仕舞いの指値の値,注文時のコメント,オーダー識別番号,手仕舞い時間,エントリー時のマークの色)

解説
このOrderSend関数は売り/買いのオープンオーダー(指定した値段になると実行される注文)か、決済注文に指定のために使います。

もしその注文が成功すれば注文番号が返却値として返され、失敗すればー1が返されます。
GetLastError関数を使ってより詳しいエラーの原因を知ることができます。

  メモ:注文番号はOrderSend関数によって返される固有の数字です。この関数
  は後で新規あるいは決済注文のリファレンスとして使うことができます。(たとえばOrderClose関
  数と注文番号を使用して、特定の注文を手仕舞うことができます)

  メモ:GetLastError関数は、あるコードが実行された後に最後に起こったエラー
  に対応する予約された数字が返されます。(例えばOrderSendが実行されたあとにGerLastError
  関数が呼び出され時、OrderSendが実行している間に起きたエラーナンバーが表示されます)

  GetLastEllorが呼び出されると、一つ前のエラーナンバーは0にリセットされます。

  stderror.mqhファイルにMQL4のエラーナンバーのすべてのリストが書かれていますのでよろしけ
  ればご覧ください。
  また特定のエラーナンバーに対するエラーの解説をstdlib.mqhファイルに定義されたErrorDescripti
  on関数を使うことによって得ることもできます。(どちらもexperts/includeフォルダの中に入ってま
  す)

設定値
OrderSend関数は設定値を11個持ちます。

string symbol
symbolとは貴方の取引する通貨ペアの名称のことです(例EURUSD USDJPY等)

  メモ:現在使用している通貨ペアを得るためにはSymbol()関数を使い、OrderS
  elecy()関数によって指定された、現在指定されている通貨ペアを得るためにはOrderSymbol関数
  を使用します。

int cmd;
貴方がどのような売買執行をしたいのかを指し示す整数値の数値です。以下の値がとれます。

定数            値       解説
OP_BUY          0        買いポジション  
OP_SELL          1        売りポジション
OP_BUYLIMIT       2        指値で買う
OP_SELLLIMIT      3        指値で売る
OP_BUYSTOP       4        逆指値で買う
OP_SELLSTOP      5        逆指値で売る

  メモ:整数値を定数値の代わりに式として使うことも可能です。
  例えば
  OrderSend(Symbol(),0,......)はOrderSend(Symbol(),OP_BUY....)と書くのと等しいです。
  しかし、コードを分かりやすい状態にするために、定数名で記述することをお勧めします。

double volume
貴方がトレードさせたいと思うロット数

double price:
ここでは価格の値段がいくらの時に売買を実行するかを指定します。
最新の買値や売値(bid ask)のデータを得るためにはBid関数もしくはASK関数を使います。

int slippage:
貴方が注文の際に定める許容スリッページの値。

  メモ:スリッページとは算出取引価格と実際の執行価格との間に生まれた差で
  す。
  スリッページは普通スプレッドの変化によるものと考えられています。

double stoploss:
損失を含んだときに手仕舞おうと思う値段。(逆指値手仕舞いの値段)

double takeprofit:
含み益の際に手仕舞おうと思っている値段。(逆指値手仕舞いの値段)

string comment:
指定したテキストのコメントを、貴方が注文した時に表示することができます。(図1参照)
初期値は、注文に対して何もコメントを割り振りませんという意味のNULLが設定されています。

  メモ:初期値が指定されている場合、貴方はコード文を記述しなくても大丈夫と
  いう意味です。何も記述しなければ、MQL4は初期値が設定されているものとして読み込みます。
  つまり、コメントを挿入するのであれば
  OrderSend(Symbol(),OP_BUY,Ask 3,ask-25*Point,Ask+25*Point,"My order comment",12345,
  0,Green);
  逆にしないのであれば
  OrderSend(Symbol(),OP_BUY,Ask 3,ask-25*Point,Ask+25*Poin
  t,12345
,0,Green);
  と記述するわけです。(赤で囲ったAsk+25*Point,12345の間に、順序的にコメントが入るわけです
  が、コメントを挿入する気がないのならば記述しなくていいわけです。そこにはNULLが初期値なの
  で自動的に挿入されたとしてMQL4は考えます)

int magic:
注文に対して割り振ったマジックナンバー

  メモ:マジックナンバーとは、貴方に注文の違いを区別できるようにさせるリファ
  レンスとして、注文に対して割り振った数字です。例えば貴方がエキスパートアドバイザーによって
  行ったオープン注文(指定した値段になると実行される注文)と、貴方が手動で行ったオープン注
  文等が例に挙げられます。

detetime expiration
貴方の未決の注文の有効期限がいつ切れるかを決めるものです。
初期値はで、これは有効期限等は無いことを示します。

  メモ:ここでいう時間とは、サーバーの時間で、日本時間ではありません。現在
  のサーバーの時間を得るためにはCurTime関数を使用し、日本時間(ローカル時間)を得たいなら
  LocalTime関数を使用します。

color arrow_color;
エントリー注文の時のマークの色の設定(図2)で、初期値はCLR_NONEです。意味は、チャート上にマークを何も描かない です。



int ticket;
if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25)
{
ticket=OrderSend( (Symbol(),OP_BUY,Ask,3,ask-25*Point,Ask+25*Point,"Myorder#2,16384,0,Green);
  if(ticket<0)
   {
   Print("OrderSend failed with error#"GetLastError());
   return(0)
   }
  }
____________________________________________________________________
OrderModify

シンタックス
bool OrderModify(int ticket,double price,double stoploss,double takeprofit,datetime expiration,color arrow_color=CLR_NONE)

真か偽か 注文調整(注文番号, いくらで注文するか, ストップロスはいくらか, いくら益がでたら決済するか,タイムリミットはいつか,マークの色 )  

解説
OrderModify関数は、特定の注文もしくはまだ執行されていない注文の特性を変更し、新しい値に置き換えて、関数に受け渡すという働きをします。
もしも注文が変更するのに成功したらばtrueの値を返し、失敗すればfalseの値が返されます。
GetLastError関数を使うことによって、より詳細なエラーの原因がわかります。

設定値
設定値は6つあります。

int ticket:
貴方が調整(変更)したいチケット番号(注文番号)です。

  メモ:この数はOrderSend関数によって既に注文に割り当てられています。
  OrderTicket関数を使うことで、現在の注文のチケット番号を取得できます。

double price:
注文する時に指定する値段です。

  メモ:OrderOpenPrice関数を使うことで現在の注文のオープン価格(オープン
  注文で指定した価格)を取得できます。

double stoploss
損失が出た時に手仕舞おうと思っている値段です(逆指値決済の値です)

double takeprofit;
利益が出た時に手仕舞おう(指値決済の値です)

  メモ:OrderModify関数は、stoplossとtakeprofitの値を変えるために使われる
  ことが一般的です。これはトレイリングストップと呼ばれています。

detatime expiration:
未決の注文を何時に無効にするか。
特に時間を指定したくない時はを使ってください。

color arrow_color
マークの色。初期値の色はCLR_NONEで、何もマークをチャートに描かないことを表しています。



if(TrailingStop>0)
 {
 SelectOrder(12345,SELECT_BY_TICKET);
 if(BID-OrderOpenPrice()>Point*TrailingStop)
  {
   if(OrderStopLoss()     {
      OrderModify(OrderTicket(),Ask-10*Point,Ask-35*Point,OrderTakeProfit(),0,Blue);
      return(0);
     }
    }
   }
____________________________________________________________________
OrderClose

シンタックス
bool OrderClose(int ticket,double lots,double price,int slippage,color=CLR_NONE)


解説

OrderClose関数は特定の約定注文を(そのチケット番号を使って)手仕舞う時に使います。
もし注文の手仕舞いが行われればtrueを返し、行われなければfalseの値を返します。
GetLastError関数を使うことで、エラーの詳細を取得できます。

設定値
この関数は5つの設定値を持ちます。

int ticket:
貴方が手仕舞いおうとする注文のチケット番号です。

double lots:
貴方が手仕舞おうとするロット数です。

  メモ:OrderLots関数を使うことで、現在の注文のロット数を取得できます。

double price:
対象の注文を手仕舞う時に指定する値段です。
Bid関数やAsk関数を使うことで現在の買値、売値を取得できます。

int slippage:
注文のスリッページ許容値です。

color Color:
手仕舞い時のマークの色です。初期値はCLR_NONEであり、チャートにマークは描かれないことを意味しています。



if(iRSI(NULL,0,14,PRICE CLOSE,0)>75)
  {
  OrderClose(order id,1,Ask,3,Red);
  return(0);
  }
____________________________________________________________________
OrderSelect

シンタックス
bool OrderSelect(int index,int select,int pool=MODE_TRADES)

解説
OrderSelect関数は、新規注文もしくは未決済注文を、チケット番号又はインデックスによって選択する働きを持ちます。
もしも注文の選択に成功したらtrueの値を返し、失敗したらtrueの値を返します。
GetLastError関数を使うことでエラーの詳細を取得できます。

  メモ:設定値をとらないトレーディング関数の前には、OrderSelect関数を使わ
  なければなりません。
  OrderMagicNumber, OrderClosePrice, OrderCloseTime, OrderOpenPrice, OrderOpen,Time,
  OrderComment,OrderCommission, OrderExpiration, OrderLots, OrderPrint, OrderProfit,
  OrderStoploss,OrderSwap,OrderSymbol,OrderTakeProfit,OrderTicket, OrderType

設定値:
この関数はつの設定値を持ちます。

int index
貴方が選択したい注文のインデックスもしくはチケット番号。どちらにするかは次の設定値(select)次第です。

int select:
選択を実行するタイプ(インデックスか、注文番号か)
以下の二つの値のどちらかを取ります。
SELECT_BY_POS:注文の位置(インデックス)を使用します。
SELECT_BY_TICKET:注文のチケット番号を使用します。

int pool:
もしSELECT_BY_POSの選択タイプを使ったなら、どこの情報源から選択するかを決定しなくてはなりません。

MODE_TRADES:現在の注文から選択(エントリー注文、未決済注文用)これが初期設定値になります。
MODE_HISTORY:履歴から選択(手仕舞い注文、注文取り消し用)



if(OrderSelect(12470,SELECT BY TICKET)=true)
  {
  Print("order#12370 open price is",OrderOpenPrice());
  Print("order#12470 close price is ",OrderClosePrice());
  }
  else
   Print("OrderSelect failed error code is",GetLastError());
____________________________________________________________________
OrderDelete:

シンタックス
bool OrderDelete(int ticket)

解説
OrderDelete関数はまだ執行されていない注文を削除する時に使われます。
もし注文が正常に削除されたのならtrueの値を返し、失敗したらfalseの値を返します。
GetLastError関数を使うと、エラーの詳細が取得できます。

設定値

この関数は1つの設定値のみ持ちます。

int ticket
貴方が削除したい注文のチケット番号です。



if(Ask>var1)
  {
  OrderDelete(order_ticket);
  return(0);
  }

____________________________________________________________________
OrderCloseBy:

シンタックス
bool OrderCloseBy(int ticket,int opposite, color Color=CLR_NONE)

解説
OrderCloseBy関数は、特定の注文を反対売買を行うことによって手仕舞う時につかう関数です。
もし成功したらtrueの値を返し、失敗したらfalseの値を返します。
GetLastError関数を使えば、エラーに関する詳細を取得することができます。

設定値
この関数は3つの設定値を持ちます。

int ticket
貴方が手仕舞いたい注文のチケット番号です。

int opposite
貴方が反対方向でエントリーしようと思う注文のチケット番号です

color Color:
手仕舞いマークの色です。初期設定値はCLR_NONEで、マークをチャート場に描かないことを意味します。


if(RSI(NULL,0,14,PRICE_CLOSE,0)>75)
 {
 OrderCloseBy(order id,opposite id);
 return(0);
 }

____________________________________________________________________
OrderType
シンタックス
int OrderType()

解説
OrderType関数は、返却値として選択された注文の種類を返します。具体的にはOrderSend関数であるOP_BUY,OP_SELL,OP_BUYLIMIT,OP_SELLLIMIT,OP_BUYSTOP,OP_SELLSTOPのうちのどれかです。

設定値
この関数には設定値がありません。ただ整数値の選択された注文のデータタイプを返すだけです。
(返された整数値が0ならばOP_BUYが返されます。詳しくはOrderSend関数をご覧ください。)



int order_type;
 if(OrderSelect(12,SELECT_BY_POS)==true)
  {
  order_type=OrderType();
  }
  else
  Print("OrderSelect()returned error-",GetLastError());
____________________________________________________________________
History Total:

シンタックス
int HistoryTotal()

解説
HistoryTotal関数はメタトレーダーターミナルから読み込まれた口座の履歴を検索し、手仕舞い注文の数を返す。

  メモ:普通この関数はOrderSelect関数と一緒に使用し、履歴の中から特定の
  注文情報を取得します。

設定値

この関数はなんの設定値も持ちません。ただ整数値(履歴の中の手仕舞い注文の総数)を返します。
GetLastError関数を使うことでエラーの詳細の情報を取得することができます。



//取引履歴から情報を回収する行動を取る
  int i,hstTotal=HistoryTotal();
  for(i=0;i  {
  //---選択した結果のチェック
  if(OrderSelect(i,SELECT BY POS,MODE HISTORY)==false)
  {
  Print("Access to history failed with error(",GetLastError(),")");
  break;
  }
  //注文と一緒にする仕事
 }

____________________________________________________________________
OrderClosePrice:

シンタックス
double OrderClosePrice()

解説
OrderClosePrice関数は選択した注文の手仕舞った値段を返します。
注文は普通、OrderClosePrice関数を呼び出す前にOrderSelect関数によって選択されています。



if(OrderSelect(ticket,SELLECT BY POS)==true)
  Print("Close price for the order",ticket,"=",OrderClosePrice());
 else
  Orint("OrderSelect failed error code is "GetLastError());

____________________________________________________________________
OrderCloseTime;

シンタックス
datetime OrderCloseTime()

解説
OrderCloseTime関数は手仕舞った時間を返します。
0が返却値として返されたら、その指定した注文は手仕舞われていないか、もしくはすでに手仕舞われていて、履歴から回収されたかのどちらかになります。
OrderCloseTimeが呼び出される前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は何も設定値をもちません。そして返却値としてdatetimeのデータタイプ(指定された手仕舞い注文の時間)が返されます。



if(OrderSelect(10,SELECT_BY_POS,MODE_HISTORY)==true)
 {
 datetime ctm=OrderOpenTime();
 if(ctm>0)Print("Open time for the order 10",ctm);
 ctm=OrderCloseTime();
 if(ctm>0)Print("Close time for the order 10",ctm);
 }
 else
  Print("OrderSelect failed error code is ",GetLastError());
____________________________________________________________________
OrderComment;

シンタックス
string OrderComment()

解説
OrderComment関数は、選択した注文に対する文字列のコメントを返します。

  メモ:このコメントはOrderSend関数と一緒にエントリー注文に対して割り当てら
  れるか、もしくはサーバーによって割り当てられます。時々あなたのコメントの最後に、サーバーの
  コメントを添えることがあります。

OrderComment関数を呼び出す前に、OrderSelectによって注文を選択していなければなりません。

設定値
この関数は何も設定値をとりません。そしてstringのデータタイプ(選択された注文に対するコメントの文字列)を返します。



string comment;
if(OrderSelect(10,SELECT_BY_TICKET)==false)
 {
 Promt("OrderSelect failed error code is",GetLastError());
 return(0);
 }
 comment=OrderComment();
____________________________________________________________________
OrderCommission:

シンタックス
double OrderCommission()

解説
OrderCommission関数は選択された注文の手数料を返します。
OrderCommission関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、doubleのデータタイプ(選択された注文に対する手数料)を返します。



if(OrderSelect(10,SELECT_BY_POS)==true)
  Print("Commission for the order10",OrderCommission());
 else
  Print("OrderSelect failed error code is",GetLastError());
 ____________________________________________________________________
OrderExpiration:
シンタックス
datetime OrderExpiration()

解説
OrderExpiration関数は、任意のOrderSendで指定した未決注文の有効期限の終了の時間を返します。
OrderExpiration関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、datatimeのデータタイプ(選択された未決注文の有効期限終了の時間)を返します。



if(OrderSelect(10,SELECT_BY_TICKET)==true)
  Print("Order expiration for the order#10"is,OrderExpiration());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderLots:

シンタックス
double OrderLots()


解説
OrderLots関数は、任意のOrderSend関数(のvolume設定値)で指定したロット数を返します。
OrderLots関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、doubleのデータタイプ(選択された注文のロット数)を返します。



if(OrderSelect(10,SELECT_BY_POS)==true)
  Print("lots for the order 10"is,OrderLots());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderMagicNumber:

シンタックス
int OrderMagicNumber()

解説
OrderMagicNumber関数は、任意のOrderSend関数で指定した識別番号の数を返します。
OrderMagicNumber関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値

この関数は設定値をとらず、integerのデータタイプ(選択された注文の識別番号)を返します。



if(OrderSelect(10,SELECT_BY_POS)==true)
  Print("Magic number for the order 10",OrderMagicNumber());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderOpenPrice:

シンタックス
double OrderOpenPrice()

解説
OrderOpenPrice関数は、指定したオープン価格を返します。
OrderOpenPrice関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、doubleのデータタイプ(選択された注文のオープン価格)を返します。



if(OrderSelect(10,SELECT_BY_POS)==true)
  Print("open price for the order 10",OrderOpenPrice());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderOpenTime:

シンタックス
datetime OrderOpenTime()


解説
OrderOpenTime関数は、指定した注文の執行時間を返します。
OrderOpenTime関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、datatimeのデータタイプ(選択された注文の執行時間)を返します。



if(OrderSelect(10,SELECT_BY_POS)==true)
  Print("open time for the order 10",OrderOpenTime());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderProfit:

シンタックス
double OrderProfit()


解説
OrderProfit関数は、指定した注文の利益を返します。
OrderProfit関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、doubleのデータタイプ(選択された注文の利益)を返します。



if(OrderSelect(10,SELECT_BY_POS)==true)
  Print("profit for the order 10",OrderProfit());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderPrint:

シンタックス

void OrderPrint()

解説
OrderPrint関数は、選択された注文の情報をexpert log fileに出力します。
OrderPrint関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、返却値も返しません(voidです)

  メモ:voidの意味は、何も返却値を返さないという意味で、以下のような変数を
  割り振ることはできません。
  int i =OrderPrint();//コンパイルをしてもエラーはでてきませんが、何も意味はありません。



if(OrderSelect(10,SELECT_BY_TICKET)==true)
  OrderPrint();
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderStopLoss:

シンタックス
double OrderStopLoss()

解説
OrderStopLoss関数は、任意のOrderModify関数で調整、もしくはOrderSend関数で指定したストップロスの値を返します。
OrderStopLoss関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、doubleのデータタイプ(選択された注文のストップロスの値)を返します。



if(OrderSelect(10,SELECT_BY_POS)==true)
  Print("stop loss value for the order 10",OrderStopLoss());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrdersTotal:

シンタックス
int OrdersTotal()

解説
OrdersTotal関数は、指定した値段になると実行される注文と未決注文の総数を返します。
もしの値が帰ってきたら、注文は何もなされていないことを表します。

設定値
この関数は設定値をとらず、integerのデータタイプ(指定した値段になると実行される注文と未決注文の総数)を返します。



int handle=FileOpen("OrderReport.csv",FILE_WRITE|FILE_CSV,"\t");
 if(handle<0)return(0);
  //ヘッダーに記述
 FileWrite(handle,"#","open price","open time","symbol","lots");
 int total=OrdersTotal();
  //オープンオーダーを記述
 for(int pos=0;pos<total;pos++)
  {
  if(OrderSelect(pos,SELECT_BY_POS)==false)continue;

FileWrite(hadle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots());
  }
  FileClose(handle);
 ____________________________________________________________________
OrderSwap:


シンタックス
double OrderSwap()

解説
OrderSwap関数は、指定した注文のスワップポイントを返します。
OrderSwap関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

  メモ:交換には、一つの通貨ともう一つの通貨を同じにするための為替の元金
  と利率が必要です。通貨スワップは、もともと為替管理の問題を避けるために行われたものです。

設定値
この関数は設定値をとらず、doubleデータタイプの返却値(選択した通貨のスワップポイント)を返します。


if(OrderSelect(order_id,SELECT_BY_TICKET)==true)
  Print("Swap for the order #",order_id,"",OrderSwap());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderTakeProfit

シンタックス
double OrderTakeProfit()

解説
OrderTakeProfit関数は、任意のOrderSendで指定した、もしくはOrderModify関数で調整した注文の指値決済の値段を返します。
OrderTakeProfit関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、doubleのデータタイプ(選択された注文の通貨ペアの指値決済の値段)を返します。



if(OrderSelect(12,SELECT_BY_POS)==true)
  Print("order#",OrderTicket(),"profit",OrderTakeProfit());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________
OrderTicket

シンタックス
int OrderTicket()


解説
OrderTicket関数は、指定した注文のチケット番号(注文番号)を返します。
OrderTicket関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、integerのデータタイプ(選択された注文のチケット番号)を返します。



if(OrderSelect(12,SELECT_BY_POS)==true)
  order=OrderTicket();
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________

OrderSymbol

シンタックス
string OrderSymbol()

解説
OrderSymbol関数は、指定した注文の通貨ペアの説明を文字列で返します。(EURUSD等)
OrderSymbol関数を呼び出す前に、OrderSelect関数によって注文が選択されていなければなりません。

設定値
この関数は設定値をとらず、stringのデータタイプ(選択された注文の通貨ペアの説明)を返します。



if(OrderSelect(12,SELECT_BY_POS)==true)
  Print("symbol of order#",OrderTicket(),"is",OrderSymbol());
 else
  Print("OrderSelect failed error code is,",GetLastError());
 ____________________________________________________________________

これでトレーディング関数のことがよくわかりましたでしょうか。

それでは。

Coder's Guru


以上です。長かったですね!今回もお疲れ様でした。

押していただけると大変励みになりますのでよろしくお願いします!
人気ブログランキングへ

theme : FXでシステムトレード
genre : 株式・投資・マネー

コメントの投稿

管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。