無料ブログはココログ

« ubuntuでanthyの辞書 | トップページ | MetaTrader 変数の定義など »

2012年1月 2日 (月)

iRSIの使い方(MetaTrader)

MetaTraderメモ

テクニカル指標iRSIが80以上になったらsell、20以下になったらbuyの注文を出すサンプルです。
太字の部分がiRSI関数を呼び出している部分になります。
iRSIの詳しい使い方は

http://www.metasys-seeker.net/MQL4_Reference_ver1/MQL4_Reference_Contents.html

あたりを参照してください。

 

extern int MAGIC = 123456;
extern int Slippage = 3;
extern double Lots = 0.1;

extern int TS = 10;        // TradingStop
extern int LC = 10;        // LossCut

int ticket;

int start()
{
    string sStatus;

    if(Bars<100 || IsTradeAllowed()==false) return;

    int buy_position = 0;
    int sell_position = 0;

    for(int i=0; i<OrdersTotal(); i++)    {
        if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;

        if(OrderMagicNumber() == MAGIC)    {
            if(OrderType() == OP_BUY)    {
                buy_position++;
            }
            if(OrderType() == OP_SELL)    {
                sell_position++;
            }
        }
    }

    if (buy_position==0) {
        if (iRSI(NULL,0,14,PRICE_CLOSE,0)<20) {
            ticket=OrderSend(Symbol(),OP_BUY,         // Symbol for trading.,Operation type.
                                    Lots,             // Number of lots.
                                    Ask,              // Preferred price of the trade.
                                    Slippage,         // Maximum price slippage for buy or sell orders.
                                    Ask-LC*Point,     // Stop loss level.
                                    Ask+TS*Point,     // Take profit level.
                                    "Buy Order ",     // Order comment text.
                                    MAGIC,0,Green);   // Order magic number.
                                                      // Order expiration time
                                                      // Color of the opening arrow on the chart.

            if (ticket<0) {
                Print("OrderSend Failed, Error No ",GetLastError());
            }
            return(0);
        }
    }

    if (sell_position==0) {
        if (iRSI(NULL,0,14,PRICE_CLOSE,0)>80) {
            ticket=OrderSend(Symbol(),OP_SELL,     // Symbol for trading.,Operation type.
                                    Lots,          // Number of lots.
                                    Bid,           // Preferred price of the trade.
                                    Slippage,      // Maximum price slippage for buy or sell orders.
                                    Bid+LC*Point,  // Stop loss level.
                                    Bid-TS*Point,  // Take profit level.
                                    "Sell Order ", // Order comment text.
                                    MAGIC,0,Red);  // Order magic number.
                                                   // Order expiration time
                                                   // Color of the opening arrow on the chart.

            if (ticket<0) {
                Print("OrderSend Failed, Error No ",GetLastError());
            }
            return(0);
        }
    }

   return(0);
}

« ubuntuでanthyの辞書 | トップページ | MetaTrader 変数の定義など »

儲かるEAを作るぞプロジェクト準備編」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/211157/53638645

この記事へのトラックバック一覧です: iRSIの使い方(MetaTrader):

« ubuntuでanthyの辞書 | トップページ | MetaTrader 変数の定義など »

2016年1月
          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