¿Cómo codificar? - página 188

 

int inicio()

{

int total,ord,i;

símbolo de cadena;

total = OrdersTotal();

for(i=0;i<total;i++)

{

OrderSelect(i,SELECT_BY_POS);

if(OrderSymbol() = Symbol())ord++;

}

if(ord>0) return (0); /¡Abort! Ya hay una posición abierta para este par

//el resto del código de mi programa

}

He encontrado en la realidad, he tenido que usar pausas de un par de segundos en el código debido a que los corredores no abren posiciones instantáneamente.

 

Quiero abrir 1 POSICIÓN en una dirección pero no más aunque la posición alcance el TP.

Lacomprobación de la posición abierta no funcionará obviamente.

Ejemplo-

No quiero que se ejecute otra 'COMPRA' si tenía una compra abierta y alcanzó el TP. Quiero que espere hasta que las MA's crucen hacia abajo y abra una VENTA con un TP y repita todo de nuevo.

Probablemente hay una manera fácil de hacer esta compra mi cerebro está frito o algo así

GRACIAS

 

Gracias por la información...

SPACECHIMP:
int inicio()

{

int total,ord,i;

símbolo de la cadena;

total = OrdersTotal();

for(i=0;i<total;i++)

{

OrderSelect(i,SELECT_BY_POS);

if(OrderSymbol() = Symbol())ord++;

}

if(ord>0) return (0); /¡Abort! Ya hay una posición abierta para este par

//el resto del código de mi programa

}

En realidad, he tenido que usar pausas de un par de segundos en el código debido a que los corredores no abren posiciones instantáneamente.

¡Gracias por tomarse su tiempo para mostrarme este código! Creo que mis capturas de pantalla no fueron suficientes para explicar la lógica de lo que estoy tratando de lograr. Aquí está la explicación en witting ... y sólo como un ejemplo que estoy usando un escenario de "Comprar". Eventualmente me gustaría que hiciera tanto "Compra" como "Venta".

Escenario 1: Si su operación de compra va con usted...-Comercio 1, T/P a 70 pips

--Operación 2, 30 pips aparte de la operación 1, T/P a 70 pips

-Comercio 3, 30 pips aparte del comercio 2, T/P a 70 pips

** 210 pips en total

Escenario 2: Si su operación de compra va en su contra... ponga una operación cada 60 pips durante tres operaciones y espere a que el mercado retroceda en su dirección-Operación 1 mala... entre en una nueva operación de compra de contingencia a -60 pips del precio de la operación 1.

--Operación 2 mala... introduzca una nueva operación de compra de contingencia a -60 pips del precio de la operación 2.

--operación 3 mala...no entrar en más operaciones

--esperar a señales de reversión... puntoparabólico = fondo...si parece que se mueve en nuestra dirección entonces entrar en una 4ª compra

--esperar 30 pips positivos más entonces entrar en una 5ª operación de compra...continuar entrando en operaciones de compra (6, 7, 8 operaciones) hasta que alcance el nivel en el que estaba la 3ª operación de contingencia....entonces esperar a la primera original, y seguir los pasos del escenario 1.

¿Es posible conseguir el código de esta lógica? ¡¡¡Se lo agradecería mucho!!!

 
SPACECHIMP:
Quiero abrir 1 POSICIÓN en una dirección pero no más aunque la posición alcance el TP.

La comprobación de la posición abierta no funcionará obviamente.

Ejemplo:

No quiero que se ejecute otra 'COMPRA' si tenía una compra abierta y alcanzó el TP. Quiero que espere hasta que las MA's crucen hacia abajo y abra una VENTA con un TP y repita todo de nuevo.

Probablemente hay una manera fácil de hacer esta compra mi cerebro está frito o algo así

GRACIAS

Necesitas revisar tu historial de órdenes para ver si una orden acaba de cerrarse en la barra actual para obtener ganancias.

Espero que eso ayude.

Lux

 

Filtro RSI pete

Hola a todos...

Traté de crear un simple ea para este indy (pete filtro RSI), pero después de compilar, cuando lanzo un backtest nada sucede

Quiero sólo

1-comprar en verde o verde claro

2-y vender en rojo o rojo claro

Así que pido a algunas personas amablemente para ayudarme en esto

Gracias de antemano

Archivos adjuntos:
 

MM para EA plz

quiero añadir esta condición a mi EA

si la pérdida en el día actual = 100 ---> cerrar toda la posición, no tomar cualquier OP hasta mañana

si la pérdida en el día actual puede tomar cualquier OP

alguien puede ayudarme?

este es mi EA

//+------------------------------------------------------------------+

/*

EA Dengan sinyal dari signal ma

*/

extern double Lots = 0.01;

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

double a1, //ma 10 tf 4h

a2, //ma 10 tf 1h

a3, //ma 10 tf 15m

a4, //ma 10 tf 5m

j, //yesterday low price

k, //yesterday high price

b1, //ma 30 tf 4h

b2, //ma 30 tf 1h

b3, //ma 30 tf 15m

b4; //ma 30 tf 5m

int cnt, ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

// to simplify the coding and speed up access

// data are put into internal variables

a1 = iMA(NULL,240,10,0,MODE_EMA,PRICE_CLOSE,0);

a2 = iMA(NULL,60,10,0,MODE_EMA,PRICE_CLOSE,0);

a3 = iMA(NULL,15,10,0,MODE_EMA,PRICE_CLOSE,0);

a4 = iMA(NULL,5,10,0,MODE_EMA,PRICE_CLOSE,0);

b1 = iMA(NULL,240,30,0,MODE_EMA,PRICE_CLOSE,0);

b2 = iMA(NULL,60,30,0,MODE_EMA,PRICE_CLOSE,0);

b3 = iMA(NULL,15,30,0,MODE_EMA,PRICE_CLOSE,0);

b4 = iMA(NULL,5,30,0,MODE_EMA,PRICE_CLOSE,0);

j = iLow(NULL,60,2);

k = iHigh(NULL,60,2);

total=OrdersTotal();

if(total<1)

{

// no opened orders identified

if(AccountFreeMargin()<(1000*Lots))

{

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

// check for long position (BUY) possibility

if(a1>b1&&

a2>b2&&

a3>b3&&

a4>b4+10*Point)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

// check for short position (SELL) possibility

if(a1<b1&&

a2<b2&&

a3<b3&&

a4<b4-10*Point)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"macd sample",16384,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

// it is important to enter the market correctly,

// but it is more important to exit it correctly...

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && // check for opened position

OrderSymbol()==Symbol()) // check for symbol

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

if(Bid>OrderOpenPrice()+100*Point)//if profit > 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),j,0,0,Green);

return(0);

}

if(Bid<OrderOpenPrice()-150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

}

else // go to short position

{

// should it be closed?

if(Ask 100

{

OrderModify(OrderTicket(),OrderOpenPrice(),k,0,0,Green);

return(0);

}

if(Ask>OrderOpenPrice()+150*Point)//stop loss

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

}

}

}

return(0);

}

// the end.

 

Hola,

Hace unas semanas pedí algo parecido en otro foro. Una especie de CLOSEALL si saldo = + x cantidad o -x cantidad. No soy programador, pero parece que no es posible (?) porque realmente sólo obtuve algunas respuestas poco claras.

No parece ser tan complicado, pero de nuevo, no soy un programador.

Buena suerte,

 

¿Es posible abrir una ventana emergente de comercio por EA?

Hola.

Me gustaría abrir una ventana emergente de comercio por EA.

¿Es posible?

Si es posible abrirla por EA, ¿es posible abrir una ventana emergente de comercio en la que el número del volumen negociado (el número de lote) se establece en un número ordenado por EA?

 
Dax:
Hola.

Me gustaría abrir una ventana emergente de comercio por EA.

¿Es posible?

Si es posible abrirla por EA, ¿es posible abrir una ventana emergente de comercio en la que el número del volumen negociado (el número de lote) se establece en un número ordenado por EA?

Tendrá que hacerlo con una dll.

 
Ms_Mel:
Hola,

Hace unas semanas pedí algo parecido en otro foro. Una especie de CLOSEALL si saldo = + x cantidad o -x cantidad. No soy programador, pero no parece que sea posible (?) porque realmente sólo obtuve algunas respuestas poco claras.

No parece ser tan complicado, pero de nuevo, no soy un programador.

buena suerte,

Busque en los foros para closeall EAs. Hay algunos aquí