Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 622

 

Может кто подскажет ,устанавливаю плагин GetTickerHistory в МТ-4,запускается,но загрузка не идёт,наWindows 7 x64,возможно ли загрузить внешние индексы другим способом.

Заранее благодарен.
 

Можно ли загружать графики для тех.анализа,- индексов S&P 500 Futures Chart , TA 25 Chart, и S&P 500 Chart если это возможно может подскажете как это сделать,может есть объяснение как загружать!

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

Может есть возможность загрузки этих индексов МТ-4 или МТ-5. Я только начинаю пытаться заниматься тех.анализом ,очень бы хотелось услышать совет специалиста,как справится с моей задачей.

Заранее благодарен за оказанную помощь.
 
Помогите разобраться с объектами.
Пытаюсь найти цену последнего объекта зная в его имя первые 3 буквы.

Спасибо.

double Entry()
{
  double Price;
  string ObjName ="ABC";
  int QuantObjects=ObjectsTotal();
  for(Cnt=QuantObjects-1;Cnt>=0;Cnt--)
  { 
    if(ObjectFind(0,StringSubstr(ObjName,3,StringLen(ObjName)-3)) > -1)
    {
      Price = NormalizeDouble(ObjectGet(StringSubstr(ObjName,3,StringLen(ObjName)-3),OBJPROP_PRICE1),Digits);
    }
    else Price = 0;
  }
  return(Price);
}

 

 
rustein:
Помогите разобраться с объектами.
Пытаюсь найти цену последнего объекта зная в его имя первые 3 буквы.

Спасибо.

 

Так попробуй

double Entry()
{
  double Price;
  string ObjName ="ABC";
  int QuantObjects=ObjectsTotal();
  string name;
  for(Cnt=QuantObjects-1;Cnt>=0;Cnt--)
  { 
   name=ObjectName(cnt);
   if(StringSubstr(name,0,3)=ObjName)
    {
      Price = NormalizeDouble(ObjectGet(name,OBJPROP_PRICE1),Digits);
return(Price);

    }
    else Price = 0;
  }
  return(Price);
}
 
Roger:

Так попробуй

 


Так работает, 
Огромное Спасибо.
 

Есть индикатор:

//+------------------------------------------------------------------+
//| T3MA_ALARM.mq4 |
//| Copyright © 2011, Martingeil |
//| fx.09@mail.ru |
//+------------------------------------------------------------------+
//исправленный Martingeil, теперь можно в тестере увидеть его стрелки.
#property copyright "Copyright © 2011, Martingeil"
#property link "fx.09@mail.ru"

//---- indicator settings
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- indicator parameters
extern int period = 4; //12
extern int shift = 0; //сдвиг по бару
//---- indicator buffers
double BufferUp[],BufferDn[];
int q,st=5;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);
//---- drawing settings
SetIndexStyle(0,DRAW_ARROW,2);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW,2);
SetIndexArrow(1,234);

SetIndexBuffer(0,BufferUp);//стрелка синяя верх
SetIndexBuffer(1,BufferDn);//стрелка красная вниз
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("T3MA-ALARM ("+period+")");
//---- initialization done
if(Digits==3 || Digits==5) q=10;
st=st*q;
return(0);}

int deinit()
{
ObjectDelete("low");
ObjectDelete("high");
}
//+----------------------------------------------------------------------+
//| Moving Average of Oscillator |
//+----------------------------------------------------------------------+
int start()
{
//---- ArraySetAsSeries --------------------------------------------------
double Ma[500],MaOn[500];
double y0[500],y1[500],y2[500];
int i,limit=ArraySize(Ma);
ArraySetAsSeries(Ma,true);
//---- IndicatorCounted --------------------------------------------------
int counted_bars=IndicatorCounted();
int limit1=Bars-counted_bars;
if (limit1>1){limit1=Bars-period-1;}
//---- EMA ---------------------------------------------------------------
for(i=limit1; i>=0; i--) Ma[i] =iMA(NULL,0,period,0,MODE_EMA,PRICE_CLOSE,i);
for(i=limit1; i>=0; i--) MaOn[i]=iMAOnArray(Ma,limit,period,0,MODE_EMA,i);

for(i=limit1; i>=0; i--)
{
y0[i+shift]=MaOn[i+shift];
y1[i+1+shift]=MaOn[i+1+shift];
y2[i+2+shift]=MaOn[i+2+shift];

if(y0[i+shift]-y1[i+1+shift]<0 && y1[i+1+shift]-y2[i+2+shift]>0){BufferDn[i+1]=High[i+1]+st*Point;}//продажа
if(y0[i+shift]-y1[i+1+shift]>0 && y1[i+1+shift]-y2[i+2+shift]<0){BufferUp[i+1]=Low[i+1]-st*Point;}//покупка
//---- Signal Trend Up || Dn ---------------------------------------------
if(y0[i]-y1[i+1]>0) Comment ("\n SWAPLONG = ",MarketInfo(Symbol(),MODE_SWAPLONG),
" SWAPSHORT = ",MarketInfo(Symbol(),MODE_SWAPSHORT),"\n BUY TREND ",DoubleToStr(Close[i],Digits));

else if(y0[i]-y1[i+1]<0) Comment ("\n SWAPLONG = ",MarketInfo(Symbol(),MODE_SWAPLONG),
" SWAPSHORT = ",MarketInfo(Symbol(),MODE_SWAPSHORT),"\n SELL TREND ",DoubleToStr(Close[i],Digits));
}


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


 Хочу зделать советник который бы при появлении стрелки входил в позицию, какое условие нужно прописать в советнике?

 

Всем доброго времени суток ....   господа помогите разобраться с вопросом по поводу временного параметра. Задача такова, у меня есть критерий на вход с переменными которые закреплены в определённом временном параметре.

M5maBIG_1= iMA(ed,PERIOD_M5,150,0,MODE_EMA,PRICE_CLOSE,1); 

M5L=NormalizeDouble(iLow(ed,PERIOD_M5,1),Digits); 

if(M5L<M5maBIG_1){ordersend(520);} пробовал такие варианты как---- ((M5L<M5maBIG_1))__((M5L)<(M5maBIG_1))__(((M5L)<(M5maBIG_1)))----  тоже не работает!

if(a==520){RefreshRates();//__________________________________________________________________________________

    op=NormalizeDouble(Ask,Digits);sl=NormalizeDouble(op-62*kio*Point,Digits);tp=NormalizeDouble(op+54*kio*Point,Digits);

    ticket=OrderSend(ed,OP_BUY,      Lot,op,3,sl,0,comm,magic+520,0,Green);//_____Lot=

    err=GetLastError();

    if(err!=0){Print("Error-",err," op-",op," sl-",sl," tp-",tp);}} 

Всё работает, когда тест на этом же времени М5, но только меняю (при тестирование, например на Н1), результат тоже меняется, как написать правильно?  Спасибо!!!

 

MaperiodAVTO = 750 / Period();

laveosa:

 


Всем доброго времени суток ....   господа помогите разобраться с вопросом по поводу временного параметра. Задача такова, у меня есть критерий на вход с переменными которые закреплены в определённом временном параметре.

M5maBIG_1= iMA(ed,PERIOD_M5,150,0,MODE_EMA,PRICE_CLOSE,1); 

M5L=NormalizeDouble(iLow(ed,PERIOD_M5,1),Digits); 

Например так:

 int MaperiodAVTO; 

if( Period()>1){ 

MaperiodAVTO = 750 / Period();

}

else

{

  MaperiodAVTO = 750;

}

 M5maBIG_1= iMA(ed, Period() , MaperiodAVTO ,0,MODE_EMA,PRICE_CLOSE,1);  


 
benzovoz:

Например так:

int MaperiodAVTO = 750 / Period();

  M5maBIG_1= iMA(ed, Period() , MaperiodAVTO ,0,MODE_EMA,PRICE_CLOSE,1);  


 


почему 750?
 
laveosa:

почему 750?

Нравится ему это число просто
Причина обращения: