Ayuda a la codificación - página 15

 

por favor, ayuda sobre el trailing

He creado un EA con el Generador de EAs de Forex, todo parece funcionar, el trailing funciona en la COMPRA como se requiere, pero no funciona en la VENTA,

Por favor, ayúdame a entender dónde está el error,

gracias

..................................

IfOrderDoesNotExist8();

}

}

void IfOrderDoesNotExist8()

{

bool existe = false

for (int i=OrdersTotal()-1; i >= 0; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

existe = true;

}

}

si no

{

Print("Error de OrderSelect() - ", ErrorDescription(GetLastError()));

}

if (exists == false)

{

BuyOrder24();

}

}

void BuyOrder24()

{

double SL = Ask - BuyStoploss24*PipValue*Point;

if (BuyStoploss24 == 0) SL = 0;

double TP = Ask + BuyTakeprofit24*PipValue*Point;

si (BuyTakeprofit24 == 0) TP = 0;

int ticket = -1;

si (true)

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, 0, 0, "36912direct5M@", 1, 0, Blue);

si no

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, SL, TP, "36912direct5M@", 1, 0, Blue);

si (ticket > -1)

{

si (verdadero)

{

OrderSelect(ticket, SELECT_BY_TICKET);

bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);

si (ret == false)

Print("Error de OrderModify() - ", ErrorDescription(GetLastError()));

}

}

else

{

Print("OrderSend() error - ", ErrorDescription(GetLastError());

}

}

void CloseOrder21()

{

int orderstotal = OrdersTotal();

int pedidos = 0;

int pedido[30][2];

for (int i = 0; i < orderstotal; i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 1)

{

continúa;

}

ordticket[orders][0] = OrderOpenTime();

ordticket[orders][1] = OrderTicket();

orders++;

}

si (pedidos > 1)

{

ArrayResize(ordticket,orders);

ArraySort(ordticket);

}

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

{

if (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)

{

bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Red);

si (ret == false)

Print("Error de OrderClose() - ", ErrorDescription(GetLastError());

}

}

}

void TrailingStop10()

{

for (int i=OrdersTotal()-1; i >= 0; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

double takeprofit = OrderTakeProfit();

if (OrderType() == OP_BUY && Ask - OrderOpenPrice() > TrailingStop10*PipValue*Point)

{

if (OrderStopLoss() < Ask-(TrailingStop10+TrailingGap10)*PipValue*Point)

{

if (NewTakeProfit10 != 0) takeprofit = Ask+(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret1 = OrderModify(OrderTicket(), OrderOpenPrice(), Ask-TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

si (ret1 == false)

Print("Error de OrderModify() - ", ErrorDescription(GetLastError()));

}

}

if (OrderType() == OP_SELL && OrderOpenPrice() - Bid > TrailingStop10*PipValue*Point)

{

if (OrderStopLoss() > Bid+(TrailingStop10+TrailingGap10)*PipValue*Point)

{

if (NewTakeProfit10 != 0) takeprofit = Bid-(NewTakeProfit10 + TrailingStop10)*PipValue*Point;

bool ret2 = OrderModify(OrderTicket(), OrderOpenPrice(), Bid+TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White);

si (ret2 == false)

Print("Error de OrderModify() - ", ErrorDescription(GetLastError()));

}

}

}

}

si no

Print("Error de OrderSelect() - ", ErrorDescription(GetLastError()));

}

 

Indicador de variación necesita ayuda para trazar en chart_window

Este es el indicador:

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

//| variation.mq4 ||||||||||||||

//| Copyright © 2010, LeMan.

//| b-market@mail.ru |

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

#property copyright "Copyright © 2010, LeMan."

#property link "b-market@mail.ru"

#property indicator_chart_window

#property indicator_buffers 1

#property indicador_color1 Rojo

//---- parámetros de entrada

extern int N=20;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

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

//| Función de inicialización de los indicadores personalizados ||.

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

int init()

{

string nombre_corto;

IndicatorDigits(Dígitos+2);

IndicatorBuffers(2);

//---- indicadores

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

//----

si (N <= 0) N = 20;

//----

SetIndexDrawBegin(0, N*2);

//----

short_name = "Variación (" + N + ")";

IndicatorShortName(short_name);

SetIndexLabel(0, nombre_corto);

//----

return(0);

}

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

//| Función de desinicialización del indicador personalizada ||

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

int deinit()

{

//----

//----

return(0);

}

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

//| Función de iteración del indicador personalizada ||

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

int inicio()

{

//----

int límite = Bars-N-1;

for (int i = límite; i >= 0; i--) {

double ma = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer2 = Close-ma;

}

//----

i = Bars-N*2-1;

while (i >= 0) {

double vr = iMAOnArray(ExtMapBuffer2,Bars,N,0,MODE_SMA,i);

double mov = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);

ExtMapBuffer1 = Close - (mov + vr);

i--;

}

//----

return(0);

}

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

 

Se requiere codificador de EA

Comerciante de Forex con 10 años de experiencia requiere codificador EA

con experiencia en el comercio.

El sistema TradeWynds:

Filtro de marco de tiempo superior

H1 o D1

Todas las entradas tomadas dentro de una ventana de entrada de 3 pips utilizando un SL de 10 pips.

Las entradas pueden ser tomadas en ambas direcciones.

2 - 3 indicadores utilizados.

Salidas en H1 o D1.

Por favor, PM si está interesado ....

 

Si tienes un EA rentable, lo codificaré para ti o te haré saber si realmente está más allá de mi capacidad.

 

Construir script

Gurú de los codificadores

He intentado buscar en los distintos foros de la Red un experto o un script para emitir órdenes pendientes con un tiempo determinado para poder operar en "News". Conseguí algunos pero no han sido satisfactorios. He intentado hacer un EA que no ha funcionado y no puedo identificar el fallo. Intenté hacer un script para agregar el gráfico pero no pude lograrlo. Traté de modificar una secuencia de comandos estándar de MT4 también sin éxito. Me pregunto si usted puede ayudarme a construir una secuencia de comandos para este propósito ... Emitir órdenes pendientes de compra y venta a una hora pre determinada.

Gracias,

Paulo.peba

 

iATR no funciona en XAGUSD y XAUUSD

¡Feliz Navidad y Próspero Año Nuevo!

Quiero hacer un indicador que escanea múltiples símbolos en diferentes marcos de tiempo. Los símbolos XAGUSD y XAUUSD muestra ATR sólo 0,000.

¿Qué está mal?

double atr=iATR(símbolo,timeframe[j],8,1)

12:28:48 Escanear EURUSD,M1: EURJPY 5 ATR = 0.0325

12:28:48 Scan EURUSD,M1: EURJPY 15 ATR = 0.055

12:28:48 Scan EURUSD,M1: EURJPY 30 ATR = 0.0988

12:28:48 Scan EURUSD,M1: EURJPY 60 ATR = 0.1513

12:28:48 Scan EURUSD,M1: EURJPY 240 ATR = 0.2475

12:28:48 Scan EURUSD,M1: EURJPY 1440 ATR = 0.81

12:28:48 Scan EURUSD,M1: XAGUSD 5 ATR = 0

12:28:48 Scan EURUSD,M1: XAGUSD 15 ATR = 0

12:28:48 Scan EURUSD,M1: XAGUSD 30 ATR = 0

12:28:48 Scan EURUSD,M1: XAGUSD 60 ATR = 0.1662

12:28:48 Scan EURUSD,M1: XAGUSD 240 ATR = 0

12:28:48 Scan EURUSD,M1: XAGUSD 1440 ATR = 1.2625

12:28:48 Scan EURUSD,M1: XAUUSD 5 ATR = 0

12:28:48 Scan EURUSD,M1: XAUUSD 15 ATR = 0

12:28:48 Scan EURUSD,M1: XAUUSD 30 ATR = 0

12:28:48 Scan EURUSD,M1: XAUUSD 60 ATR = 0

12:28:48 Scan EURUSD,M1: XAUUSD 240 ATR = 0

12:28:48 Scan EURUSD,M1: XAUUSD 1440 ATR = 38.8625

Saludos

derumuro

 

Se necesita ayuda para codificar un indicador de línea de tendencia/retroceso/retroceso más una alerta

Hola traders, ¿hay alguien aquí que pueda ayudarme a codificar un indicador que sea capaz de marcar una línea de tendencia/canal adecuada, seguida de una alerta de ruptura (si la hay) y que nos avise cuando haya un retroceso en ella. El retroceso también puede ser un retroceso al nivel de Fibra del 38,2%, 50% o 61,8%. Necesito algo que pueda marcar una línea de tendencia/canal apropiada porque siento que la mayoría de los indicadores de auto-tendencia o auto-canal no están marcando la línea apropiada. He buscado mucho en la mayoría de los foros pero no he podido encontrar ninguno de los llamados indicadores de retroceso de línea de tendencia. He probado DeMark pero no me siento muy cómodo usándolo. No estoy seguro de si este indicador es posible de codificar. Pero creo que nada es posible en este mundo. Saludos...

 

Hola Blackwood

BlackWood:
Si tienes un EA rentable, lo codificaré para ti o te haré saber si realmente está más allá de mi capacidad.

En referencia al post #148, ¿es posible codificar un EA? Si se puede hacer, creo que el EA se puede utilizar para scalping... Trata de resolverlo, si... Gracias de antemano..

 

Necesito ayuda para remodelar EA

Hola ....

¿Alguien quiere ayudarme a añadir el HH y LL en H1 para mostrar las tendencias en el EA de abajo y cambiar la línea roja y azul a Supplay y demanda en H1? Encontré esto en los foros de EA y lo modifico pero no es perfecto. Quiero que este EA funcione en base a Supplay y Demand para ver la tendencia utilizando el HH y LL. Espero EA puede ser una entrada de la M5 con un amarillo Supplay demanda y demanda Supplay se refiere a la roja y azul en H1 (rojo y azul son ahora falsas, no Supplay y la demanda, Por favor, ser modificado en Supplay y la demanda). La tendencia y la inversión de la forma que tomamos la forma de la serie HH y LL en H1.

Gracias.

Archivos adjuntos:
 

Por favor, dígame cómo hacer una entrada después de Take Profit:)

Hola, genio codificador y gente amable:D

Ahora estoy desarrollando un simple EA pero no puedo entender las siguientes condiciones.

Si la posición anterior se cierra por Take Profit, hacer una nueva entrada que establece 20 pips por s / l y t / p en el próximo precio de apertura. (en el gráfico de 5M)

Traté de escribir uno.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY)) /La última posición fue una orden instantánea OP_BUY o OP_SELL

{

if(OrderClosePrice() == OrderTakeProfit()) // SI el precio de cierre es el mismo que el precio de toma de beneficios

{

if(OrderType() == OP_BUY) /El tipo de orden de esa orden es de compra

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Lots y otras variables son definidas por mi mismo

}

else if(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}

}

He intentado muchas veces ejecutar por el probador de la estrategia, pero no puede la acción como estoy esperando.

Alguien me puede ayudar con esta pregunta.

Saludos.

Razón de la queja: