heikinashi





//+------------------------------------------------------------------+
//|                                                   heikinashi.mq4 |
//|                                      Copyright 2008, FX scalper  |
//|                                                                  |
//+------------------------------------------------------------------+


#property copyright "Copyright  2008, FXscalper"
#property link      ""




// üÍp[^è`
extern double Lots = 1.0;
extern int SlipPage = 3;
extern  int Profit = 1000;
extern int StopLoss = 1000;




// }WbNio[è`
int MagicNumber = 111111;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  
  
    
//----
   // ¤ÊÏè`
   int ticket,  i;
  
   
      
     
// ½Ï«Ìæ¾ 
  double haopen , haclose;
   haopen=iCustom(NULL,0,"Heiken Ashi",2,1);
   haclose=iCustom(NULL,0,"Heiken Ashi",3,1);
 
 
   
  
   
   // |WVÌ`FbN
   int buyTicket = -1; int sellTicket = -1;
   for (i = 0; i < OrdersTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) {
         if(OrderSymbol() == Symbol() && OrderMagicNumber()==MagicNumber) {
            if (OrderType() == OP_BUY) buyTicket = OrderTicket();
            else if (OrderType() == OP_SELL) sellTicket = OrderTicket();
         }
      }
   }

 
  

   if (buyTicket == -1  ) {
     //o[ÌnlÅȯêγµ
   if(Volume[0] > 1 || IsTradeAllowed() == false) return(0);

      if (  haopen<haclose) {
      
         // ¢¶ð­·é
         ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, SlipPage, 
                                    Ask-StopLoss*Point,Ask+Profit*Point, NULL, MagicNumber, 0, Blue);
        
      } 
      }
      
   if (sellTicket == -1  ) {
    //o[ÌnlÅȯêγµ
   if(Volume[0] > 1 || IsTradeAllowed() == false) return(0);
   
       if (haopen>haclose) {
         // è¶ð­·é
         ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, SlipPage, 
                                    Bid+StopLoss*Point,Bid-Profit*Point, NULL, MagicNumber,0 , Red);
         
      }
   }


   // N[Yð
   if (buyTicket != -1 && haopen>=haclose  ) {
      // ¢¶ðÏ·é
      if (OrderClose(buyTicket, OrderLots(), Bid, SlipPage, Blue) == false) {
         
      }
   } else if (sellTicket != -1 && haopen<=haclose) {
      // è¶ðÏ·é
      if (OrderClose(sellTicket, OrderLots(), Ask, SlipPage, Red) == false) {
         
      }
   }

//----
   return(0);
  }
//+------------------------------------------------------------------+








Sample





Analysis



Market Information Used:

Series array that contains tick volumes of each bar


Indicator Curves created:


Indicators Used:




Custom Indicators Used:
Heiken Ashi

Order Management characteristics:
Checks for the total of open orders

It Closes Orders by itself

Other Features: