¿Cómo codificar? - página 153

 
Roger09:
Para chiwing

Pruebe esto:

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

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

//| script "delete pending order" |

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

int start()

{

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

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

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

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}

if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() ) delPending();

cambiar a

if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() )) delPending();

 

GetClientRect???

¿Cómo debo hacer si quiero adquirir las coordenadas del cliente del gráfico?

Quiero saber las coordenadas inferiores de la derecha sin usar OBJPROP_CORNER.

Un saludo.

 

Eu h1 ea

por favor ayúdeme a modificar el mejor

Archivos adjuntos:
 

Ayuda con la lógica

Hola a todos,

Me gustaría un poco de ayuda con un poco de lógica de código. Estoy tratando de construir un EA de un sistema que estoy viendo, pero estoy un poco desconcertado cómo escribir la lógica para las señales de compra y venta. Aquí está la Pseudo lógica de lo que quiero convertir en MQL:

LÓGICA DE COMPRA:

If (MA_1 > MA_2) and (Previous(MA_1 < MA_2)) // A moving average cross mean we have a "GET READY" signal

// Once we have a "GET READY" signal the following conditions need to be true

// in order for the system to create a "BUY_SIGNAL".

// Note: the following conditions do not necessarily have to become true on the exact same bar,

but need to trigger true within + or - 2 bars of the "GET READY" bar.

( CLOSE > MA3 ) // Price closes above a MA

( CCI Crosses above the ZERO line ) // CCI crosses up above zero

( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up side

La lógica de venta es justo lo contrario de la lógica de compra.

No necesito el código completo de EA sólo la lógica convertida a MQL 'IF' y 'LOOP' declaraciones para el entrenamiento de la señal. Creo que puedo averiguar el código OpenOrder etc... de muchos ejemplos ya en este hilo.

Cualquier ayuda que alguien pueda dar sería muy apreciada.

Gracias,

Moxy

 

La mejor opción es buscar en el archivo de ayuda del metaeditor.

Echa un vistazo a funciones como iMa, iStochastic e iCCI. Tienen ejemplos y si los combinas con la información que obtendrás al mirar el código de cualquier EA te resultará fácil.

Suerte

Lux

 
luxinterior:
Lo mejor que puedes hacer es buscar en el archivo de ayuda del metaeditor.

Echa un vistazo a funciones como iMa, iStochastic e iCCI. Tienen ejemplos y si los combinas con la información que obtendrás al mirar el código de cualquier EA te resultará fácil.

Suerte

Lux

Hola Lux,

Gracias por la respuesta. Puedo elaborar las declaraciones individuales de iMA, etc... el problema que tengo es cómo referenciar las diferentes barras de tiempo una vez que se dispara una señal. Por ejemplo... Si tengo una señal GET READY necesito mirar las 2 barras anteriores y las 2 barras posteriores (5 barras en total) para que los otros indicadores confirmen que tengo una SEÑAL DE COMPRA en la apertura de la siguiente barra. No sé si lo que digo tiene sentido.

Supongo que sí... cómo estructuraría los bucles FOR necesarios, etc., cuando necesito referenciar barras anteriores y posteriores a la barra que se está procesando.

Saludos,

Moxy

 
Moxy:
Hola Lux,

Gracias por la respuesta. Puedo elaborar las declaraciones individuales de iMA, etc... el problema que tengo es cómo hacer referencia a las diferentes barras de tiempo una vez que se activa una señal. Por ejemplo... Si tengo una señal GET READY necesito mirar las 2 barras anteriores y las 2 barras posteriores (5 barras en total) para que los otros indicadores confirmen que tengo una SEÑAL DE COMPRA en la apertura de la siguiente barra. No sé si lo que digo tiene sentido.

Supongo que sí... cómo estructuraría los bucles FOR necesarios, etc., cuando necesito referenciar barras anteriores y posteriores a la barra que se está procesando.

Saludos,

Moxy

Esto se hace utilizando la variable shift en iMA(). También puedes hacer esto con los valores de Open, High, Low, Close, es decir, Close[3] que está a 3 barras de distancia de la barra actual.

 

Media móvil de movimientos

Ok necesito un poco de ayuda con el código, estoy buscando para determinar un conjunto de movimientos promedio alrededor de un MA, por lo que desde el BAR más antiguo, busco los movimientos por encima y por debajo, ponerlos en una matriz y luego el promedio de esa matriz.

el código es el siguiente, busco un poco de ayuda para conseguirlo.

double AverageMove()

{

int cbars = iBars(Symbol(),EntryTimeFrame);

int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0;

double retval,averagemove,pHValue,pLValue,MAvalue,RangeValue[],EntryPoint,cHigh,cLow;

bool reset,TradeShort,TradeLong;

iLimit=Bars-1;

if(Symbol() != "AUDNZD") return(0);

for(ndx=0; ndx<iLimit; ndx++)

{

MAvalue = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx);

pLValue = High[ndx];

pLValue = Low[ndx];

if(MAvalue pLValue)

{

if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue);

reset = true;

if(EntryPoint > 0 && cHigh > 0)

{

RangeCounter++;

RangeValue[RangeCounter]=cHigh - EntryPoint;

}

if(EntryPoint > 0 && cLow > 0)

{

RangeCounter++;

RangeValue[RangeCounter]=EntryPoint - cLow;

}

EntryPoint = MAvalue;

}

if(pLValue < MAvalue && reset) TradeShort = true;

if(pLValue > MAvalue && reset) TradeLong = true;

if(TradeLong)

{

reset = false;

cHigh = pHValue;

}

if(TradeShort)

{

reset = False;

cLow = pLValue;

}

}

ArraySetAsSeries(RangeValue,true);

retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0);

Print("Movimiento medio "+retval);

}

 

Me gustaría saber el área de clientes en el gráfico.

Hola,

Me gustaría saber el área del cliente en el gráfico.

Por favor, aconséjeme.

Suponiendo que el punto de la esquina superior izquierda es (0,0), por favor, indíqueme las coordenadas de la parte inferior derecha.

En este caso, no se debe utilizar el ObjectSet("",OBJPROP_CORNER,3).

Muchas gracias y saludos,

 

Moxy,

Si te entiendo correctamente, entonces tendrás que codificar esto línea por línea en un EA.

ejemplo

MA1, índice-1 antes

MA1, índice ahora

MA1, índice+1 después

tienes lo básico ahí

Razón de la queja: