OrderSend() の最小構成
OrderSend("USDJPY",OP_BUY,0.1,Ask,3,0,0);
通貨ペアは、ドル円。成行買いを 0.1ロット。スベリは 3 ポイント。ストップロス、利確が未設定。という最小構成の注文。これがティック毎に証拠金の続く限り発注。あくまで動作テストでのみ御使用を ww
//--前略
void OnTick(){
//上記OrderSend()をこの欄に貼る
}
パラメータの解説
int OrderSend(
string symbol, // 通貨ペア
int cmd, // 注文方法
double volume, // 売買ロット
double price, // 執行価格
int slippage, // スリッページ
double stoploss, // ストップロス
double takeprofit, // 利確値
string comment=NULL, // コメント
int magic=0, // マジックナンバー
datetime expiration=0, // 予約注文期間
color arrow_color=clrNONE // チャート上の矢印色
);
- 売買注文を出す通貨ペア。マイクロ口座だとUSDJPYmicroなどディーラーによる違いに注意。予約語の
_Symbol
を入れると現在開いているチャートの通貨ペアで執行。 - 注文方法。
OP_SELLLIMIT
、OP_BUYSTOP
など。 - ロット。
- 価格。売りなら
Bid
。 - 最大スリッページ。
- ストップロス。
- 利益確定価格。
- コメント欄。空欄なら
NULL
を入力。 - マジックナンバー。他 EA の注文と識別するため、ほぼ必須。
- 成行なら
0
。 - チャートに印をつけるための表示色。空欄可。
注意点
Bid Ask
を間違えないように。- 価格指定時に
NormalizeDouble()
で小数点以下を整える。
NormalizeDouble() の例
double minstoplevel=MarketInfo(_Symbol,MODE_STOPLEVEL);
NormalizeDouble(Bid-minstoplevel*_Point,_Digits);
アクティブチャートの通貨ペアの最小ストップレベルをMarketInfo()
で調べ、_Point
(0.001 など)をかけて小数にし、Bid から引く。_Digits
(3 など)の桁に丸める。