[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 1017

 
Aleksander:
salvá-lo no CSV - e lê-lo no MStoc...

MStok não abre em csv por alguma razão
 

Olá! por favor, ajude-me a remover a linha no indicador "regressão passada desviada" https://www.mql5.com/ru/code/7518,

a seta indica o objeto.

//+------------------------------------------------------------------+
//|                                     past regression deviated.mq4 |
//|                Copyright © 2006, tageiger, aka fxid10t@yahoo.com |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, tageiger, aka fxid10t@yahoo.com"
#property link      "http://www.metaquotes.net"
//----
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Yellow
#property indicator_color2 Olive
#property indicator_color3 Olive
#property indicator_color4 Orange
#property indicator_color5 Orange
#property indicator_color6 Gray
#property indicator_color7 Gray
//---- input parameters
int period=0;
/*default 0 means the channel will use the open time from "x" bars back on which ever time period 
the indicator is attached to.  one can change to 1,5,15,30,60...etc to "lock" the start time to a specific 
period, and then view the "locked" channels on a different time period...*/
extern int LR.length=55;   // bars back regression begins
extern double std.channel.1=1;        // 1st channel
extern double std.channel.2=2;        // 2nd channel
extern double std.channel.3=3;        // 3nd channel
//---- indicator buffers
double mean.Buffer[];
double high.1.Buffer[];
double low.1.Buffer[];
double high.2.Buffer[];
double low.2.Buffer[];
double high.3.Buffer[];
double low.3.Buffer[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
  int init()  
  {
/*---- line shifts when drawing
   SetIndexShift(0,JawsShift);
   SetIndexShift(1,TeethShift);
   SetIndexShift(2,LipsShift);
//---- first positions skipped when drawing*/
   SetIndexDrawBegin(0,LR.length);
   SetIndexDrawBegin(1,LR.length);
   SetIndexDrawBegin(2,LR.length);
   SetIndexDrawBegin(3,LR.length);
   SetIndexDrawBegin(4,LR.length);
   SetIndexDrawBegin(5,LR.length);
   SetIndexDrawBegin(6,LR.length);
//---- 3 indicator buffers mapping
   SetIndexBuffer(0,mean.Buffer);
   SetIndexBuffer(1,high.1.Buffer);
   SetIndexBuffer(2,low.1.Buffer);
   SetIndexBuffer(3,high.2.Buffer);
   SetIndexBuffer(4,low.2.Buffer);
   SetIndexBuffer(5,high.3.Buffer);
   SetIndexBuffer(6,low.3.Buffer);
//---- drawing settings
   SetIndexStyle(0,DRAW_LINE,0); SetIndexArrow(0,158);
   SetIndexStyle(1,DRAW_LINE,0); SetIndexArrow(1,158);
   SetIndexStyle(2,DRAW_LINE,0); SetIndexArrow(2,158);
   SetIndexStyle(3,DRAW_LINE,0); SetIndexArrow(3,158);
   SetIndexStyle(4,DRAW_LINE,0); SetIndexArrow(4,158);
   SetIndexStyle(5,DRAW_LINE,0); SetIndexArrow(5,158);
   SetIndexStyle(6,DRAW_LINE,0); SetIndexArrow(6,158);
//---- index labels
   SetIndexLabel(0,"mean");
   SetIndexLabel(1,"1st Std up");
   SetIndexLabel(2,"1st Std down");
   SetIndexLabel(3,"2nd Std up");
   SetIndexLabel(4,"2nd Std down");
   SetIndexLabel(5,"3rd Std up");
   SetIndexLabel(6,"3rd Std down");
//---- initialization done
  return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit() 
   {
   ObjectsDeleteAll(0,OBJ_ARROW);ObjectDelete(period+"m "+LR.length+" TL");
   }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
  int start() 
  {
   ObjectDelete(period+"m "+LR.length+" TL");
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
//----   
   limit=Bars-counted_bars;
//---- main loop
     for(int i=0; i<limit; i++) 
     {
      //linear regression calculation
      int start.bar=i+LR.length, end.bar=i;
      int n=start.bar-end.bar+1;
      //---- calculate price values.. Linear regression calculation
      double value=Close[end.bar];
      double a,b,c;
      double sumy=value;
      double sumx=0.0;
      double sumxy=0.0;
      double sumx2=0.0;
        for(int ii=1; ii<n; ii++)  
        {
         value=Close[end.bar+ii];
         sumy+=value;
         sumxy+=value*ii;
         sumx+=ii;
        sumx2+=ii*ii; 
        }
      c=sumx2*n-sumx*sumx;
      if(c==0.0) return;
      b=(sumxy*n-sumx*sumy)/c;
      a=(sumy-sumx*b)/n;
      double LR.price.2=a;
      double LR.price.1=a+b*n;
      mean.Buffer[i]=NormalizeDouble(LR.price.2,Digits);
/*---- maximal deviation calculation (3rd deviation line)
      double max.dev=0;
      double deviation=0;
      double dvalue=a;
      for(int i.1=0; i.1<n; i.1++)   {
         value=Close[end.bar+i.1];
         dvalue+=b;
         deviation=MathAbs(value-dvalue);
         if(max.dev<=deviation) max.dev=deviation; } */
      //Linear regression trendline
      ObjectDelete(period+"m "+LR.length+" TL");
      ObjectCreate(period+"m "+LR.length+" TL",OBJ_TREND,0,Time[start.bar],LR.price.1,Time[end.bar],LR.price.2);
      ObjectSet(period+"m "+LR.length+" TL",OBJPROP_COLOR,Orange);
      ObjectSet(period+"m "+LR.length+" TL",OBJPROP_WIDTH,2);
      ObjectSet(period+"m "+LR.length+" TL",OBJPROP_RAY,false);
      //...standard deviation...
      double x=0,x.sum=0,x.avg=0,x.sum.squared=0,std.dev=0;
        for(int iii=i; iii<start.bar; iii++)    
        {
         x=MathAbs(Close[iii]-ObjectGetValueByShift(period+"m "+LR.length+" TL",iii));
        x.sum.squared+=(x*x);   
        }
      std.dev=MathSqrt(x.sum.squared/((start.bar-end.bar)-1));
      //Print("LR.price.1 ",LR.price.1,"  LR.Price.2 ",LR.price.2," std.dev ",std.dev);
      //...standard deviation channels...
      high.1.Buffer[i]=mean.Buffer[i]+(std.channel.1*std.dev);
      low.1.Buffer[i]=mean.Buffer[i]-(std.channel.1*std.dev);
      high.2.Buffer[i]=mean.Buffer[i]+(std.channel.2*std.dev);
      low.2.Buffer[i]=mean.Buffer[i]-(std.channel.2*std.dev);
      high.3.Buffer[i]=mean.Buffer[i]+(std.channel.3*std.dev);//max.dev;
      low.3.Buffer[i]=mean.Buffer[i]-(std.channel.3*std.dev);//max.dev;
     }
  return(0);
  }
//+------------------------------------------------------------------+
 


Você pode aconselhar como abrir uma posição em um par de moedas que não tenha um EA anexado? Por exemplo: meu consultor especializado está anexado ao gráfico EUR/USD e eu preciso adicionar ao meu código a abertura de uma posição no GBP/CAD? Quando eu faço o seguinte:

OrderSend("GBPCAD",OP_BUY,Lots,Bid,3,loss*Point,TakeProfit*PPoint," ",123,0,Red);

Há um erro no registro:

EURUSD,M15: nome do símbolo desconhecido GBPCAD para a função OrderSend

EURUSD,M15: Erro no envio do pedido 4106

Sinceramente.



 
chivin:

Olá! por favor, ajude-me a remover a linha no indicador "regressão passada desviada" https://www.mql5.com/ru/code/7518,

seta indica o objeto.


Se não estou enganado, isto deve ser apagado:

//Linear trendline de regressão
ObjectDelete(período+"m "+LR.length+" TL);
ObjectCreate(period+"m "+LR.length+" TL",OBJ_TREND,0,Time[start.bar],LR.price.1,Time[end.bar],LR.price.2);
ObjectSet(period+"m "+LR.length+" TL",OBJPROP_COLOR,Orange);
ObjectSet(period+"m "+LR.length+" TL",OBJPROP_WIDTH,2);
ObjectSet(period+"m "+LR.length+" TL",OBJPROP_RAY,false);
//... desvio padrão...

Eu poderia estar errado porque não sou um proger =)

 
Azya:


Você pode me dizer como abrir uma posição em um par de moedas que não tenha uma EA anexada? Por exemplo: a EA está vinculada ao EUR/USD, mas preciso abrir uma posição no GBP/CAD? Quando eu faço o seguinte:

OrderSend("GBPCAD",OP_BUY,Lots,Bid,3,loss*Point,TakeProfit*Point," ",123,0,Red);

Dependendo dos pares de corretoras podem ter nomes diferentes, então você pode querer saber com o que está lidando.
Print(Symbol());
e nos mostrar o que diz no diário de bordo.
 
Techno:
Dependendo do dc, os nomes dos pares podem ser diferentes, para que você saiba com o que está lidando, escreva e mostre a inscrição que aparece no registro


2010.12.08 19:39:49 2010.08.05 11:38 qq EURJPY,M15: EURJPY

aqui

 
Azya:


2010.12.08 19:39:49 2010.08.05 11:38 qq EURJPY,M15: EURJPY

aqui

você não está tentando fazer isso no Testador de Estratégia?
 
Azya:


Se não estou enganado, remova-o:

//Linear trendline de regressão
ObjectDelete(período+"m "+LR.length+" TL);
ObjectCreate(period+"m "+LR.length+" TL",OBJ_TREND,0,Time[start.bar],LR.price.1,Time[end.bar],LR.price.2);
ObjectSet(period+"m "+LR.length+" TL",OBJPROP_COLOR,Orange);
ObjectSet(period+"m "+LR.length+" TL",OBJPROP_WIDTH,2);
ObjectSet(period+"m "+LR.length+" TL",OBJPROP_RAY,false);
//... desvio padrão...

Eu poderia estar errado porque não sou um proger =)


Algo está errado, a fila desapareceu, mas tudo o resto também está errado :(

 
chivin:


Aqui você pode baixar as citações em *dat: http://mfd.ru/Export/#Tickers=&Alias=&Period=0&StartDate=08.12.2010&EndDate=08.12.2010&SaveFormat=0&SaveMode=0&Filename=&FieldSeparator=%253b&DecimalSeparator=.&DateFormat=yyyyyMMdd&TimeFormat=Hmmss&DateFormatCustom=&TimeFormatCustom=&AddHeader=1&RecordFormat=2http://mfd.ru/Export/#Tickers=&Alias=&Period=0&StartDate=08.12.2010&EndDate=08.12.2010&SaveFormat=0&SaveMode=0&Filename=&FieldSeparator=%253b&DecimalSeparator=.&DateFormat=yyyyyMMdd&TimeFormat=HHmmss&DateFormatCustom=&TimeFormatCustom=&AddHeader=1&RecordFormat=2

Escolha o instrumento desejado, selecione o formato - metastock e faça o download a seu gosto :)


obrigado