Скрипт который открывает позицию на покупку или продажу в 1 час ночи...

 
Нужен код, который открывает позицию на покупку или продажу в 1 час ночи в зависимости от того как закрылась дневная свеча.
Если закрылась положительо - покупка, отрицательно - продажа.
 
quality писал (а):
Нужен код, который открывает позицию на покупку или продажу в 1 час ночи в зависимости от того как закрылась дневная свеча.
Если закрылась положительо - покупка, отрицательно - продажа.

А закрывать как, наоборот?
 
ExpertTrader писал (а):
quality писал (а):
Нужен код, который открывает позицию на покупку или продажу в 1 час ночи в зависимости от того как закрылась дневная свеча.
Если закрылась положительо - покупка, отрицательно - продажа.

А закрывать как, наоборот?

Нет, закрывать по тейкпрофиту.
 
//+------------------------------------------------------------------+
//|                                                       1 hour.mq4 |
//|                             Copyright © 2006, Victor Chebotariov |
//|                                      http://www.chebotariov.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Victor Chebotariov"
#property link      "http://www.chebotariov.com/"
 
#define MAGIC 041020060
 
extern double Lots = 0.1;
 
 
bool symbolOrders()
   {
   int orders = OrdersTotal();
   for(int i=orders-1; i>=0; i--)
      {
      if(!OrderSelect(i, SELECT_BY_POS ))
         {
         Print("OrderSelect( ", i, ", SELECT_BY_POS ) - Error #", GetLastError());
         continue;
         }
         if(OrderSymbol()==Symbol())
            {
            if(OrderMagicNumber()==MAGIC)
               {
               return(true);
               }
          }
     }
    return(false);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----     
   int cnt, ticket, total;
   double close = iClose(NULL,PERIOD_D1,1);
   double open = iOpen(NULL,PERIOD_D1,1);
   bool Buy =  close>open && Hour()==1;
   bool Sell = close<open && Hour()==1;
//----
   total=OrdersTotal();
   if(!symbolOrders()) 
     {
      if(AccountFreeMargin()<(1000*Lots)){Print("We have no money. Free Margin = ", AccountFreeMargin());return(0);}
      if(Buy)
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,0,MAGIC,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
      if(Sell)
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,0,MAGIC,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0); 
        }
      return(0);
     }
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            if(Sell)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
                 return(0); // exit
                }
           }
         else // go to short position
           {
            if(Buy)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
               return(0); // exit
              }
           }
        }
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
quality писал (а):
ExpertTrader писал (а):
quality писал (а):
Нужен код, который открывает позицию на покупку или продажу в 1 час ночи в зависимости от того как закрылась дневная свеча.
Если закрылась положительо - покупка, отрицательно - продажа.

А закрывать как, наоборот?

Нет, закрывать по тейкпрофиту.

А тейкпрофит какой?
Стоп-лосс нужен?
 
ExpertTrader писал (а):
quality писал (а):
ExpertTrader писал (а):
quality писал (а):
Нужен код, который открывает позицию на покупку или продажу в 1 час ночи в зависимости от того как закрылась дневная свеча.
Если закрылась положительо - покупка, отрицательно - продажа.

А закрывать как, наоборот?

Нет, закрывать по тейкпрофиту.

А тейкпрофит какой?
Стоп-лосс нужен?
Тейк и стоп соответсвенно задавать в параметрах.
 

Вот.

Файлы:
1chour_1.mq4  4 kb
 

Ух ты!

С первого раза!

 
ExpertTrader писал (а):

Вот.


Блин, просто супер. :) То что хотел. Если стану богатым - в твой фонд буду проценты отчислять :)))))
А по делу:
- эксперт не сделал сделку когда было открытие дня равнялось закрытию дня.

И если можно добавить строку в параметр, которая увеличивает лот на переменную Х при проигрышных сделках.
Тоесть считать проигрышные сделки и если они больше двух - увеличивать лот на переменную Х, если не сложно конечно.

А так: ЕКСПЕРТРЕЙДЕР - Вы просто молодец! И Вам благодарность от меня. Ещё раз спасибо за оперативность..
 
Вот.
Файлы:
1ohour_2.mq4  5 kb
 
quality писал (а):
ExpertTrader писал (а):

Вот.


Блин, просто супер. :) То что хотел. Если стану богатым - в твой фонд буду проценты отчислять :)))))
А по делу:
- эксперт не сделал сделку когда было открытие дня равнялось закрытию дня.

И если можно добавить строку в параметр, которая увеличивает лот на переменную Х при проигрышных сделках.
Тоесть считать проигрышные сделки и если они больше двух - увеличивать лот на переменную Х, если не сложно конечно.

А так: ЕКСПЕРТРЕЙДЕР - Вы просто молодец! И Вам благодарность от меня. Ещё раз спасибо за оперативность..

А что он должен делать зделку когда дня равнялось закрытию дня?
Причина обращения: