Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1891

 
Tretyakov Rostyslav #:

Cela signifie que s'il n'y a pas de commandes

Oui, ou si le drawdown est inférieur à un certain niveau. Mais d'après ce que je comprends, la mise à zéro n'a rien à voir avec cela. S'il n'y a pas de mise à zéro, il y a une fermeture sans fin des ordres et dans mon cas, un ordre n'est pas fermé.

 
EVGENII SHELIPOV #:

Oui, ou une baisse en dessous d'un certain niveau. Mais d'après ce que je comprends, la mise à zéro n'a rien à voir avec cela, s'il n'y a pas de mise à zéro alors il y a une fermeture sans fin des ordres et dans mon cas un ordre n'est pas fermé.

En effet, après la clôture de la première commande, cette condition ne fonctionne plus.

if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)

pour qu'il n'aille pas plus loin dans la fonction de fermeture.

 
Tretyakov Rostyslav #:

Parce qu'après la clôture de la première commande, cette condition n'est plus valable.

c'est-à-dire qu'il ne va pas plus loin, jusqu'à la fonction de fermeture.

Pensez-vous que cette condition se trouve dans la commande de clôture des ordres et dans la fonction de clôture des ordres ? Si je supprime cette condition de la fonction de clôture des ordres, cela changera-t-il quelque chose ?

 
EVGENII SHELIPOV #:

Pensez-vous que cette condition se trouve dans la commande de clôture des ordres et dans la fonction de clôture des ordres ? Si je supprime cette condition de la fonction de clôture des ordres, cela changera-t-il quelque chose ?

Cela accélérera les choses... pourquoi vérifier deux fois la même chose.

Au fait, vous avez posté deux fonctions différentes

ClosseMinMaxPenultimateOrdersZero()

и

ClosseMinMaxPenultimateOrders()
Est-ce l'intention ?
 
Tretyakov Rostyslav #:

Cela accélérera les choses... pourquoi vérifier deux fois la même chose.

Au fait, vous avez posté deux fonctions différentes

и

C'est comme ça que ça marche ?

Je l'ai vérifié maintenant et l'EA se ferme mal sans cette condition, il est donc impossible de s'en passer.

 
Vitaly Muzichenko #:

Aidez-moi, s'il vous plaît !

Je n'obtiens pas du tout ce que j'attendais. J'ai besoin de lire le fichier journal.

J'aurais dû commencer ici :

#include <WinAPI\\fileapi.mqh>
 
EVGENII SHELIPOV #:

Je l'ai vérifié maintenant et sans lui, le conseiller expert se ferme mal, il n'y a donc aucun moyen de le faire sans lui.

Ils ne sont donc pas les mêmes.

               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==1 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
 
Иван la fonction FileSeek ont échoué.
Mon intellect n'est pas suffisant pour en comprendre la raison. Expliquez-moi ce qui se passe.

Alors ? Quelqu'un a une idée ?

 

Mes amis, s'il vous plaît, aidez-nous.

J'ai un EA multi-devises que j'ai écrit en mql4. Dans le testeur, bien sûr, cela ne fonctionne pas. J'ai décidé que je devais passer à mql5.

J'ai adapté toutes les erreurs du compilateur et les ai corrigées. SAUF pour l'utilisation d'indicateurs techniques. Je n'ai pas la moindre idée de ce qu'il faut faire avec cette EA. La documentation est incompréhensible et couvre deux pages. Peut-être que je cherche au mauvais endroit.

Une ligne de code dans mql4 comme suit

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0) ;

ou

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0) ;

Selon la documentation, la page entière de code change dans mql5. Handles, buffers, tableaux avec paramètres, ceci pour initier, ceci pour calculer, gestion des erreurs pendant la création du handle... C'est fou... Peut-être que je cherche au mauvais endroit.

Et si j'utilise plusieurs paires et plusieurs horizons temporels, j'obtiens "Guerre et Paix".

 
Sergey Dymov un EA multi-devises que j'ai écrit en mql4. Dans le testeur, bien sûr, cela ne fonctionne pas. J'ai décidé que je devais passer à mql5.

J'ai adapté toutes les erreurs du compilateur et les ai corrigées. SAUF pour l'utilisation d'indicateurs techniques. J'ai très peu d'idées sur ce que je dois faire avec ma tête. La documentation est incompréhensible et couvre deux pages. Peut-être que je cherche au mauvais endroit.

Une ligne de code dans mql4 comme suit

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0) ;

ou

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0) ;

Selon la documentation, la page entière de code change dans mql5. Handles, buffers, tableaux avec paramètres, ceci pour initier, ceci pour calculer, gestion des erreurs pendant la création du handle... C'est fou... Peut-être que je cherche au mauvais endroit.

Et si j'utilise plusieurs paires et plusieurs horizons temporels, j'obtiens "Guerre et Paix".

int handleSQ=-1;
double BufferSQ[1];
int OnInit()
{

  handleSQ=iCustom(Symbol(),PERIOD_CURRENT,"squares",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3);
  if(handleSQ<0) {
    return(INIT_FAILED);
    Print("handleSQ = ",handleSQ,"  error = ",GetLastError());
  }
//---
  return(INIT_SUCCEEDED);
}

void OnTick()
{

    int copy=CopyBuffer(handleSQ,0,1,1,BufferSQ);
    if(copy<0) Print("Неудачная попытка копирования Squares");
    u1=BufferSQ[0];//iCustom(Symbol(),PERIOD_CURRENT,"squares_v2",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3,i);
Raison: