//+------------------------------------------------------------------+ //| 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: