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

 
inttehn писал(а) >>
Ребят, помогите пожалуйста.
Верно ли, что курс валюты полностью зависит от объёма поступивших заявок.
Просто если это так, то зная отношения объёмов и зная их сумму (общий объём заявок) можно не принимать во внимание цену, т.к. её можно однозначно представить как функцию равную отношению соответствующих функций объёмов на покупку одной и второй валюты.


Это как раз и есть самая страшная буржуинская тайна.

 

Господа, програмисты, помогите пожалуйста заставить советник работать только в установленные

периоды суток к примеру: с 9-00 по 13-30 и с 17-00 по 22-30.

Проблема в том, что с MQL4 знаком очень отдаленно и очень поверхностно.

Если есть советник, он в течении суток по своему алгоритму формирует сигналы на открытие и выставление ордеров.

А нужно заставить формировать и выполнять эти сигналы только в указанное, к примеру, время.

Внизу принципиально показано, о чём я вообще говорю:)

extern int H = 1; //час

extern int H = 1; //минута

extern double Lots = 0.1;//лот

extern int SL = 15;//стоп

extern int TP = 100;//тэйк

int арпарп

int врвпр

int апрвар

///какие переменные задать?


int start()

{

if ( что нужно сюда вставить,что бы основной код советника выполнялся только в периоды суток с 9-00 по

13-30 и с 17-00 по 22-30? )

return(0);


if ( условие при котором советник выполняет свои действия)

{

тело советника

}

return(0);

}

Спасибо!

 
inttehn >>:
Ребят, помогите пожалуйста.
Верно ли, что курс валюты полностью зависит от объёма поступивших заявок. Т.е. если P1 - условная цена одной валюты, а P2- условная цена второй, то P1*V1=P2*V2, где V1 и V2- объёмы поступивших заявок на покупку первой и второй валюты соответственно. Курс в этом случае будет равен P1/P1(курс)=V2/V1. Просто если это так, то зная отношения объёмов и зная их сумму (общий объём заявок) можно не принимать во внимание цену, т.к. её можно однозначно представить как функцию равную отношению соответствующих функций объёмов на покупку одной и второй валюты. Эти объёмы предсказываются гораздо легче, чем цена, т.к. характеризуются только экономическими потребностями определённых субъектов. Вообще это должно быть верно по теории (основываясь на платёжный баланс стран и международную торговлю), но так ли это на самом деле? Может кто-нибудь над этим задумывался?

Все так, но только надо учитывать, что котировка - это не совсем то, что что у вас названо "условная цена валюты" и что находится из указанного вами соотношения, а цена последней сделки по данной паре. А насчет самой главной буржуйской тайны - согласен с предыдущим оратором на 100%.

 
bizon3d >>:

Господа, програмисты, помогите пожалуйста заставить советник работать только в установленные

периоды суток к примеру: с 9-00 по 13-30 и с 17-00 по 22-30.


if ((Hour()>=9&&(Hour()<13||Hour()==13&&Minute()<=30))||(Hour()>=17&&(Hour()<22||Hour()==22&&Minute()<=30)))
{
   //TODO
}
 
Всем привет! Сразу извиняюсь, что пишу может не по теме, первый раз тут, но вот какой вопрос. Может ли кто-нибудь исправить такую вещь. В этом индикаторе основная линия никак не хочет менять толщину, точнее меняет, но потом когда применяешь шаблон снова жирная. С цветом все нормально...Очень надоело...Если не сложно исправьте пожалуйста, т.к я в этих делах вообще ноль....Заранее Спасибо...
Файлы:
macd_line.rar  3 kb
 
И еще вопрос. Не могу найти индикатор, который состоит из MACD гистограммы (как во вложении ind_OsMAColored_v1, т.е. без лишних наворотов, где просто 4 варианта цвета и толщина) и индикатора MACD линиий как в предыдущем посте (прикрепил заново), так чтобы нулевые линии совпадали у гистограммы и линий. Когда эти накладываешь друг на друга ноль не совпадает. Индикаторы, которые я находил, постоянно либо что-то добавлено (моменты пересечения обозначаются вертик. линиями, дивергенции рисуются, импульсная система элдера добавлена и т.д.), либо она на смену параметров не так реагирует, либо еще что-то..... Можно ли как-то объеденить именно эти 2 индикаторы, где из настроек толщина линий и цвет как у них. Может у кого есть готовый...Если пишу не туда подскажите пожалуйста куда писать....Спасибо
Файлы:
 

Итак определились с ценой и хотим купить..

Евро/доллар

Цена

1.3233

Чтобы оптимально купить покупаем так..

купить( 1.3230, слиппайдж 3) Правильно?

 


Почему индикаторы вешают терминал наглухо
вот примет такого индикатора #MFT_Trendline.mq4


Количество баров в истории 5 000и на экране 2 000

Фибо вееры так же убивают терминал наглухо

Файлы:
 
Здравствуйте.
Как показать название и свойство объекта OBJ_HLINE? Например как проценты на уровнях Фибоначчи.
 
Здравствуйте.
в приведенном ниже коде не сработывает открытия. Если открытие нового бара выше скользящей средней, то открывается Шелл, если открывается ниже, то Бай. Закрытие при достижении скользящей средней, + стоплосс + трейлинг стоп. Помогите кодом и объяснением, что я сделал не так. Заранее спасибо!!
#include <b-Lots.mqh>
extern double TrailingStop = 30;
extern double Sploss = 15;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start() {
   double HA_up,HA_dw;
   double MA_H0,MA_H1,MA_L0,MA_L1,MA_0,MA_1;
   int i, cnt, ticket, total;
   bool flag=true;

   if(Bars<100) {
      Print("bars less than 100");
      return(0); 
   }
// Проверяем стоит ли открываться
   
   cnt=OrdersHistoryTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY )) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   cnt=OrdersTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   if(!flag) return(0); 
//-----------------------------------------------

   MA_0=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,0);
   MA_1=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,1);


//задали все данные 

   total=OrdersTotal();
   if(total<1) 
     {
      // Проверка свободной маржи
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      // Условие открытие позиции BUY
      if(Open[0]<MA_0)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-Sploss*Point,0,"",16384,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); 
        }
      // Условие открытие позиции SELL
      if(Open[0]>MA_0)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+Sploss*Point,0,"",16384,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 &&   
         OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // длинная позиция открыта
           {
           if(NormalizeDouble (MathAbs(MA_0-Bid),Digits)<Point)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); 
                 return(0); 
                }
            // трейлинг-стоп для длинной позиции
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else 
           {
           if(NormalizeDouble (MathAbs(MA_0-Ask),Digits)<Point)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); 
               return(0); 
              }
            // трейлинг-стоп для короткой позиции
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
  }

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