[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 24

 
WindSW:

A través de la impresión

Pruebe este diseño

double xDelH[1][1];
double HBar[1][1];

int countDH=0;
HBar[countH][0]=1.23456;

xDelH[countDH][0]=HBar[countH][0];

Print("HBar=",DoubleToStr(HBar[countH][0],3),"  xDelH=",DoubleToStr(xDelH[countDH][0],4));
// распечатается: HBar=1.234  xDelH=1.2345

Vea cómo funciona para usted.

 
Dimka-novitsek:
Sí, ¡¡¡gracias!!! Fui yo quien vino directamente de la calle al ordenador y me confundí completamente.

¡Dimitri! Un par de consejos para ti. Primero el código (intenta captar la diferencia):

//---- Константы
#define MAGIC 450
//---- Внешние переменные советника
extern int StopLoss   = 25;
extern int TakeProfit = 30;
//---- Глобальные переменные
double gd_TP, gd_SL;
int init()
{
    gd_TP = TakeProfit * Point;
    gd_SL = StopLoss * Point;
}
//---- Здесь какая-то пользовательская функция или start()
    if (Svetsja_1) if (!Svetsja_2) if (!Svetsja_3) if (!Orderbuy)
    {
        //стоп лосс 25 п. профит 30 п;стоп лосс 25 п. тралится по MA 20    
        double ld_TP, ld_SL;
        RefreshRates();
        if (TakeProfit != 0.0) ld_TP = NormalizeDouble (Bid + gd_TP);
        if (StopLoss != 0.0) ld_SL = NormalizeDouble (Bid - gd_SL);
        int li_Ticket = OrderSend (Symbol(), OP_BUY, lot, NormalizeDouble (Ask, Digits), 5, ld_SL, ld_TP, NULL, MAGIC, 0, CLR_NONE);
        if (li_Ticket > 0)
        {  
            Sleep (2000); RefreshRates(); 
            li_Ticket = OrderSend (Symbol(), OP_BUY, lot, NormalizeDouble (Ask, Digits), 5, ld_SL, ld_TP, NULL, MAGIC, 0, CLR_NONE);
            if (li_Ticket > 0) Orderbuy = 1;
            else
            {
                Error = GetLastError();
                string errorcomment = "Ошибка открытия ордера OP_BUY" + " " + Symbol() + " " + ErrorDescript (Error); 
                Print (errorcomment);
            }
        }
    }

¿Qué ha notado de diferente? - Enumérelo, y entonces formularé un consejo (si le interesa, por supuesto). ;)

 
¡¡¡¡¡¡¡Muchas gracias!!!!!!! He refrescado la página y lo he visto. Mi hermano llegará pronto, le informaré más tarde.
 
Por favor, aconsejar lo que es el error de la GBPUSD,H1: cero dividir
 
Frostr:
Por favor, aconsejar lo que es el error de la GBPUSD,H1: cero dividir


División por cero.
 
Frostr:
Por favor, aconsejar lo que es el error de la GBPUSD,H1: cero dividir


Sobre todo si en el probador se intentan utilizar valores de otros gráficos. Por ejemplo, si prueba el Asesor Experto en EURUSD, pero intenta tomar los datos del indicador de algún otro gráfico...
 

No entiendo qué pasa, esto nunca había sucedido. Llamo a iCustom() para las lecturas del indicador y como resultado mi Asesor Experto escribe que no puede abrir el archivo del indicador.

Este es el código que he utilizado, que siempre ha funcionado:

#property show_inputs
// ------------- Пользовательские переменные ------------------------
extern string   с1=" -------- Rad Has -------------";
extern string   IndiRadHas_Name="Rad_Has";
extern int                      MaMetod  = 2;
extern int                      MaPeriod = 6;
extern int                      MaMetod2  = 3;
extern int                      MaPeriod2 = 2;

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
  // -------------- Пользовательские переменные -------------------
        string  SMB=Symbol();

        Alert("======================================");
        // --------------- инициализируем значения индикатора RadHas -----------------------------------
                double RadHas_0_1=iCustom(SMB,0,IndiRadHas_Name,MaMetod,MaPeriod,MaMetod2,MaPeriod2,0,1);
                double RadHas_1_1=iCustom(SMB,0,IndiRadHas_Name,MaMetod,MaPeriod,MaMetod2,MaPeriod2,1,1);
                double RadHas_2_1=iCustom(SMB,0,IndiRadHas_Name,MaMetod,MaPeriod,MaMetod2,MaPeriod2,2,1);
                double RadHas_3_1=iCustom(SMB,0,IndiRadHas_Name,MaMetod,MaPeriod,MaMetod2,MaPeriod2,3,1);
                //RadHas_0_1=NormalizeDouble(RadHas_0_1,Digits);
                //RadHas_1_1=NormalizeDouble(RadHas_1_1,Digits);
                //RadHas_2_1=NormalizeDouble(RadHas_2_1,Digits);
                //RadHas_3_1=NormalizeDouble(RadHas_3_1,Digits);
        Alert("RadHas_0_1 = ",RadHas_0_1);
        Alert("RadHas_1_1 = ",RadHas_1_1);
        Alert("RadHas_2_1 = ",RadHas_2_1);
        Alert("RadHas_3_1 = ",RadHas_3_1);
        Alert("============== Скрипт 0 на паре ",SMB," ==============");
return(0);

}
//+------------------------------------------------------------------+
El indicador está unido al poste. ¿Por qué cree que el archivo del indicador no se abre?
Archivos adjuntos:
rads_has.mq4  6 kb
 
Se me olvidó decirte que la construcción del terminal es de 445
 
drknn:
Se me olvidó decirte que la construcción del terminal es de 445

¿Se permite llamar a expertos externos en la configuración?
 
rigonich:

¿Están permitidas las llamadas de Asesores Expertos externos en la configuración?

Llevo siete años programando para forex. Difícilmente habría pasado por alto un error tan grave. Intenta llamar a las lecturas del indicador con este script en su terminal.

El caso es que hace un año llamé a este indicador en concreto con un script y todo iba bien. Lo llamé de la misma manera que lo estoy haciendo ahora.