Знатоки, помогите советом

 

Добрый вечер.

Искал по нету,но не нашел .

Друзья,к Вам просьба дайте ссылку пожалуйста на советник,работающий на пробитие Хая и лоу предыдущей свечи .

Открытие сделки будет на пробитие High[1] бай,на пробитие Low[1] селл

Сделку держим пока нет обратного сигнала либо стоп или тейк.

 

//+------------------------------------------------------------------+
//| trend.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+

extern int tp=150;
extern int sl=150;
extern double lot=0.01;
extern int magicBUY=2121;
extern int magicSELL=1313;

int init()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+


int start()
  {
//----
  int i, jj, ticket;

   


//BUY=====================================

 jj=0;
 if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++){
 OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 if(OrderMagicNumber()==magicBUY){jj=1;}
 }}
//----
if (jj==0 && Close[0]>High[1]){

ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,5,Ask-(sl)*Point,Ask+(tp)*Point," ",magicBUY,0, Blue );
}

   
//SELL================================
jj=0;
 if (OrdersTotal()>0){
 for(i=0;i<OrdersTotal();i++){
 OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
 if(OrderMagicNumber()==magicSELL){jj=1;}
 }}
//----
if (jj==0 && Close[0]<Low[1]){
 ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,5,Bid+(sl)*Point,Bid-(tp)*Point,"nero_parabola",magicSELL,0, Blue );

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

 

Помогите дописать закрытие по противоположному сигналу .

 
azfaraon >>:

Помогите дописать закрытие по противоположному сигналу .

Закрытие по противоположному сигналу неэффективно для пробойных стратегий.

 
TheXpert писал(а) >>

Закрытие по противоположному сигналу неэффективно для пробойных стратегий.

Пожалуйста

 
//+------------------------------------------------------------------+
//| trend.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+

extern int tp=150;
extern int sl=150;
extern double lot=0.01;
extern int magicBUY=2121;
extern int magicSELL=1313;

int init()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+


int start()
  {
//----
  int i, jj, ticket;

   


//BUY=====================================

jj=0;
if (OrdersTotal()>0){
for(i=0;i<OrdersTotal();i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber()==magicBUY){jj=1;}
}}
//----
if (jj==0 && Bid>High[1]){

ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,5,Ask-(sl)*Point,Ask+(tp)*Point," ",magicBUY,0, Blue );
}
jj=0;
if (OrdersTotal()>0){
for(i=0;i<OrdersTotal();i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber()==magicBUY){jj=1;}
}}
   if ( Bid==Low[1]){
    OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
    }
//SELL================================
jj=0;
if (OrdersTotal()>0){
for(i=0;i<OrdersTotal();i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber()==magicSELL){jj=1;}
}}
//----
if (jj==0 && Bid<Low[1]){
ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,5,Bid+(sl)*Point,Bid-(tp)*Point,"nero_parabola",magicSELL,0, Blue );

}
jj=0;
if (OrdersTotal()>0){
for(i=0;i<OrdersTotal();i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber()==magicSELL){jj=1;}
}}
if ( Bid==High[1]){
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
                
//----
  return(0);
  }
  }
//+------------------------------------------------------------------+


Так верно?