[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1017

 
Aleksander:
guardarlo en CSV - y leerlo en MStock...

MStok no abre en csv por alguna razón
 

Hola! Por favor, ayúdeme a eliminar la línea en el indicador "regresión pasada desviada" https://www.mql5.com/ru/code/7518,

la flecha indica el 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);
  }
//+------------------------------------------------------------------+
 


¿Puede usted por favor aconsejar cómo abrir una posición en un par de divisas que no tiene un EA adjunto? Por ejemplo: ¿Mi Asesor Experto está vinculado al gráfico EUR/USD y necesito añadir en mi código la apertura de una posición en GBP/CAD? Cuando hago lo siguiente:

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

Hay un error en el registro:

EURUSD,M15: nombre de símbolo desconocido GBPCAD para la función OrderSend

EURUSD,M15: Error de OrderSend 4106

Sinceramente.



 
chivin:

Hola! Por favor, ayúdeme a eliminar la línea en el indicador "regresión pasada desviada" https://www.mql5.com/ru/code/7518,

La flecha indica el objeto.


Si no me equivoco, esto debe ser borrado:

//Línea de tendencia de la regresión lineal
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);
//... desviación estándar...

Podría estar equivocado ya que no soy proger =)

 
Azya:


¿Pueden decirme cómo abrir una posición en un par de divisas que no tenga un EA asociado? Por ejemplo: el EA está vinculado a EUR/USD, pero necesito abrir una posición en GBP/CAD? Cuando hago lo siguiente:

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

Dependiendo de la casa de bolsa, los pares pueden tener diferentes nombres, por lo que le conviene saber con qué está tratando.
Print(Symbol());
y muéstranos lo que dice el registro.
 
Techno:
Dependiendo de la dc, los nombres de las parejas pueden ser diferentes, para que sepas de qué se trata, escribe y muestra la inscripción que aparece en el registro


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

aquí

 
Azya:


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

aquí

¿No está intentando hacer esto en el Probador de Estrategias?
 
Azya:


Si no me equivoco quítalo:

//Línea de tendencia de la regresión lineal
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);
//... desviación estándar...

Podría estar equivocado ya que no soy proger =)


Algo está mal, la línea se ha ido, pero también todo lo demás :(

 
chivin:


Aquí puede descargar las cotizaciones en *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=yyyyMMdd&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=yyyyMMdd&TimeFormat=HHmmss&DateFormatCustom=&TimeFormatCustom=&AddHeader=1&RecordFormat=2

Elija el instrumento que desee, seleccione el formato - metastock y descárguelo a su gusto :)


gracias