[¡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 472

 
StatBars >>:

Вы не моглы бы весь скрипт выложить? Я имею ввиду вместе с объявлениями переменных массивов и т.д.

Aquí está el script, he comprobado que funciona, se lee bien tanto en la barra lateral como en la doble.

Archivos adjuntos:
 
En definitiva, soy un desastre decente, ¡qué puedo decir!
El especialista me dijo inmediatamente que mirara las matrices, no las conversiones de tipo...

StatBars, Vinin, todos los que han respondido, muchas gracias.

El problema era que mis arrays eran dinámicos. Y ahí hay una cierta especificidad de conversión de tipos.
se ajustó a arrays de longitud determinista, y la conversión de tipos con StrToDouble funcionó como un reloj.

Muchas gracias de nuevo.
Trabajar con archivos es algo muy útil
. Estoy tratando de entenderlo ahora.
 
Bicus >>:
Джентльмены, вопрос такой:

В тестере вот такая штука:

в журнале выдает "0.0000".

А в терминале в реал-тайме выдает правильные значения.

Как с этим бороться?

А?

 
Bicus писал(а) >>

А?


>> pon el código, y dame todos los detalles.
 
Techno >>:

выкладывай код, и все подробней

double nMAValue;

... парам-парам ...

nMAValue = iMA (Symbol (), PERIOD_H1, 100, 0, MODE_SMA, PRICE_MEDIAN, 0); 
Print ("MA value: ", DoubleToStr (nMAValue, 4));

... парам-парам ...
 
Bicus писал(а) >>

A mí me funciona correctamente, el valor en el probador es correcto. aquí está el código si acaso, probablemente tienes un error en el resto del código en alguna parte
Archivos adjuntos:
001.mq4  1 kb
 

Vinin, Bicus.
Gracias por la actualización del .csv.
He estado un poco... ...mezclado).

 
Estimados señores, he encontrado un problema con la función OrderSend, concretamente mi pedido no se abre.
Por ejemplo, si adjunto este EA a un gráfico -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
double SL,TP;
string Symb;
int start()
{
Symb=Symbol();
SL =Bid - (StopLoss*Point);
TP =Bid + (TakeProfit*Point);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Orden de compra abierta");
if(OrdersTotal()==0) Alert("Orden de compra fallida porque.error #",GetLastError());
Alert("Punto = ",Punto);
return;
}
el terminal mostrará el error #130 (paradas erróneas) y el valor del Punto será 0.
Creo que es por el valor de los puntos devueltos (aunque quién sabe).
En general, quien sabe "dónde está enterrado el perro" ayuda.
Por cierto, ¿el valor del Punto = 0 o no?
Archivos adjuntos:
 
159753 писал(а) >>
Estimados señores, he encontrado un problema con la función OrderSend, concretamente mi pedido no se abre.
Por ejemplo, si adjunto este EA a un gráfico -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
doble SL,TP;
cadena Symb;
int inicio()
{
Symb=Símbolo();
SL =Oferta - (StopLoss*Punto);
TP =Bid + (TakeProfit*Punto);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Orden de compra abierta");
if(OrdersTotal()==0) Alert("La orden de compra no pudo abrirse debido al error #",GetLastError());
Alert("Punto = ",Punto);
volver;
}
entonces el terminal mostrará el error #130 (paradas erróneas) y el valor del Punto será =0.
Creo que es por el valor de los puntos devueltos (aunque quién sabe).
En general, quien sabe "dónde está enterrado el perro" ayuda.
Por cierto, ¿el valor del Punto = 0 o no?


Todo funciona bien. Al menos para mí
Archivos adjuntos:
 
159753 >>:
Уважаемые господа, я столкнулся с проблемой, связанной с функцией OrderSend, а именно у меня не открывается ордер.
К примеру, если присоединить этот советник к графику -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
double SL,TP;
string Symb;
int start()
{
Symb=Symbol();
SL =Bid - (StopLoss*Point);
TP =Bid + (TakeProfit*Point);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Ордер Buy открыт");
if(OrdersTotal()==0) Alert("Ордер Buy открыть не удалось т.к. возникла ошибка №",GetLastError());
Alert("Point = ",Point);
return;
}
то терминал выдаст ошибку № 130 (неправильные стопы), а значение Point будет = 0.
Я думаю, что всё из-за возвращаемого значения Point (хотя кто его знает).
В общем кто знает "где собака зарыта " помогите.
Кстати, значение Point должно = 0 или нет?

El punto no puede ser 0, probablemente tienes el 5º dígito, así que cuando imprimes (Alert) obtienes 0 (print (Alert) emite hasta 4 tsnacks, a menos que lo conviertas en una cadena DoubleToStr...)
pruebe el TakeProfit y el StopLoss multiplicados por 10