[¡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 903

 

¡¡¡¡He aprendido a insertar en Alert (GetLastError()); he conseguido corregir errores, pero no puedo con el error 130!!!! El error es paradas erróneas.

Ask-stoploss *Punto en una orden de compra, aquí desde el precio inferior deduzco el stoploss multiplicado por el punto, lo que da el número de puntos hacia abajo,

en el caso de una orden de venta todo lo contrario - Bid+stoploss*Point. Todo es absolutamente correcto y correcto!!!!!!!!

¡El Stoploss está en su lugar en la función, lo he contado por detrás y por delante! He probado diferentes tamaños.

¡¡¡¡¡ESTOY EN STUPIDS!!!!!

¡¡¡¡¡¡¡¡¡¡Ayúdame!!!!!!!!!!

 
//+------------------------------------------------------------------+
//| Las fronteras de Dimon.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandasDesviaciones=2,0;
extern double Lotes=0.1,TakeProfit=50,stoploss=10;
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{doble Media,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,suma,desviación;
string text; int ticket; int err;
text="muestra de macd";
Average=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
//----
newres=Cierre[i]-Promedio;
suma=newres*newres;


desviación=BandasDesviaciones*MathSqrt(suma/PeriodoBandas);
Verhnyayaghranytsa=Promedio+desviación;
Nyzhnyayaghranytsa=Desviación media;
//----
si (Verhnyayaghranytsa<Cerrar[i])
{ Comentario(" boya! ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Ask-stoploss*Point,Bid+TakeProfit*Point, "macd sample",16384,0,Green);

}


si (Nyzhnyayaghranytsa>Cerrar[i])
{ Comentario(" ¡vender! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(),OP_SELL,Lots,Ask,3,Bid+stoploss*Point,Ask-TakeProfit*Point, "macd sample",16384,0,Red);
Alerta (GetLastError());

}
return(0);
}
//+------------------------------------------------------------------+
 
En general, he cambiado los pedidos y las ofertas como he querido, pero sigue siendo lo mismo: ¡130!
 
Dimka-novitsek:
En general, he cambiado los pedidos y las ofertas como he querido, pero sigue siendo lo mismo: ¡130!

También debería comprobar el nivel de parada.
 
Qué es esto????
 
Vinin:
 IndicatorShortName("");
   SetIndexLabel(0, "");
   SetIndexLabel(1, "");
   SetIndexLabel(5, "");
   SetIndexLabel(6, "");

¡¡¡¡Muchas gracias, el 90% ayudó - todavía hay ceros, pero generalmente no interfieren y no se superponen mucho con el indicador!!!!


 
Dimka-novitsek:
Qué es esto????

double MarketInfo( string symbol, int type)

Devuelve información variada sobre los instrumentos financieros que figuran en Market Watch. Parte de la información del instrumento financiero actual se almacena en variables predefinidas.

MODE_STOPLEVEL 14 Nivel mínimo admisible de stop loss/take profit en pips

 
Por supuesto, le pregunté 10 puntos, 20 puntos, 30 puntos, 50 puntos.
 
Dimka-novitsek:
Y qué es esto????

tiene :ticket=OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Ask-stoploss*Point,Bid+TakeProfit*Point, "macd sample",16384,0,Green);

necesitamos: ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point, "macd sample",16384,0,Green);

y cambiar aquí: ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+stoploss*Point,Bid-TakeProfit*Point, "macd sample",16384,0,Red);

 
¡¡¡Gracias!!! ¡Vaya, es divertidísimo!