[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 24

 
WindSW:

Via Print

Essayez ce modèle

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

Voyez comment cela fonctionne pour vous.

 
Dimka-novitsek:
Oui, merci ! !! Je suis celui qui est venu directement de la rue à l'ordinateur et qui s'est complètement embrouillé !

Dimitri ! Quelques conseils pour vous. D'abord le code (essayez de saisir la différence) :

//---- Константы
#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'avez-vous remarqué de différent ? - Faites-en la liste, et je formulerai ensuite des conseils (si vous êtes intéressé, bien sûr). ;)

 
Merci beaucoup !!!!!!! J'ai rafraîchi la page et je l'ai vu. Mon frère sera bientôt là, je ferai un rapport plus tard.
 
Veuillez me dire quelle est l'erreur de l'indicateur GBPUSD,H1 : zero divide.
 
Frostr:
Veuillez me dire quelle est l'erreur de l'indicateur GBPUSD,H1 : zero divide.


Division par zéro.
 
Frostr:
Veuillez me dire quelle est l'erreur de l'indicateur GBPUSD,H1 : zero divide.


Surtout si, dans le testeur, vous essayez d'utiliser des valeurs provenant d'autres graphiques. Par exemple, si vous testez le conseiller expert sur l'EURUSD, mais que vous essayez de prendre les données de l'indicateur à partir d'un autre graphique...
 

Je ne comprends pas ce qui ne va pas - cela ne s'est jamais produit auparavant. J'appelle iCustom() pour les lectures d'indicateurs et en conséquence mon conseiller expert écrit qu'il ne peut pas ouvrir le fichier de l'indicateur.

Voici le code que j'ai utilisé, qui a toujours fonctionné :

#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);

}
//+------------------------------------------------------------------+
L'indicateur est fixé au poteau. Pourquoi pensez-vous que le fichier indicateur ne s'ouvre pas ?
Dossiers :
rads_has.mq4  6 kb
 
J'ai oublié de vous dire que la construction du terminal est de 445.
 
drknn:
J'ai oublié de vous dire que la construction du terminal est de 445.

Les appels à des experts externes sont-ils autorisés dans les paramètres ?
 
rigonich:

Les appels d'experts externes sont-ils autorisés dans les paramètres ?

Je programme pour le forex depuis sept ans maintenant. Je n'aurais pas manqué une erreur aussi grossière. Vous essayez d'appeler les lectures de l'indicateur avec ce script dans votre terminal.

Le problème est qu'il y a un an, j'ai appelé cet indicateur particulier avec un script et tout allait bien. Je l'appelais comme je le fais maintenant.

Raison: