[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 74

 
Figar0 >> :

¿Qué es este diseño?

Sí, ya lo descubrí. Lo pasé por la prueba.

>> está claro que acabo de eliminar el valor del indicador, ¿cuál es la confusión?

 
1Rakso писал(а) >>

Ya me lo imaginé, lo pasé por la prueba.

Está claro que acabo de eliminar el valor del indicador, ¿a qué se debe la confusión?

No está claro lo que es, ¿cómo se puede responder si se entiende lo que se pregunta?

Si no sabe lo que es, puede utilizarlo porque no sabe con qué comparar la oferta. Es correcto.

 
anat >> :



Me pueden decir cómo insertar una condición en esta construcción if(iSAR(NULL,0,step0,0.1,0)<Close[0]), lo que significa que si, por ejemplo, las posiciones de compra están abiertas, entonces las posiciones de venta no se abren hasta que todas las posiciones de compra estén cerradas. En otras palabras, un ciclo de negociación, compramos 3 posiciones, esperamos hasta que se cierren las tres. Las posiciones se cierran sólo con Stop Loss o Take Profit. Se cierran todas las posiciones, se espera la señal, se obtiene una señal, se compran o venden (según la señal) 3 posiciones, etc. Se han estudiado las "Funciones útiles de KimIV". Puede utilizar las funciones CountOrders(), ExistOrders(), ExistPositions(). Pero, ¿cómo se insertan en la práctica? La construcción if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) no funciona. Entiendo que tengo que insertar una variable lógica, pero ¿cómo lo hago en la práctica? No entiendo algo.


Lee todo el hilo. He encontrado la solución: encerrar todo el código entre llaves y escribir if (OrdersTotal( ) == 0) antes de ellas. Crudo, pero funciona. Me gustaría utilizar variables bool para abrir cualquier número de órdenes, guiado por una condición if (OrdersTotal() >=maxOpen) return;
 
anat >> :
He leído toda la rama. La solución es la siguiente: encierre todo el código entre llaves y antes de ellas escriba if (OrdersTotal( ) == 0). Crudo, pero funciona. Me gustaría utilizar variables bool para abrir cualquier número de órdenes, basado en la condición if (OrdersTotal() >=maxOpen) return;

Si desea separar Total_sell y Total_buy, intente utilizar la función

int CalcularOrdenesActual(cadena símbolo) from SimpleMACD

int CalculateCurrentOrders(int Type)// OP_BUY , OP_SELL
  {
   int buys=0;
//----
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() )
        {
         if(OrderType()== Type)  buys++;
        }
     } return( buys);
  }
 
Por favor, dígame qué función devuelve la hora de cierre de la vela actual.
 
Diver-si >> :

No son estrategias, es sólo una suposición para comprobar. Por cierto, ¿por qué el EA no hace operaciones? No entiendo por qué.

>> No lo sé. Lo he hecho funcionar en el probador y ha funcionado. Tal vez te equivocaste con los parámetros. O tal vez no marcó la casilla de verificación para permitir que el EA opere. Y el tiempo de un TF mayor se establece en minutos! es decir, en la variable TFUP hay que especificar no m5 sino 5, no m30 sino 30, no H1 sino 60, etc.

 
gmMarat писал(а) >>
Por favor, dígame qué función devuelve la hora de cierre de la vela actual.

¿Cuál es la hora de cierre de la vela actual? La vela actual aún no está cerrada, de lo contrario ya no es actual, podemos asumir que este tiempo es aproximadamente Tiempo[0]+Periodo()*60

 
Figar0 >> :

¿Cuál es la hora de cierre de la vela actual? La vela actual aún no está cerrada, de lo contrario ya no es actual, podemos asumir que este tiempo es aproximadamente Tiempo[0]+Periodo()*60

Figar0 gracias, eso es lo que necesitaba

 
¿Cómo determinar el valor de un pip en una operación de un lote? Me aconsejaron utilizar la fórmula MarketInfo(Symbol(),MODE_LOTSIZE)*Punto, pero es absolutamente errónea. Devuelve 100000$*0,001=100$ para el USDJPY, que en realidad es un dólar, como para la mayoría de los símbolos.
 
Цена 1 пункта для стандартного лота:
 
 double ad.QuotePoint   = MarketInfo ( Symbol () , MODE_POINT     )      ;
double ad.QuoteTick    = MarketInfo ( Symbol () , MODE_TICKSIZE  )      ;
double ad.NominalTick  = MarketInfo ( Symbol () , MODE_TICKVALUE )      ;

double ad.NominalPoint = ad.NominalTick  * ad.QuotePoint / ad.QuoteTick ; // Цена 1 пункта для стандартного лота
Цена 1 пункта для ордера известного размера "ad.OrderSize":

double ad.OrderPoint   = ad.NominalPoint * ad.OrderSize                 ;
Razón de la queja: