2 Adjunto (s) Hola


El EA se utilizará como asistente comercial y probará nuevas ideas.

Tendré código para otros estados

Ejemplo:
//# 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230;
int start ()
{
//-
if (! StatusOK)

return (0);

GetDayOpen ();
GetSpread ();
Estado de actualización();
WriteComment ();
int CurrentHour = TimeHour (TimeCurrent ());

//# 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230; # 8230 ;.



Me gustaría un EA que pueda colocar las siguientes tres órdenes pendientes de acuerdo con los guiones siguientes una vez en cada pub nuevo, el EA se colocará en varios pares de divisas a la vez, por lo que necesita verificación de errores y reintentos ya que a menudo enviará pedidos en un instante.

La ea también debe incluir números de auto magia, ya que tengo otros EA # 8217; s en una ventana separada que administran las transacciones en función de sus nombres y números mágicos.

Una entrada para colocar la expiración del boleto en una o dos barras sería agradable

También si se establece una orden de stop de compra pendiente y el (bajo [0] - ((Spread * 2) (1 * punto)) lt; low [2] luego borra pendiente de comprar stop el EA colocado en el símbolo actual y actual periodo de tiempo

Si se establece un stop de venta de compra pendiente y el ((alto [0] Spread * 3) (1 * punto)) gt; grande [2] luego elimine el stop de venta pendiente en el EA colocado en el símbolo actual y el período de tiempo actual.


Si es posible:

El EA que se ejecuta en el intervalo actual solo afectará las órdenes que realizó en ese período de tiempo actual. Como los pedidos pueden realizarse por otros medios en plazos que son distintos y precisamente el emblema.










Uso los siguientes scripts en la plataforma de Forex.com en el Reino Unido



MULTIBUY

//# propiedad show_inputs

doble Porcentaje de riesgo = 0,35;/. 35/2 esta vez 3 es 100 posición completa
//lotes dobles = 1;

// ----------------------------------------------- -------------------
//| función de inicio del programa de script |
// ----------------------------------------------- -------------------
int start ()


//Puede dar nombre a este último con else si
string TicketComment2X = StringConenate (TicketComment2X, Period (), -, 2X);
cadena TicketCommentManageOne = StringConenate (TicketCommentManageOne, Period (), -, MANAGEONE);
cadena TicketCommentManageTwo = StringConenate (TicketCommentManageTwo, Period (), -, MANAGETWO);


//incluye cadena automática para el marco temporal de entrada
int SpreadPointss = MarketInfo (Symbol (), MODE_SPREAD);
double GetBid = MarketInfo (Symbol (), MODE_BID);
doble SpreadPoints = (punto SpreadPointss *);
doble OnePoint = (1 * punto);
doble riesgo = riesgo porcentual100;
doble MyStopLoss = ((Alto [1] (Puntos de extensión OnePoint)) - (Bajo [1] - (((Puntos de expansión Puntos de extensión2)) - OnePoint)))Punto;
double GetTarget = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - (((SpreadPoints SpreadPoints2)) -OnePoint)));
//double MyStopLoss = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - ((SpreadPoints2) - OnePoint)))Point;
//double GetTarget = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - ((SpreadPoints2) -OnePoint)));



//double GetTarget = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - OnePoint));
double TargetLong = NormalizeDouble ((High [1] GetTarget), Digits);/dígitos de prueba
double Lots = NormalizeDouble (AccountBalance () * RiskMyStopLoss(MarketInfo (Symbol (), MODE_TICKVALUE), 2);
doble LotsDivided = (Lots2);
doble Permitido = (OnePoint * 5);

doble AutoAllowable = (OnePoint * MarketInfo (Symbol (), MODE_STOPLEVEL));
doble EntryPrice;
doble BIDANDPOINTS = (GetBid SpreadPoints OnePoint);
doble HIGHANDPOINTS = (Alto [1] Puntos de extensión OnePoint);


//AJUSTE LA ENTRADA A LA CUENTA PARA DETENER EL NIVEL DE PÉRDIDA


if (BIDANDPOINTS gt; HIGHANDPOINTS-AutoAllowable)

EntryPrice = BIDANDPOINTS AutoAllowable;
más

EntryPrice = HIGHANDPOINTS;



if (Lotes gt; 0)
OrderSend (Symbol (), OP_BUYSTOP, Lots, EntryPrice, 3, (Low [1] - (SpreadPoints OnePoint (SpreadPoints2))), TargetLong, TicketComment2X, 0, NULL, LimeGreen);
OrderSend (Symbol (), OP_BUYSTOP, LotsDivided, EntryPrice, 3, (Low [1] - (SpreadPoints OnePoint (SpreadPoints2))), 0, TicketCommentManageOne, 0, NULL, LimeGreen);
OrderSend (Symbol (), OP_BUYSTOP, LotsDivided, EntryPrice, 3, (Low [1] - (SpreadPoints OnePoint (SpreadPoints2))), 0, TicketCommentManageTwo, 0, NULL, LimeGreen);


return (0);

// ----------------------------------------------- --------




MULTISELL

//# propiedad show_inputs


doble RiskPercent = 0.35;/352.0
//lotes dobles = 1;

// ----------------------------------------------- -------------------
//| función de inicio del programa de script |
// ----------------------------------------------- -------------------
int start ()

string TicketComment2X = StringConenate (TicketComment2X, Period (), -, 2X);
cadena TicketCommentManageOne = StringConenate (TicketCommentManageOne, Period (), -, MANAGEONE);
cadena TicketCommentManageTwo = StringConenate (TicketCommentManageTwo, Period (), -, MANAGETWO);


int SpreadPointss = MarketInfo (Symbol (), MODE_SPREAD);
doble SpreadPoints = (punto SpreadPointss *);
doble OnePoint = (1 * punto);
doble riesgo = riesgo porcentual100;
doble MyStopLoss = ((Alto [1] (Puntos de extensión OnePoint)) - (Bajo [1] - (((Puntos de expansión Puntos de extensión2)) - OnePoint)))Punto;
double GetTarget = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - (((SpreadPoints SpreadPoints2)) - OnePoint)));

//double MyStopLoss = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - ((SpreadPoints2) - OnePoint)))Point;
//double GetTarget = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - ((SpreadPoints2) - OnePoint)));




//double GetTarget = ((High [1] (SpreadPoints OnePoint)) - (Low [1] - OnePoint));
double TargetShort = NormalizeDouble ((Low [1] -GetTarget), Digits);/dígitos de prueba
double Lots = NormalizeDouble (AccountBalance () * RiskMyStopLoss(MarketInfo (Symbol (), MODE_TICKVALUE), 2);
doble LotsDivided = (Lots2);
double GetBid = MarketInfo (Symbol (), MODE_BID);
doble Permitido = (OnePoint * 5);
doble AutoAllowable = (OnePoint * MarketInfo (Symbol (), MODE_STOPLEVEL));
doble EntryPrice;
doble BIDANDPOINTS = (GetBid - OnePoint);
double LOWANDPOINTS = (Bajo [1] - OnePoint);


//AJUSTE LA ENTRADA A LA CUENTA PARA DETENER EL NIVEL DE PÉRDIDA

if (BIDANDPOINTS lt; LOWANDPOINTS AutoAllowable)

EntryPrice = BIDANDPOINTS-AutoAllowable;
más

EntryPrice = LOWANDPOINTS;










if (Lotes gt; 0)
OrderSend (Symbol (), OP_SELLSTOP, Lots, EntryPrice, 3, (High [1] (SpreadPoints (SpreadPoints2) OnePoint)), TargetShort, TicketComment2X, 0, NULL, LimeGreen);
OrderSend (Symbol (), OP_SELLSTOP, LotsDivided, EntryPrice, 3, (High [1] (SpreadPoints (SpreadPoints2) OnePoint)), 0, TicketCommentManageOne, 0, NULL, LimeGreen);
OrderSend (Symbol (), OP_SELLSTOP, LotsDivided, EntryPrice, 3, (High [1] (SpreadPoints (SpreadPoints2) OnePoint)), 0, TicketCommentManageTwo, 0, NULL, LimeGreen);





return (0);

// ------------------------

https://www.forexycfds.com/attachmen...4869765307.mq4

https://www.forexycfds.com/attachmen...6643342626.mq4