[¡Archivo!] Escribiré cualquier experto o indicador gratis. - página 109

 
sammi61:

Si no es un problema sustituye los topes por límites, mi petición, y dale caña a tu palanca, tengo tiempo para experimentar, ya postearé el resultado. Mi camcohob@mail.ru gracias de antemano. c
¡BIEN! Lo haré mañana.
 
snail09:
¡BIEN! Lo haré mañana.

Gracias, lo espero con ansias.
 
 

Hola, ¿podría escribir una flecha con una señal audible que vincule los dos cf's?

condiciones de la señal:

1) en un marco temporal superior (por ejemplo n1) AO cruza el cero, tras lo cual se busca la segunda condición

2) en 2 inferiores (por ejemplo m5) AO cruza el cero en la misma dirección (es lógico que antes vaya en dirección contraria porque en el momento en que en n1 AO cruzará el cero hacia arriba, en m5 AO ya estará por encima del cero, es decir, me interesa un nuevo cruce después de un rollback)

 

Miembros del Consejo de Administración, tengo una pregunta.

Los gráficos Renko y su uso han sido discutidos aquí más de una vez. Llevo mucho tiempo utilizando un Expert Advisor de codebase que construye correctamente las barras Renko, pero el problema es que las dibuja un poco mal en la inversión. Mira, los dibuja así:

y me gustaría que hubiera otro bar como este:


Dígame qué hay que cambiar en el código. Por lo que entiendo, deberíamos cambiar algo en los bucles while en este fragmento de código:

bool UpTrend = High[i]+Low[i] > High[i+1]+Low[i+1];
        
            while(UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
 
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
 
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                                                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(High[i] > PrevHigh+BoxPoints || CompareDoubles(High[i], PrevHigh+BoxPoints)) {
                  PrevHigh = PrevHigh + BoxPoints;
                  PrevLow = PrevLow + BoxPoints;
                  PrevOpen = PrevLow;
                  PrevClose = PrevHigh;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
 
                    if(ShowWicks && DnWick < PrevLow) FileWriteDouble(HstHandle, DnWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                                
                FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevHigh;
                CurLow = PrevHigh;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(!UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
 
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
 
Hola! Ayúdame a encontrar un simple EA. Coloca una orden pendiente a una distancia dada del precio en un momento determinado con tp y sl. Por ejemplo: a las 23:55 coloca una orden a una distancia de 10 pips del precio actual. Inmediatamente coloca tp=10 pips y sl=16 pips. Además: si una orden no se ha activado, se elimina a las 24:00; coloca órdenes unidireccionales en diferentes lados del precio. ¿Quizás alguien pueda escribir, al menos para las condiciones básicas o aconsejarme dónde buscar? No he encontrado nada similar en Code Base. Gracias de antemano por cualquier ayuda.
 
Por favor, ayúdenme a probar esto. Quiero que el indicador emita un pitido cuando haya una señal de compra y venta, ¡pero no funciona! Gracias de antemano)

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4
//| Ramdass - Sólo conversión
//+------------------------------------------------------------------+
#property copyright "SilverTrend reescrito por CrazyChart"
#enlace de propiedad "http://viac.ru/"

#propiedad ventana_del_gráfica_del_indicador
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Violeta

//---- parámetros de entrada
extern int RIESGO=3;
extern inttern CountBars=350;
extern bool SoundAlert=true;
int SSP=9;

//---- buffers
doble val1[];
doble val2[];

//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
nombre_corto_de_cadena;
//---- línea indicadora
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 inicio()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+SSP);
SetIndexDrawBegin(1,Bars-CountBars+SSP);
int,shift,counted_bars=IndicatorCounted();
int i1,i2,K;
double Range,AvgRange,smin,smax,SsMax,SsMin,price;
bool tendencia alcista,antigua;
//----

if(Bars<=SSP+1) return(0);
//---- cero inicial
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--)
{

Rango=0;
AvgRange=0;
for (i1=cambio; i1<=cambio+SSP; i1++)
{AvgRange=AvgRange+MathAbs(Alto[i1]-Bajo[i1];
}
Alcance=AvgRange/(SSP+1);

SsMax=Alto[turno]; SsMin=Bajo[turno];
for (i2=shift;i2<=shift+SSP-1;i2++)
{
precio=Alto[i2];
if(SsMax<precio) SsMax=precio;
precio=Bajo[i2];
if(SsMin>=precio) SsMin=precio;
}

smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;
val1[shift]=0;
val2[shift]=0;
if (Close[shift]<smin)
{
tendencia alcista = falso;
}
si (Close[shift]>smax)
{
Tendencia alcista = verdadero;
}
if (uptrend!=old && uptrend==true) {val1[shift]=Low[shift]-Range*0.5;}
if (uptrend!=old && uptrend==false) {val2[shift]=High[shift]+Range*0.5;}
old=tendencia;
}
return(0);
}
//+------------------------------------------------------------------+
void SendAlert(string txt) {
if (Time[0] != tt) {
si (SoundAlert) {
if (txt == "buy") Alert("Trend Long " + Symbol() + ", " + Period());
if (txt == "sell") Alert("Trend Short " + Symbol() + ", " + Period());
}
tt = Tiempo[0];
}
}
 
Voy a escribir un EA de forma gratuita en una estrategia interesante indicador sin martingala. ToR en privado o en el correo electrónico mqlskeptik@yandex.ua
 
Hola a todos, podrían ayudarme, me gustaría hacer un mejor indicador de volumen. Para mostrar cuánto se compra y se vende en una vela de volumen. Y al pasar el ratón por encima del volumen aparecía una ventana de datos. Yo comercio por volumen y me ayudaría mucho. Me imagino que es algo así. Gracias de antemano.
 

Este hilo se cierra porque hace tiempo que no cumple su función.

Por favor, escriba al autor del hilo(https://www.mql5.com/ru/users/kubodel/) lo antes posible.

Todos los nuevos mensajes serán eliminados sin previo aviso.