Questions des débutants MQL4 MT4 MetaTrader 4 - page 175

 

Puis-je avoir une partie du code, je suis intéressé par la façon de boucler les dates ?

//=================================================История на дату - Баланс ====================================================================================================

double Ballanc()

{

double date=0, histoire=0 ;

for ( int trade = OrdersTotal() - 1 ; trade >= 0 ; trade-- )

{

if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == MagicLock && OrderSymbol() == Symbol())

{

date=Day() ;

}

}

for ( trade = date - 1 ; trade >= 0 ; trade--)

{

for ( int trade = OrdersHistoryTotal() - 1 ; trade >= 0 ; trade-- )

{

si ( OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY))

{

=OrderProfit( ;)

}

}

}


retour(profithistory) ;


 
ou le temps de l'utiliser, quelle est la meilleure façon ?
 
J'ai une idée : prendre un jour, un mois, une année séparément et faire trois cycles. Est-ce que je vais dans la bonne direction ?
 

C'est la fonction ! La condition était de connaître le solde du compte à la date d'ouverture de l'ordre de blocage.

//=================================================История на дату - Баланс ====================================================================================================

double Ballanc()

{

int date=31,month=12,year=0 ;

double historique=0,swaphistory=0 ;

for ( int trade = OrdersTotal() - 1 ; trade >= 0 ; trade-- )

{

if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == MagicLock && OrderSymbol() == Symbol())

{

année=Année() ;

}

}

for (int trade=year;trade>=2018;trade--)

{

for ( trade=month;trade>=1;trade--)

{

for ( trade = date ; trade >= 1 ; trade--)


{

for ( trade = OrdersHistoryTotal() - 1 ; trade >= 0 ; trade-- )

{

if ( OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY) && date==Day() && month==Month() && year==Year())

{

swaphistory+=OrderProfit() ;

swaphistory+=OrderSwap() ;

}

}

}

}

}

return(profithistory+swaphistory)

}

 
Le lien du solde du compte en haut est apparu tout seul...
 

Dans la bibliothèque Metacvot, qui est utilisée pour réaliser des panneaux, l'événement ON_DRAG_PROCESS est implémenté.

Il est nécessaire de traiter l'événement ON_DRAG_PROCESS pour une ligne de tendance distincte plutôt que pour les éléments du panneau dans le code d'un tel panneau. Est-ce possible et comment le mettre en œuvre ? J'ai essayé et échoué.

 

Bonjour !

Pouvez-vous me dire dans quelles situations après la désinitialisation de l'EA une fuite de mémoire comme "1 leaked strings left" peut se produire ?

Il ne reste plus d'objets, tous les objets dynamiques sont supprimés, c'est le seul message de fuite de mémoire.

 
Bonjour, pourriez-vous me dire comment modifier le calcul du take profit et du stop loss à chaque nouvelle barre?
 
mikesteb_87:
Bonjour, pouvez-vous me dire comment modifier le calcul du take profit et du stop loss à chaque nouvelle barre?

Vous avez un lien pour le faire dans votre message : https://www.mql5.com/ru/articles/159.

En gros, dans OnTick, il faut vérifier si la barre a changé, et si elle a changé - appeler les procédures nécessaires pour changer le stop-loss et le take-profit.

Обработчик события "новый бар"
Обработчик события "новый бар"
  • www.mql5.com
Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...
 
Zelimhannahal00:
Les gars, aidez-moi à corriger le code de l'EA, sur le premier signal il achète pour tous les fonds dans des lots de 0,1. L'erreur se situe très probablement dans la commande de vérification, il s'avère qu'il ne s'agit pas de vérifier mais d'acheter. Je n'arrive pas à trouver comment réparer
Raison: