heikinashism





//+------------------------------------------------------------------+
//|                                                 heikinashism.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 hasmopen,hasmclose;
   hasmopen=iCustom(NULL,0,"Heiken_Ashi_Smoothed",4,1);
   hasmclose=iCustom(NULL,0,"Heiken_Ashi_Smoothed",5,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 (  hasmopen<hasmclose) {
      
         // ¢¶ð­·é
         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 (hasmopen>hasmclose) {
         // è¶ð­·é
         ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, SlipPage, 
                                    Bid+StopLoss*Point,Bid-Profit*Point, NULL, MagicNumber,0 , Red);
         
      }
   }


   // N[Yð
   if (buyTicket != -1 && hasmopen>=hasmclose  ) {
      // ¢¶ðÏ·é
      if (OrderClose(buyTicket, OrderLots(), Bid, SlipPage, Blue) == false) {
         
      }
   } else if (sellTicket != -1 && hasmopen<=hasmclose) {
      // è¶ðÏ·é
      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_Smoothed

Order Management characteristics:
Checks for the total of open orders

It Closes Orders by itself

Other Features: