Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 807
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¡Buenos días a todos! Estoy sentado aquí haciendo girar el indicador. Creo que lo he hecho todo bien. Pero la cosa es... Abre operaciones en cada vela
Código del Asesor Experto
// получение сигнала _________________________________________________________________________________________________________
int señal=-1;
if (time_bar!=Time[0]) {
time_bar=Time[0];
double stop_buy=iCustom(Symb,0, "cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,0,1)
double stop_sell=iCustom(Symb,0, "cm-FiguresCandle",AlertON,colorBulls,colorBears,DrawCandle,1,1);
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
double super_buy=iCustom(Symb,0, "xSuperTrend Tape MTF NRP",",",SuperTrend_Period,SuperTrend_Multiplier,SuperTrend_TimeFrame,SuperTrend_AutoTF,0,1);
if(stop_buy!=EMPTY_VALUE && super_buy==1) signal=0;
if(stop_sell!=EMPTY_VALUE && super_buy==EMPTY_VALUE) signal=1;
}
código indicador
return(0);
}
//+------------------------------------------------------------------+
int inicio()
{
cadena NombreFigur;
int barras_contadas=IndicadorContado();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Barras contadas;
if(counted_bars==0) limit-=1+2;
for(int i=1; i<limit; i++)
{
bool up=false,down=false;
double MA0 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i);
double MA1 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i);
double MA2 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+1);
double MA3 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,i+2);
if(MA0>MA1 && MA1>MA2 && MA2>MA3) up=true;
Si no, up=false;
if(MA0<MA1 && MA1<MA2 && MA2<MA3) down=true;
si no, down=false;
//---
NombreFigur=";
if(Close[i]>Close[i+1] && Close[i]>Open[i+1])
{
if(down && Open[i+1]>Close[i+1] && Open[i]>Close[i+1] && Close[i]<Open[i+1] && Close[i]>Open[i])
{
NameFigur="BullHarami";
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);
}
if(Open[i+1]>Close[i+1] && Open[i]>Close[i+1] && Open[i]<Open[i+1] && Close[i]>Open[i+1])
{
NameFigur="BullCross";
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);
}
if(Close[i+1]<Open[i+1] && Open[i]<Close[i+1] && Close[i]>Open[i+1])
{
NameFigur="Envolvente alcista";
if(Close[i+1]<Open[i+1] && Close[i]>Open[i] && Open[i]<Close[i+1] && Close[i]>Close[i+1]+((Open[i+1]-Close[i+1])/2)
{
NameFigur="BullPierce";
}
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur);
}
if(Close[i+2]<Open[i+2] && Open[i+1]<Close[i+2] && Close[i+1]<Close[i+2] && Open[i]>Close[i+1] && Open[i]>Open[i+1] && Close[i]>=Close[i+2])
{
NameFigur="Estrella de la mañana";
Redraw(i,colorBulls,NameFigur); Redraw(i+1,colorBulls,NameFigur); Redraw(i+2,colorBulls,NameFigur);
}
}
if(Open[i]-Low[i]>MathMax(High[i]-Close[i],Close[i]-Open[i])*3 && Close[i]-Low[i]>MathMax(High[i]-Close[i],Close[i]-Open[i])*3)
{
NombreFigur="Martillo";
if(up) {Redibujar(i,colorBulls,NameFigur); Redibujar(i+1,colorBulls,NameFigur);}
if(down) {Redibujar(i,colorOsos,NombreFigura); Redibujar(i+1,colorOsos,NombreFigura);}
}
///// osos ///// osos ///// osos ///// osos ///// osos ///// osos ///// osos
if(Close[i]<Close[i+1] && Close[i]<Open[i+1])
{
if(up& Open[i+1]<Close[i+1] && Open[i]<Close[i+1] && Close[i]>Open[i+1] && Close[i]<Open[i])
{
NameFigur="BearHarami";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
if(Open[i+1]<Close[i+1] && Open[i]<Close[i+1] && Open[i]>Open[i+1] && Close[i]<Open[i+1])
{
NameFigur="BearCross";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
if(Close[i+1]>Open[i+1] && Close[i]<Open[i] && Open[i]>Close[i+1] && Close[i]<Open[i+1])
{
NameFigur="BearEngulf";
if(Close[i+1]>Open[i+1] && Open[i]>Close[i+1] && Close[i]<Close[i+1]-((Close[i+1]-Open[i+1])/2))
{
NameFigur="DarkCloud";
}
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
if(Close[i+2]>Open[i+2] && Open[i+1]>Close[i+2] && Close[i+1]>Close[i+2] && Open[i]<Close[i+1] && Open[i]<Open[i+1] && Close[i]<Close[i+2])
{
NameFigur="EveningStar";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur); Redraw(i+2,colorBears,NameFigur);
}
if(up && High[i]-Open[i]>MathMax(Close[i]-Low[i],Open[i]-Close[i])*3 && High[i]-Close[i]>MathMax(Close[i]-Low[i],Open[i]-Close[i])*3)
{
NombreFigur="Tirador";
Redraw(i,colorBears,NameFigur); Redraw(i+1,colorBears,NameFigur);
}
}
if(NombreFigur!="")
{
double DELTA=(MathMax(Alto[i],Alto[i+1])-MathMin(Bajo[i],Bajo[i+1]))/2;
if(Color==colorOso) {BufferDN[i]=MathMax(Alto[i],Alto[i+1]);P=BufferDN[i]+DELTA;}
si no {BufferUP[i]=MathMin(Low[i],Low[i+1]);P=BufferUP[i]-DELTA;}
DrawTEXT(StringConcatenate(NameFigur," ",TimeToStr(Time[i],TIME_DATE|TIME_MINUTES)),NameFigur,Color,Time[i+1],P);
}
}
if(Timei!=Time[0] && AlertON && i==0 && NameFigur!="") {Alert(Symbol()+" FiguresCandle ="+NameFigur);Timei=Time[0];}
return(0);
}
//-------------------------------------------------------------------
void Redraw(int,color col,string name)
{
Color=col;
if(!DrawCandle) return;
name=StringConcatenate(name,",TimeToStr(Time[i],TIME_DATE|TIME_SECONDS));
ObjectCreate(name,OBJ_TREND,0,Time[i],High[i],Time[i],Low[i]);
ObjectSet(nombre,OBJPROP_COLOR,col);
ObjectSet(nombre,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nombre,OBJPROP_BACK,false);
ObjectSet(nombre,OBJPROP_RAY,false);
ObjectSet(nombre,OBJPROP_WIDTH,2);
name=CadenaConcatenada(nombre," o");
ObjectCreate(name,OBJ_TREND,0,Time[i],Open[i],Time[i];
ObjectSet(nombre,OBJPROP_COLOR,col);
ObjectSet(nombre,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nombre,OBJPROP_BACK,false);
ObjectSet(nombre,OBJPROP_RAY,false);
ObjectSet(nombre,OBJPROP_WIDTH,2);
name=CadenaConcatenada(nombre," c");
ObjectCreate(name,OBJ_TREND,0,Time[i],Close[i],Time[i]+Period()*60,Close[i]);
ObjectSet(nombre,OBJPROP_COLOR,col);
ObjectSet(nombre,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nombre,OBJPROP_BACK,false);
ObjectSet(nombre,OBJPROP_RAY,false);
ObjectSet(nombre,OBJPROP_WIDTH,2);
}
//-------------------------------------------------------------------
void DrawTEXT(string NT,string Name,color col,datetime t1,double p1)
{
ObjectDelete(NT);
ObjectCreate(NT,OBJ_TEXT,0,t1,p1,0,0,0);
ObjectSet(NT,OBJPROP_COLOR,col);
ObjectSetText(NT,Name,10, "Arial");
}
//--------------------------------------------------------------------
¡Buenos días a todos! Estoy sentado aquí haciendo girar el indicador. Creo que lo he hecho todo bien. Pero la cosa es... Abrí un trato en cada vela.
La "hoja" es realmente impresionante :-) Introduce el código con más cuidado y no copies cosas obviamente innecesarias
sobre el tema - imprima usted mismo los valores de stop_buy y stop_sell. Porque la condición se activa explícitamente :
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
tal vez stop_buy y stop_sell se inicializan con 0 en lugar de EMPTY_VALUE
La "hoja" es por supuesto bastante buena :-) inserta el código con más cuidado y no copies nada obviamente innecesario
Sobre el tema - imprímase stop_buy y stop_sell. Porque es evidente que se desencadena una condición :
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
quizás stop_buy y stop_sell se inicializan con 0 y no con EMPTY_VALUE
Lo siento )) - para una página entera por el amor de Dios)
Lo probaré ahora)
La "hoja" es por supuesto bastante buena :-) inserta el código con más cuidado y no copies nada obviamente innecesario
Sobre el tema - imprima usted mismo los valores de stop_buy y stop_sell. Porque claramente la condición se desencadena :
if(stop_buy!=EMPTY_VALUE || stop_sell!=EMPTY_VALUE) {
tal vez stop_buy y stop_sell se inicializan con 0 en lugar de EMPTY_VALUE
sigue sin funcionar. Por cierto, me he dado cuenta de que la orden de venta se abre correctamente, pero en la orden de compra se vuelve loca y abre mil millones))
Sigue sin funcionar de la misma manera. Por cierto, me he dado cuenta de que las operaciones en venta se abren correctamente, pero en compra se vuelve loco y abre mil millones))
Bueno, al menos se puede habilitar la búsqueda... Insertar código...
Qué problema... Ni siquiera tienes que activar la búsqueda, el propio motor del foro pone la sartén por el mango...¿Puede al menos habilitar la búsqueda? Insertar código...
Qué pena... Ni siquiera hay que hacer una búsqueda, el propio motor del foro pone la sartén por el mango...Me disculpo profusamente, no tengo mucha experiencia en comportarme en el foro)))
Hola a todos, quien me puede ayudar a fusionar dos indicadores en uno, tengo el código fuente, realmente lo necesito
O me enseñas lo que no puedes hacer al fusionar, o te pones en contacto conmigo si no lo has hecho tú o no quieres hacerlo:
Puedes mostrarme lo que no puedes hacer al fusionar, o puedes ponerte en contacto conmigo si no lo has hecho o no quieres hacerlo:
Estoy tratando de averiguar exactamente lo que no puedo hacer, entiendo que es probable que nadie me diga nada de forma gratuita - el capitalismo, por el amor de Dios)). No tengo nada en contra, sólo necesito entender por qué las operaciones se abren en cada vela en la dirección de compra.