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

 
NTH >>:

Здравствуйте.

Почему не переносится стоп для баевых позиций? для селл всё работает.

if(OrdersTotal()>0)
{
if(Bid==bubuy||Bid==busell)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
}
return(0);
}

изначально что такое if(Bid==bubuy||Bid==busell),....??????? модет скажете.

и наверное всеже вот такое условие должно быть:

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*количество пунктов,OrderTakeProfit(),0,Blue)

 

if(Bid==bubuy||Bid==busell)

double bubuy - это уровень при касании которого стоп баевой позиции передвигается на уровень открытия этой позиции.

double busell - уровень для селовой позиции.

 
NTH >>:

if(Bid==bubuy||Bid==busell)

double bubuy - это уровень при касании которого стоп баевой позиции передвигается на уровень открытия этой позиции.

double busell - уровень для селовой позиции.

в любом случае проверьте условие.

 

Разобрался

if(OrdersTotal()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderStopLoss()==OrderOpenPrice()) return(0);
if (OrderType()==OP_BUY) if(Bid>=bubuy) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
if (OrderType()==OP_SELL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Red);
return(0);
}

И еще вопрос, если в советнике берутся данные с нескольких ТФ, то нужно ли чтобы при работе советника он-лайн все эти тф были открыты(в разных чартах) или можно взять только один чарт и на него установить советника. Допусти советник работает по евро\д для анализа берет данные с фреймов Н1 Н4 Д1, и прикреплен он(советник) к Н1, нужно ли открывать в др. чартах Н4 и Д1?

 
NTH >>:

Разобрался

if(OrdersTotal()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderStopLoss()==OrderOpenPrice()) return(0);
if (OrderType()==OP_BUY) if(Bid>=bubuy) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
if (OrderType()==OP_SELL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Red);
return(0);
}

И еще вопрос, если в советнике берутся данные с нескольких ТФ, то нужно ли чтобы при работе советника он-лайн все эти тф были открыты(в разных чартах) или можно взять только один чарт и на него установить советника. Допусти советник работает по евро\д для анализа берет данные с фреймов Н1 Н4 Д1, и прикреплен он(советник) к Н1, нужно ли открывать в др. чартах Н4 и Д1?

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

 

Здраствуйте! Подскажите пожалуйста,как мне исправить индикатор  https://www.mql5.com/ru/code/7361  .

Дело в том, что сигнал появляется на текущем баре,и с каждым тиком звучит звуковой сигнал. А хотелось бы,что-бы звук был после закрытия бара,если сигнал не отменился.

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4                                           |
//| Ramdass - Conversion only                                        |
//+------------------------------------------------------------------+
#property copyright "SilverTrend  rewritten by CrazyChart"
#property link      "http://viac.ru/"
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Violet
//---- input parameters
extern int RISK=3;
extern int CountBars=350;
extern int NumberofAlerts=2;
int SSP=9;
int counter=0;
//---- buffers
double val1[];
double val2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,233);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,234);
   SetIndexBuffer(0,val1);
   SetIndexBuffer(1,val2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| SilverTrend_Signal                                               |
//+------------------------------------------------------------------+
int start()
  {
   if (CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars-CountBars+SSP);
   SetIndexDrawBegin(1,Bars-CountBars+SSP);
   int i,shift,counted_bars=IndicatorCounted();
   int i1,i2,K;
   double Range,AvgRange,smin,smax,SsMax,SsMin,price;
   bool uptrend,old;
//----
   if(Bars<=SSP+1) return(0);
//---- initial zero
   if(counted_bars<SSP+1)
     {
      for(i=1;i<=SSP;i++) val1[CountBars-i]=0.0;
      for(i=1;i<=SSP;i++) val2[CountBars-i]=0.0;
     }
//----
   K=33-RISK;
   for(shift=CountBars-SSP; shift>=0; shift--)
     {
      Range=0;
      AvgRange=0;
      for(i1=shift; i1<=shift+SSP; i1++)
        {AvgRange=AvgRange+MathAbs(High[i1]-Low[i1]);
        }
      Range=AvgRange/(SSP+1);
//----
      SsMax=High[shift]; SsMin=Low[shift];
      for(i2=shift;i2<=shift+SSP-1;i2++)
        {
         price=High[i2];
         if(SsMax<price) SsMax=price;
         price=Low[i2];
         if(SsMin>=price)  SsMin=price;
        }
      smin=SsMin+(SsMax-SsMin)*K/100;
      smax=SsMax-(SsMax-SsMin)*K/100;
      val1[shift]=0;
      val2[shift]=0;
      if (Close[shift]<smin)
        {
         uptrend=false;
        }
      if (Close[shift]>smax)
        {
         uptrend=true;
        }
      if (uptrend!=old && uptrend==true)
        {
         val1[shift]=Low[shift]-Range*0.5;
         counter=0;
         if (shift==0 && counter<=NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," BUY");
            counter=counter+1;
           }
        }
      if (uptrend!=old && uptrend==false)
        {
         counter=0;
         val2[shift]=High[shift]+Range*0.5;
         if (shift==0 && counter<=NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," SELL");
            counter=counter+1;
           }
        }
      Comment(shift);
      old=uptrend;
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Люди встречал кто такого эксперта Martingail Two hands 2.07 именно 2.07 или просто 2.7 возможно не совсем правильино написал название, как то скачал его с одного сайта вместе с кучей других потестил 2недели и он больше 100% сделал две недели конешно мало но я не успел его дальше протестить потому что пришлось срочно фарматировать диск. Мож кто встречал?
 
И еще есть просьба поставте в этот советник тайк профит у меня чет не получаца, плиз
Файлы:
 

Приветствую всех!


Помогите решить следующую задачку.

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

Сигналы подаются с задержкой, которую я пытаюсь определить для каждого сигналы и написать рядом на графике.

Для начала решил попробовать выводить время появления сигнала:

ObjectCreate(StringConcatenate("Text_",IndicatorNumber,"_",i), OBJ_TEXT, 0, "cur_time",short[i] + 0.0020);
ObjectSetText(StringConcatenate("Text_",IndicatorNumber,"_",i), TimeToStr(CurTime(),TIME_SECONDS), 10,"Arial", Lime);

Но код не работает, время не видно.

Что я делаю неправильно?

 

Здравствуйте.

Я скачал при помощи "Архива катировок" котировки по фунт\дол (М1) с 1999 года в формате DAT, как мне преобразовать эти данные для тестирования?

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