[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 319

 

Recuérdame la situación

Por favor, asesórese en lo siguiente:

1.hay una función "if (timecur == "08:00:00") OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);"

2.Probándolo desde el 23.08.2010-23.10.2010.

3.Hasta el 12.10.2010 las operaciones se abrieron normalmente por 1 pc.

4.Pero ahora la función 12.10.2010 abre tantas transacciones como permite el depósito (unos 7 pc).

No puedo entender la razón, puede ser que para un segundo tiene tiempo para pasar por lo menos 5 garrapatas y por lo tanto tiene tiempo para abrir tanto? o hay otra cuestión? si todo lo mismo primera opción, por favor, aconsejar cómo prescribir el acuerdo abrió una sola vez?

Se lo agradecería mucho, gracias.

 
La forma más sencilla de hacerlo es comprobar que hay un número determinado de órdenes en el mercado antes de abrir una nueva orden.
 
Boneshapper:

Recuérdame la situación

Por favor, asesórese en lo siguiente:

1.hay una función "if (timecur == "08:00:00") OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);"

2.Probándolo desde el 23.08.2010-23.10.2010.

3.Hasta el 12.10.2010 las operaciones se abrieron normalmente por 1 pc.

4.Pero ahora la función 12.10.2010 abre tantas transacciones como permite el depósito (unos 7 pc).

No puedo entender la razón, puede ser que para un segundo tiene tiempo para pasar por lo menos 5 garrapatas y por lo tanto tiene tiempo para abrir tanto? o hay otra cuestión? si todo lo mismo primera opción, por favor, aconsejar cómo prescribir el acuerdo abrió una sola vez?

Se lo agradecería mucho, gracias.

Aquí hay una función sencilla que comprueba el número de órdenes abiertas:

 int Opened(){
     int Orders=0;
     for (int cnt=OrdersTotal()-1; cnt>=0; cnt--){
       if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()==Symbol()){
           if(OrderMagicNumber()==Magic){
               if(OrderType()<2)Orders++;
      } } } }       
  return(Orders);
} 

La función Opened() debería estar situada fuera de la función start(). Puede estar al final del código.

Introdúzcalo en su estado:

if (timecur == "08:00:00" && Opened()==0) OrderSend (Symbol(), OP_BUY, Loot, Ask, 50, SL, TP,NULL,0,0,L);
 
DhP:

Esta es una función sencilla para comprobar el número de órdenes abiertas:

Inserte en su condición:


Sí, realmente me ayudó, pero es que voy a abrir varios pedidos, y no deben estar relacionados entre sí. Me gustaría limitar la apertura de un acuerdo con una determinada bandera, y eso es todo.

Lo escribí así

int Control;

if ((timecur == "08:00:00") && (Control == 0)) OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,0,0,L);
Alert(GetLastError());
Control = 1;

Y el cero se devolvió sólo cuando cerré el pedido

OrderClose(Ticket,Loot,Bid,50,R);
Alert (GetLastError());
Control = 0;

Pero por qué esta entrada no ayudó. ¿Tal vez me equivoqué en alguna parte?

 
Boneshapper:


Sí, me ha servido de mucho, pero es que voy a abrir varias órdenes, y no deberían estar relacionadas entre sí. Me gustaría limitar la apertura de una operación con una determinada bandera y ya está.

Lo escribí así

int Control;

if ((timecur == "08:00:00") && (Control == 0)) OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,0,0,L);
Alert (GetLastError());
Control = 1;

Y el cero se devolvió sólo cuando cerré el pedido

OrderClose(Ticket,Loot,Bid,50,R);
Alert (GetLastError());
Control = 0;

Pero por qué esta entrada no ayudó. ¿me equivoco en algo? ¿pueden ayudarme, por favor?

Puedes "desmenuzar" la función como quieras. Puede cumplir todos sus deseos.

Por ejemplo, puede especificar qué tipo de operaciones le interesan o qué magias, o introducir una condición de tiempo de apertura de la posición y muchas más.

Este es un ejemplo de separación en Compra y Venta:

 int Opened(int OP){
     int Orders=0;
     for (int cnt=OrdersTotal()-1; cnt>=0; cnt--){
       if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()==Symbol()){
           if(OrderMagicNumber()==Magic){
               if(OP==OP_BUY)Orders++;
               if(OP==OP_SELL)Orders++;
      } } } }       
  return(Orders);
 } 

Nuestras posibilidades sólo están limitadas por nuestra imaginación. Seguramente tendrá éxito.

 
DhP:

Puedes "desmenuzar" la función como quieras. Puede cumplir todos sus deseos.

Por ejemplo, puede especificar qué tipo de operaciones le interesan, o qué MAGICs, o introducir una condición de tiempo de apertura de la posición y mucho más.

Este es un ejemplo de separación en Compra y Venta:

Nuestras posibilidades sólo están limitadas por nuestra imaginación. Sé atrevido y funcionará.


Lo probaré, ¡muchas gracias!
 

Por cierto, sobre las banderas.

Puede utilizar los distintos indicadores como sistema de relevo para alternar las acciones de las distintas operaciones. Son muy capaces de satisfacer cualquiera de sus deseos.

Pero es importante tener una idea clara de qué y cómo quieres que funcione.

Al igual que en un nudo ferroviario, hay que tener claro cómo funcionan las agujas.

 

Queridos profesionales, ¿pueden decirme... Tengo un script para trazar mis cálculos en un gráfico. Para empezar a dibujar, tengo que arrastrarlo y soltarlo en la carta desde el navegador. Mi pregunta, ¿es posible hacer que el script sea llamado desde el panel "Graphic Tools" pulsando una tecla (propia, o asignada a una de las existentes)?

 
kon12:

Queridos profesionales, díganme... Tengo un script para trazar mis cálculos en un gráfico. Para empezar a dibujar, tengo que arrastrarlo y soltarlo en la carta desde el navegador. Pregunta - ¿Es posible hacer que el script sea llamado desde el panel de "Estudios de Línea" presionando una tecla de acceso rápido (propia, o asignada a una de las existentes)?


Teclas de acceso rápido

Las teclas de acceso rápido (teclas aceleradoras) son teclas y combinaciones de teclas que permiten ejecutar rápidamente varios comandos sin tener que utilizar los menús o los paneles de control.

  • " ï " - desplazamiento del gráfico hacia la izquierda;

  • " ð " - gráfico que se desplaza hacia la derecha;

  • " ñ " - desplazamiento rápido del gráfico hacia la izquierda; en caso de escala fija - desplazamiento del gráfico hacia arriba;

  • ð " " - desplazamiento rápido del gráfico hacia la derecha, y en caso de escala fija - desplazamiento del gráfico hacia abajo;

  • Numpad 5 - Restablecer la escala vertical automática del gráfico después de haberla cambiado. Y en el caso de la escala fija - devolver el gráfico a los límites de la vista;

  • Avance de página - Desplazamiento rápido del gráfico hacia la izquierda;

  • Avance de página: desplazamiento rápido del gráfico hacia la derecha;

  • Inicio - mover el gráfico al principio;

  • Fin - mover el gráfico al final;

  • "-" - alejar el gráfico;

  • "+" - ampliar el gráfico;

  • Borrar: elimina todos los objetos gráficos seleccionados;

  • Retroceso: elimina los últimos objetos de la ventana del gráfico;

  • Introducir - abrir/cerrar la ventana de navegación rápida;

  • Esc - cerrar las ventanas de diálogo;

  • F1 - abrir esta ventana "Guía del usuario";

  • F2 - abrir la ventana "Archivo de citas";

  • F3 - abre la ventana "Variables globales";

  • F4 - carga el MetaEditor;

  • F6 - llama a la ventana "Tester " para probar el Asesor Experto unido a una ventana de gráfico;

  • F7 - llamar a la ventana con las propiedades del Asesor Experto adjunta a la ventana del gráfico para cambiar los ajustes

  • F8 - llama a la ventana "Ajustes del gráfico";

  • F9 - llama a la ventana de "Nueva Orden".

  • F10 - abre la "ventana de citas";

  • F11 - activar/desactivar el modo de pantalla completa;

  • F12 - Desplazar el gráfico una barra a la izquierda;

  • Shift+F12 - desplaza el gráfico una barra hacia la derecha;

  • Mayúsculas+F5 - cambiar al perfil anterior;

  • Alt+1 - mostrar el gráfico como una secuencia de barras (convertirlo en un gráfico de barras);

  • Alt+2 - mostrar el gráfico como una secuencia de velas japonesas (transformarlo en un gráfico de velas);

  • Alt+3 - mostrar el gráfico como una línea discontinua (convertirlo en un gráfico de líneas);

  • Alt+A - copia todos los resultados de las pruebas o de la optimización del Asesor Experto al portapapeles;

  • Alt+W - llama a la ventana de gestión del gráfico;

  • Alt+F4 - cerrar el terminal del cliente;

  • Alt+Retroceso o Ctrl+Z - cancela la eliminación del objeto;

  • Ctrl+A - establece la altura por defecto de todas las ventanas del indicador;

  • Ctrl+B - llama a la ventana "Lista de objetos";

  • Ctrl+C o Ctrl+Insertar - copiar al buffer;

  • Ctrl+E - activar/desactivar el uso del Asesor Experto;

  • Ctrl+F - activar/desactivar "Crosshair";

  • Ctrl+G - mostrar/ocultar la cuadrícula;

  • Ctrl+H - mostrar/ocultar la línea OHLC;

  • Ctrl+I - llama a la ventana "Lista de indicadores";

  • Ctrl+L - mostrar/ocultar volúmenes;

  • Ctrl+P - imprimir el gráfico;

  • Ctrl+S - guardar el gráfico en un archivo con extensiones "CSV", "PRN", "HTM";

  • Ctrl+W o Ctrl+F4 - cerrar la ventana del gráfico;

  • Ctrl+Y - mostrar/ocultar los separadores de puntos;

  • Ctrl+Z o Alt+Retroceso: cancela la eliminación de un objeto;

  • Ctrl+D - abrir/cerrar la "ventana de datos";

  • Ctrl+M - abrir/cerrar la ventana "Market Watch";

  • Ctrl+N - abrir/cerrar la ventana del" Navegador";

  • Ctrl+O - abrir/cerrar la ventana de " Configuración";

  • Ctrl+R - abre/cierra la ventana" Probador";

  • Ctrl+T - abrir/cerrar la ventana" Terminal";

  • Ctrl+F5 - pasar al siguiente perfil;

  • Ctrl+F6 - activar la siguiente ventana de gráfico;

  • Ctrl+F9 - abre la ventana "Terminal - Comercio" y cambia el foco de control allí. A continuación, podrá gestionar la actividad comercial mediante el teclado.

Es posible asignar teclas de acceso rápido para llamar a cualquier elemento de la ventana "Navegador", excepto a los elementos del grupo "Cuentas". Para asignar un acceso directo a un elemento, hay que ejecutar el comando "Asignar tecla de acceso rápido" de su menú contextual. Las teclas de acceso rápido asignadas tienen mayor prioridad que las predefinidas. Por ejemplo, inicialmente Ctrl+O corresponde a la llamada de la ventana de configuración del terminal. Si el indicador de volumen de balance también se puede asignar a esta combinación, al pulsar Ctrl+O no se abrirá la ventana de configuración del terminal.

 
Vinin:

Teclas de acceso rápido

Las teclas de acceso rápido (teclas aceleradoras) son teclas y combinaciones de teclas que permiten ejecutar varios comandos rápidamente sin tener que utilizar los menús o los paneles de control.


No me expresé con precisión. Pregunta - ¿Es posible hacer que un script sea llamado desde el panel de "Herramientas gráficas" haciendo clic en un icono (por ejemplo, el icono de Fibo)?
Razón de la queja: