[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 833

 
Ребята подскажите пожалуйста сколько это по киевскому времени 5pm EST  и 4:59EST?
 
131:
Ребята подскажите пожалуйста сколько это по киевскому времени 5pm EST и 4:59EST?

Держи, ребятёнок

ETS = UTC-5
MSK (московское) = UTC+3
киевское = UTC+2

 
abolk:

Держи, ребятёнок

ETS = UTC-5
MSK (московское) = UTC+3
киевское = UTC+2


Пасиба. :)
 

Доброго времени суток всем!!

Люди добрые, подскажите!!!!!!

ЭТО КАК???? Решил чуть чуть подправить советник.... подправил.... откомпилировал....

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//Рассчитываем значения OsMA и Stochastic на 0-ом и 1-ом барах
 double OsMA_0=iOsMA(NULL,0,pF,pSl,pSig,1,0);
 double OsMA_1=iOsMA(NULL,0,pF,pSl,pSig,1,1);
 double Sto_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,0);
 double Sto_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,1);
 
 //-------------открытие позиции Buy покупка----------------- 

 if(
   (Sto_0>Sto_1)&&
   (Sto_0< 20)&&
   (OsMA_0>OsMA_1)&&
   (OsMA_0<-P)
   ) //торговое условие на покупку
 if( CheckOrders (OP_SELL)) 
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber)
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    

а он выдал ошибку на пустое место

'\end_of_program' - unbalanced left parenthesis C:\Program Files\MetaTrader - Alpari\experts\expertOsMA_Stochastic.mq4 (104, 1)

это место помечено *

 
* //-------------открытие позиции Buy покупка----------------- 

пробовал убрать, добавить.... всё пробовал НИЧЕГО

Можа кто чо подскажет;-)))))))))))))))))

И не сочтите за назойливость, первый вопрос на 832 стр....

 
chief2000:

Вообще, CCI скачет так дико, что лучше проверять после того как Бар завершился и открылся новый.

Ну а если сильно важно по текущему, то при каждом пересечении надо запомнить время открытия свечи в глобальной переменной и потом проводить проверку, отличается ли время (если да то открывается ордер) или оно то же самое (=> не открывается ордер).

Да CCI был взят просто для примера. На его месте будет другой индюк. А на счёт кода, может что-то похожее на это:

static int prevtime = 0;

int init() {
   prevtime = Time[0];
   return(0);
}

int start() {

   if (! IsTradeAllowed()) {
      return(0);
   }

   if (Time[0] == prevtime) {
      return(0);
   }
   prevtime = Time[0];

   int ticket = -1;
   int total = OrdersTotal();
   for (int i = total - 1; i >= 0; i--) {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic)) {
         int prevticket = OrderTicket();
         if (OrderType() == OP_BUY) {
 

igrok2008, нужен полностью код, эта ошибка значит косяк со скобками в какой-то части, сперва попробуй это


 if( CheckOrders (OP_SELL)) 
      {
       if(OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber)<0)
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
      }
 
Techno:

igrok2008, нужен полностью код, эта ошибка значит косяк со скобками в какой-то части, сперва попробуй это


Как ни странно но получилось. Пришлось поменять и в позиции shell!!!

привожу весь код

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

//---- input parameters
extern int       pF=8;
extern int       pSl=34;
extern int       pSig=13;
extern double    P=0.0007;
extern int       pK=21;
extern int       pD=5;
extern int       SL=8;
extern double    Lots=0.1;
extern int       MagicNumber=123456;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//Рассчитываем значения OsMA и Stochastic на 0-ом и 1-ом барах
 double OsMA_0=iOsMA(NULL,0,pF,pSl,pSig,1,0);
 double OsMA_1=iOsMA(NULL,0,pF,pSl,pSig,1,1);
 double Sto_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,0);
 double Sto_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,1);
 
//-------------открытие позиции Buy покупка----------------- 

 if(
   (Sto_0>Sto_1)&&
   (Sto_0< 20)&&
   (OsMA_0>OsMA_1)&&
   (OsMA_0<-P)) //торговое условие на покупку
 if( CheckOrders (OP_SELL)) 
      {
       if(OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber)<0)
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
      }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    
    if(true        &&
      (Sto_0<Sto_1)&&
      (Sto_0>80)&&
      (OsMA_0<OsMA_1)&&
      (OsMA_0>P))//торговое условие на продажу
     if( CheckOrders (OP_BUY)) 
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber)>0)
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+
 
а есчо вопросик можа???????
 

igrok2008:

Пришлось поменять и в позиции shell!!!

а есчо вопросик можа???????
и там еще надо убрать восклицательный знак перед функцией ordersend и не больше 0 поставить, а также как и в первой меньше, спрашивай
 

понял!!!!

а вопросик вот какой.....

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

//---- input parameters
extern int       pK=21;
extern int       pD=5;
extern int       SL=8;
extern double    Lots=0.1;
extern int       MagicNumber=123456;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//Рассчитываем значения Stochastic b его сигнальную на 0-ом и 1-ом барах
 double Sto_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,0);
 double Sto_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,1);
 double Sig_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_SIGNAL,0);
 double Sig_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_SIGNAL,1);
   
   //-------------открытие позиции Buy покупка----------------- 
 if((((Sto_0> Sig_0&&Sto_1>Sig_1)&&(Sig_0< 20)||(Sto_0>=80)))) //торговое условие на покупку
 if(CheckOrders(OP_SELL)) 
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    
    if((((Sto_0< Sig_0&&Sto_1<Sig_1)&&(Sig_0> 80)||(Sto_0<=20))))//торговое условие на продажу
     if(CheckOrders(OP_BUY)) 
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+

эксперт простой (для тренировки чо ли), НО реализовать условие не получается :-(((

Суть- стох подымается снизу вверх, пересекает линию 20, выставили ордер BAY, цена пошла дальше...... дошла до пересечения стохом линии 80 ордер закрывается.

Цена дальше скачет как хочет..... на Sell условие наоборот т. е. покупает и продаёт НО ТАК что бы между противоположными ордерами был временной разрыв....

Вот где то так.........

Заранее спасибо

Причина обращения: