[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 171
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Hola a todos, ¡escribí un EA! En el probador, todo funciona, pero en la cuenta real, ¡se niega a abrir posiciones! Tenga en cuenta que cierra muy bien las posiciones abiertas manualmente, pero, precisamente para abrir, no quiere ... ¿Qué hacer?
CÓDIGO:
//+------------------------------------------------------------------+//| DOKTRADE.mq4 ||
//| DOKSTER@YANDEX.RU |
//| DOKSTER@YANDEX.RU |
//+------------------------------------------------------------------+
#property copyright "DOKSTER@YANDEX.RU"
#enlace de propiedad "DOKSTER@YANDEX.RU"
extern double LOT = 0.01; // LOTES
extern double KOF = 2;
extern double SAF = 5;
extern int FRC = 21;
int inicio()
{
int CNT;
int TOTAL;
int SPREAD;
doble SPR;
doble SPRW;
doble FRCU;
doble FRCU; doble FRCD;
doble EMAH;
doble EMAM;;
doble EMAL; doble EMAL;
doble OPEN;
doble cierre;
doble DFB;
doble DFS;
EMAH = iMA(NULL,0,34,8,MODE_SMA,PRICE_HIGH,1);
EMAM = iMA(NULL,0,34,8,MODE_SMA,PRICE_MEDIAN,1);
EMAL = iMA(NULL,0,34,8,MODE_SMA,PRICE_LOW,1);
OPEN = iOpen(NULL,0,1);
CLOSE = iClose(NULL,0,1);
FRCU = High[iHighest(NULL,0,MODE_HIGH,FRC,1)];
FRCD = Low[iLowest(NULL,0,MODE_LOW,FRC,1)];
DFB = (CLOSE-FRCD);
DFS = (FRCU-CLOSE);
SPR = MarketInfo(Symbol(),MODE_SPREAD);
SPRW = (SPR*Punto);
TOTAL = OrdersTotal();
if(TOTAL<1)
{
{ si (OPEN<EMAH&&CLOSE>EMAH)
OrderSend(Symbol(),OP_BUY,LOT,Ask,3,FRCD-(SAF*Point),CLOSE+(DFB*KOF), "DOKTRADE",15775,0,Green);
si (OPEN>EMAL&&CLOSE<EMAL)
OrderSend(Symbol(),OP_SELL,LOT,Bid,3,FRCU+((SAF*Point)+SPRW),CLOSE-(DFS*KOF), "DOKTRADE",15885,0,Red);
return(0);
}
}
for(CNT=0;CNT<TOTAL;CNT++)
{
OrderSelect(CNT,SELECT_BY_POS,MODE_TRADES);
{
if (OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
si (OPEN>EMAL&&CLOSE<EMAL)
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
return(0);
}
if (OrderType()==OP_SELL && OrderSymbol()==Symbol())
{
si (OPEN<EMAH&&CLOSE>EMAH)
OrderClose(OrderTicket(),OrderLots(),Ask,3,Blue);
return(0);
}
}
}
}
¡Buenas tardes!
Chicos, por favor, ayudadme a saber en qué me estoy equivocando. Tengo el indicador Aroon Up&Dn.
Estoy tratando de ponerlo en mi Asesor Experto... No quiere abrir órdenes:
Hola a todos, ¡he escrito un EA! En el probador, todo funciona, pero en la cuenta real, ¡se niega a abrir posiciones! Tenga en cuenta que cierra muy bien las posiciones abiertas manualmente, pero, precisamente para abrir, no quiere ... ¿Qué debo hacer?
En primer lugar, mira los errores en el registro... Para los parámetros de precio al enviar la orden es muy recomendable NormalizeDouble.
Para empezar, fíjate en los errores del cuaderno de bitácora... Para los parámetros de precio al enviar una orden es muy recomendable NormalizeDouble.
Puede ir a https://docs.mql4.com/ru/array/ArrayMaximum
en una matriz de Alto.
¡Buenas tardes!
Chicos, por favor, ayudadme a saber en qué me estoy equivocando. Tengo el indicador Aroon Up&Dn.
Estoy tratando de ponerlo en mi Asesor Experto... No quiere abrir órdenes:
Creo que debido a esto
si (Volumen[0]>1) retorno;
Gracias por el consejo, pero si puedes ser más específico... Porque el registro no muestra nada aparte de la sincronización. Por favor, aconséjeme, ¿puede haber algo que añadir en alguna parte? Sí, y cierra normalmente... Es decir, al cerrar todo funciona...!
En realidad, es una tontería hacer esas preguntas a un escritor experto :) Si quiere comprobar las posiciones de comprobación y los valores límite para ver si están cerca del precio de apertura, probablemente aprenderá un par de cosas sobre la gramática china.
Creo que es por eso.
si (Volumen[0]>1) retorno;
No, no es eso.
Gracias a todos, lo tengo. Funcionó