¿Un error en la función OrderSend()? - página 2

 
hoz:


A juzgar por el registro, es cierto. Pero si lo ejecutas en el probador con la misma configuración, entonces las pausas no se establecen correctamente de forma periódica, lo que ya he dicho... Eso es lo que escribí. He leído el registro, todo está bien y claro... Mirando la captura de pantalla... (Cuando miro el gráfico,me doy cuenta de que la entrada de compra es algo más baja que la entrada de compra... Esto es contrario a la condición.

Pero también es extraño que no lo haya notado en M5, PERO sí se ha notado que se pierden algunas entradas.

Si nos fijamos en el dibujo, veremos que la barra de tiro está en el plano, ¡mientras que en las inversiones no podemos cogerla!
 
borilunad:

Victor, necesitas estudiar los indicadores y los métodos para usarlos en tu EA. Porque me parece que quieres algo que no sabes ejecutar.

Los he estudiado, ¿no? Simplemente quiero que el precio se establezca más bajo (más alto) que el gráfico dibujado en el precio de apertura o cierre o no importa. No hay ninguna diferencia, porque si tomas una barra con índice 1, ya se ha formado y su valor no cambia más... Si el indicador no se redibuja, da igual cómo se dibuje (aunque entiendo cómo se calcula, porque estuve atento a ello y es sencillo). Al fin y al cabo, su valor en los bares anteriores ya está ahí, y puedes conseguirlo, cosa que yo hice.

borilunad:

Y otra cosa, no hay que estar tan "colgado" de unas condiciones muy estrictas, porque seguro que el precio no se comporta como uno quiere en la mitad de los casos. Así que hay que analizar las opciones de lo que se hará en los peores casos.

Boris, que en un mercado real puede haber diferentes opciones y no siempre se cumplen las condiciones... ¡SI! Lo entiendo. Pero si las condiciones no se cumplen en el probador, es raro en absoluto. En el probador NO hay requotes, NO hay errores relacionados con la ocupación del flujo comercial, etc. Lógicamente todas las órdenes deben ser perfectamente ejecutadas.

En el probador, si todas las órdenes funcionan perfectamente, entonces ya puedo pensar cómo se comporta la estrategia idealmente. Y luego tomar las decisiones adecuadas en función de las estadísticas.

Pero si ni siquiera en el Probador de Estrategias podemos ejecutar la estrategia, y ésta miente descaradamente en cada paso, ¿entonces qué? ¿Huir de esta plataforma y no mirar atrás? ¿Buscar otras formas?

Realmente quiero escribir un bot sensato, tengo mis propias estrategias, que están llenas de mis enfoques y observaciones. Algo ya se ha escrito, algo se está probando en la vida real, algo se ha ejecutado en el probador, y todo funciona. La mayoría de las veces escribí EAs sobre la base de las varitas, pero las entradas no se basaron en las varitas.

He decidido utilizar las lecturas de mis varitas para entrar en el mercado, y he renacido. No puedo conseguir entradas estables, se saltan, se introducen a precios erróneos en alguna parte. No creo que sea apropiado decir que no debo confiar en los índices, porque el ordenador tiene una serie de valores determinados, y deben funcionar correctamente.

Ya he justificado todo y, por cierto, he enviado la pregunta a sysop. Hasta ahora no he escuchado una respuesta inteligible...

borilunad:

Francamente, sigo sin entender por qué es tan importante para ti entrar en este bar y no en el otro. En mi opinión, lo principal es identificar y utilizar la tendencia iniciada en el tiempo, y no un punto de entrada determinado. Pruebe y compare diferentes Mashkas, y luego aprenda a utilizarlos como filtros de entradas no deseadas y no como señales de entrada, que a menudo fallan, ¡y otros indicadores no son mejores!

Boris, si lo miras así, no importa realmente dónde entres :) Puedes entrar en algún sitio y buscar entradas y ni siquiera de forma espontánea. Mi respuesta es sencilla. Hay ciertas condiciones. Si algo no se ha cumplido en la vela actual, entonces deja que los demás operen... Yo esperaré... No persigo la tendencia, la sigo. Ni siquiera voy a escribir otro grial para cierta parte de la historia.

Si pensamos que las entradas según la estrategia no siempre se observarán incluso en el TF H1, ¿qué decir de los TFs inferiores? Al fin y al cabo el H1 no es un minuto, ni un 5 minutos. En TF H1 el Asesor Experto tiene mucho tiempo para "pensar", especialmente en el probador ... Así que esta no es la cuestión.

 
borilunad:
Hay que tener en cuenta que sólo en el plano Mashka se pega a las barras, ¡y no se puede coger en las extensiones!

No importa :) Mi entrada será diferente. Esto es sólo un pequeño truco, que tengo que dominar. Más adelante se complicará.
 
hoz:

No importa :) Mi entrada será diferente. Es un pequeño truco que hay que dominar. Más adelante, la cosa se complicará.
Y lo más importante es que tengas persistencia, la verdad es que probablemente te falte paciencia y flexibilidad, ¡pero con el tiempo conseguirás lo que quieres! Buena suerte.
 
tal vez probar los precios de apertura, especialmente en los horarios...
 
YOUNGA:
tal vez probar en los precios de apertura, especialmente en los ticks...
Por supuesto, ¡mejor en las garrapatas! La imagen será más plausible.
 
borilunad:
¡Y lo más importante, que tengas persistencia, la verdad es que probablemente te falte paciencia y flexibilidad, pero con el tiempo conseguirás lo que quieres! Buena suerte.


Gracias. Por cierto, hace poco me lo dijo un conocido... un corredor de bolsa :) Dijo que yo era muy terco y demasiado confiado. No tengo otra opción, sólo tengo que terminar lo que empecé, de lo contrario no pasará nada.

YOUNGA:
puedes probar los precios de apertura, especialmente en los horarios...


Parece que algunas pepitas de más se "comen" en alguna parte o algo así. Aumentando la sangría a 15, todo empezó a fijarse donde no estaba fijado. Con menos sangría no en todas partes...

Esto es lo que pienso. Tengo que pensar en una manera de hacer que los puntos de interrupción aparezcan al probar un Asesor Experto, si se cumplen algunas condiciones.. Ya lo he hecho cuando se envía una orden o se produce un error, es decir, no se envía a ningún sitio, pero qué condición poner para "pillar" el momento en el que no se abre la orden, donde pensaba que estaba, ... eso ya es interesante. Por supuesto, podemos hacerlo por tiempo, pero no es la mejor opción.

 

static datetime lastBarTime = 0; // Última hora de cálculo

Elimine esta línea del inicio y añada la declaración correspondiente a la sección global.

A continuación, puede repetir la serie de interruptores TF, preferiblemente en la misma secuencia que antes.

Sí, también añadir en init: lastBarTime = 0;

 
bool OpenSell()
{
   int ticket = -1;
   double OOP = fastMa - SellHear * pt;               // Получаем значение цны открытия
   
   if ((Bid - ND(OOP)) >= g_stopLevel)                // Проверка цену открытия на стоплевел
   {
       if (ND(OOP) < Bid)           // Проверка что цена открытия ниже Bid, т.к. у нас вход отложенником
       {
           Print("Bid = ", Bid);
           Print("Ask = ", Ask);
           Print("fastMa = ", fastMa);
           Print("Цена покупки = ", fastMa + buyHear * pt);
           Print("i_thresholdFromMa * pt = ", i_thresholdFromMa * pt);
           ticket = OrderSend(Symbol(), OP_SELLSTOP, 0.1, ND(OOP), 3, 0, 0, NULL, i_magic, 0);
       }
   }
   if (ticket < 0)  <------ это как понимать? если ордер не установлен, то вернуть true, в функции bool OpenBuy() почему-то наиборот, где правильно????
   {
       return (true);
   }
   else
    
   Alert (GetLastError());
}
int GetStateMa(double fastMa, double slowMa)
{
   if (fastMa > slowMa)                          // Если условия выполнены, то..
       return (MA_DIRECT_TO_UP); <--здесь вверх  // ..машки направлены вниз <-- а здесь
   
   if (fastMa < slowMa)                          // Если условия выполнены, то..
       return (MA_DIRECT_TO_DOWN);  <---         // машки направлены вверх  <---
   if (fastMa = slowMa)
       return (MA_DIRECT_TO_NONE);              // Машки не имеют выраженного направления
}
и вообще весь код какой-то "Олбанский"
 
pako:
El albanés no está prohibido:)