[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 360

 

¡Buenas noches a todos!

Necesito codificar el siguiente algoritmo.

Poner una orden pendiente de SELLSTOP en la apertura de una vela cero

SÓLO si no hay un SELLSTOP ya colocado en esa vela.

Es decir, en una vela cero poner un SELLSTOP ... y no más.

He implementado con éxito esta idea de una orden de VENTA en este código

===========================================================

int último_orden_barra = 0;
int ot = OrdersTotal();

if (ot>0) //si hay órdenes en el mercado (tanto de mercado como de TARGET)

if (OrderSelect (ot-1,SELECT_BY_POS)) //selecciona el último pedido
if ( OrderType ()==OP_SELL) //si se trata de una orden de mercado abierta SELL

last_order_bar = iBarShift (Symbol (),0,OrderOpenTime ())//recuerda la secuencia N de la vela en la que se abrió esta orden de mercado SELL

(ot==0 || last_order_bar>0) //si no hay ninguna orden abierta o si la última orden no está en la barra actual

if( Oferta ==iOpen (Símbolo (),0,0))//si el precio es el precio de apertura de la barra

//orden abierta

No puedo aplicar este algoritmo a las órdenes pendientes porque el parámetro OrderOpenTime () como iBarShift ( ), si no me equivoco, sólo devuelve la hora de apertura de una orden de mercado,

no una pendiente.

¿Podría pasar la hora de colocación de una orden pendiente como parámetro a iBarShift ( )?

¿O cómo puedo poner en práctica lo que quiero?

Gracias.

 
solnce600:

¿Podría pasar la hora de apertura de la orden pendiente como parámetro a iBarShift ( )?

Después de abrir una orden pendiente, guarde la hora en que se abrió en una variable global,

hacer una entrada en el nombre de la variable para diferenciar una variable de otra

+ control de órdenes pendientes cerradas/borradas para borrar las variables de la memoria.
 
sergeev:

después de abrir una orden pendiente, guardar su tiempo de apertura en una variable global,

poner un ticket en el nombre de la variable, para distinguir una variable de una orden pendiente de otra

+ supervisar las órdenes pendientes cerradas/eliminadas para borrar las variables de la memoria.

¿Y qué función devuelve la hora de apertura de la última orden pendiente?

Por ejemplo, aplicado a una orden de mercado, está claro que OrderOpenTime () devuelve la hora de apertura de la última orden de mercado?

¿O se puede guardar la hora de apertura de una orden pendiente sin utilizar la función?

Si es así, te agradecería mucho que me mostraras en el código cómo se hace?

Muchas gracias por su pronta respuesta.

 
solnce600:

¿Qué función devuelve la hora de apertura de la última orden pendiente?

En tu caso - necesitas guardar Tiempo[0]
 
sergeev:
en tu caso - necesitas guardar Tiempo[0]

Bien. Gracias.
 

Hola a todos.

Estoy escribiendo algún tipo de indicación, que utilizaría señales de RSIOMA, pero no puedo obtener los valores necesarios de los buffers marsiomaXupSig y marsiomaXdnSig. El código RSIOMA tiene las siguientes líneas SetIndexBuffer(6,marsiomaXupSig); SetIndexBuffer(7,marsiomaXdnSig);"...." if(RSIBuffer[i+1]<=marsioma[i+1]&&RSIBuffer[i]>marsioma[i]) marsiomaXupSig[i] = -11; if(RSIBuffer[i+1]>=marsioma[i+1]&&RSIBuffer[i]<marsioma[i]) marsiomaXdnSig[i] = 11; Intento recibir los datos en mi indicador de la siguiente manera

double marsiomaXupSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE,BuyTrigger,SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,6,0);

double marsiomaXdnSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE,BuyTrigger,SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,7,0);

Lógicamente debería haber obtenido los valores 11 y -11 , pero cuando registro los valores sólo obtengo 2013.05.28 09:05:52 2013.01.04 11:29 mi EA XAUUSD,H1: marsiomaXdnSig - 2147483647 2013.05.28 09:05:52 2013.01.04 11:29 mi EA XAUUSD,H1: marsiomaXupSig - 2147483647 ¿Qué estoy haciendo mal?


 

¡Buenas tardes! Me puse a hacer una función por alguna razón, y aquí, un montón de errores... Parece que es correcto, lo he mirado durante 15-20 minutos.

RasstawimOrdera(int Raz,double Dist_pervaya,double Dist_dalshaya,double TP, double SL,double Lot) ................

'RasstawimOrdera' - expresión en el ámbito global no permitida C:\NDocuments and Settings\NUser\My Documents\FxClub\TeleTRADE\experts\Square.mq4 (73, 1)

Raz' - variable ya definida C:\NDocumentos y Ajustes\NUsuario Mis Documentos\NFxClub\NTeleTRADE\Nexperts\Square.mq4 (73, 21)

'double' - variable esperada C:\Documents and Settings\NUser\FxClub\FieldClub\eleTrade\Nexperts\Speaker.mq4 (73, 25)

'Dist_pervaya' - expresión en el ámbito global no permitida C:\Documentos y Ajustes\NMis Documentos\NFxClub\NTeleTRADE\Nexpertos\NSpline.mq4 (73, 32)
'Dist_pervaya' - variable no definida C:\N - Documentos y Ajustes \N - Mis Documentos \N - ForexClub \N - TeleTrader \N - Expertos \N - Plaza.mq4 (73, 32)

Y así sucesivamente,




Tiene fallos. Foro. Cuando respondo pulsando la barra espaciadora, el cursor tiembla y da un paso adelante y atrás, saltando espontáneamente a la esquina superior izquierda. Presiono el panel táctil izquierdo hasta el lugar en el que quiero seguir escribiendo, pero el cursor sigue parpadeando al principio del texto, y lo pinta de azul y vuelve. Tardó otros 10 minutos en regañarme.

Lo escribí en el bloc de notas y lo copié.

Entonces, entiendo que ahí puede faltar un punto, por ejemplo yo, o alguna tontería, pero no lo entiendo. ¡Por favor, dame una pista!

 
Creo que ya lo he resuelto. Quien pensó conmigo, ¡¡¡Gracias!!!
 
¿Qué tipo de RSIOMA es? Entonces, revisa muy bien todo lo que pones en la función, yo así ya no me acuerdo donde tiene qué . Mejor aún, ¡imprima las huellas!
 

No... Por supuesto, ahora he declarado la función como int... Pero ahora...

'errorcomment' - expression on global scope not allowed C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Contructor.mq4 (80, 11)

¿Qué es, dónde busco?

Razón de la queja: