Comment coder ? - page 48

 
MrPip:
J'ai utilisé ceci dans d'autres EAs et cela fonctionne correctement.

Je vérifie les transactions fermées aujourd'hui au lieu de celles ouvertes aujourd'hui.

L'utilisation au départ est la suivante

if (LastTradeClosedToday()) return(0) ;

// code ici pour ouvrir de nouvelles transactions

//+------------------------------------------------------------------+

//| LastTradeClosedToday |

//| Vérifier l'historique pour voir si la dernière transaction a été fermée aujourd'hui |

//+------------------------------------------------------------------+

bool LastTradeClosedToday()

{

int cnt, total ;

bool Closed ;

total = HistoryTotal() ;

for (cnt = total - 1 ; cnt >= 0 ; cnt--)

{

OrderSelect (cnt, SELECT_BY_POS, MODE_HISTORY) ;

if(OrderSymbol()!=Symbol()) continue ;

if (OrderMagicNumber() != MagicNumber) continue ;

Fermé = faux ;

si (OrderType() == OP_BUY)

{

si (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))

{

Closed = true ;

}

cnt = 0 ;

}

si (OrderType() == OP_SELL)

{

si (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))

{

Closed = true ;

}

cnt = 0 ;

}

}

return (Closed) ;

}

ok je vais essayer... merci Mr Pips... vous êtes d'une grande aide...

 

Problème résolu

Bonjour,

J'ai résolu mon problème moi-même, une erreur stupide commise. Merci à tous ceux qui ont lu ce fil de discussion.

 

L'avez-vous déjà converti ?

Beno:
Merci Mr Pips.

Est-il possible de transformer cet indicateur en un EA. Je pensais que Beno essayait de le faire. J'apprécierais que quelqu'un qui l'a fait ou peut le faire poste la version EA de cet indicateur. Merci beaucoup.

L'indicateur est joint :

 
makemo8:
Est-il possible de transformer cet indicateur en EA. Je pensais que Beno essayait de le faire. J'apprécierais que quelqu'un qui l'a fait ou qui peut le faire puisse poster la version EA de cet indicateur. Merci beaucoup. L'indicateur est joint :

Oops ! l'indicateur à convertir en EA est MT4-LevelStop-Reverse-vB0-4.mq4

Dossiers :
 

Bonjour,

J'ai un EA pour trader les breakouts - chaque nuit, je dois charger des fichiers prédéfinis avec les niveaux de breakouts pour le jour suivant.

Ma question est la suivante : Comment puis-je faire en sorte que l'EA recherche les fichiers prédéfinis lui-même au lieu de le faire moi-même ?

Exemple : Je télécharge les fichiers de presets sur un ftp, l'EA connaît l'adresse et chaque jour à 22:00, les fichiers de presets sont chargés depuis cette adresse.

Est-ce possible ?

Merci

 

Questions sur la programmation

J'ai quelques questions rapides :

1. Supposons que je négocie la paire GBPUSD sur les graphiques de 15 minutes. La fonction start() de mon EA est-elle appelée uniquement lorsqu'une nouvelle barre est disponible (toutes les 15 minutes) ou à chaque fois qu'il y a une nouvelle cotation (toutes les quelques secondes) ?

2. Supposons qu'à un moment donné, je place deux ordres - l'un est un stop d'achat, disons 20 pips au-dessus du prix actuel, et l'autre est un stop de vente, 20 pips en dessous du prix actuel. Si le prix monte jusqu'à mon ordre d'achat stop, je veux annuler l'ordre de vente stop dès que je confirme que l'ordre d' achat stop a été déclenché. De même, si le prix descend jusqu'à mon ordre de vente stop, je veux annuler l'ordre d'achat stop dès que je confirme que l'ordre de vente stop a été déclenché.

Existe-t-il un moyen simple de le faire ? Comment puis-je confirmer que le stop d'achat a été déclenché avant d'annuler le stop de vente ? Le système fournit-il une sorte de fonction de rappel d'ordre qui me permet de savoir qu'un ordre a été déclenché ? Ou dois-je simplement laisser la fonction start() vérifier les ordres ouverts à chaque cotation et les détecter de cette façon ?

Merci

 
westofpluto:
J'ai quelques questions rapides :

1. Supposons que je négocie la paire GBPUSD sur les graphiques de 15 minutes. La fonction start() de mon EA est-elle appelée uniquement lorsqu'une nouvelle barre est disponible (toutes les 15 minutes) ou à chaque fois qu'il y a une nouvelle cotation (toutes les quelques secondes) ?

2. Supposons qu'à un moment donné, je place deux ordres - l'un est un stop d'achat, disons 20 pips au-dessus du prix actuel, et l'autre est un stop de vente, 20 pips en dessous du prix actuel. Si le prix monte jusqu'à mon ordre d'achat stop, je veux annuler l'ordre de vente stop dès que je confirme que l'ordre d'achat stop a été déclenché. De même, si le prix descend jusqu'à mon ordre de vente stop, je veux annuler l'ordre d'achat stop dès que je confirme que l'ordre de vente stop a été déclenché.

Existe-t-il un moyen simple de le faire ? Comment puis-je confirmer que le stop d'achat a été déclenché avant d'annuler le stop de vente ? Le système fournit-il une sorte de fonction de rappel d'ordre qui me permet de savoir qu'un ordre a été déclenché ? Ou dois-je simplement laisser la fonction start() vérifier les ordres ouverts à chaque cotation et les détecter de cette façon ?

Merci

1. La fonction start() est appelée à chaque tick

2. Oui, c'est possible. Il y a plus d'une façon de le faire. Vous pourriez définir votre stop d'achat et votre stop de vente, puis appeler la fonction OrderType( ), si elle renvoie un OP_BUY ou un OP_SELL , vous pourriez alors utiliser OrderDelete( ) pour supprimer l'ordre en attente existant.

 

est-ce correct mr pips ? cela fonctionnera-t-il avec le testeur de stratégie car cela ne fonctionne pas dans le testeur... ou dois-je seulement le tester en avant ?

if (LastTradeOpenToday()) return () ;

bool LastTradeOpenToday()

{

int cnt, total ;

bool Opened ;

total = HistoryTotal() ;

for (cnt = total - 1 ; cnt >= 0 ; cnt--)

{

OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderSymbol()!=Symbol()) continue ;

if (OrderMagicNumber() != Magic_Number) continue ;

Opened = false ;

si (OrderType() == OP_BUY)

{

si (TimeDay(OrderOpenTime()) >= TimeDay(TimeCurrent()))

{

Opened = true ;

}

cnt = 0 ;

}

si (OrderType() == OP_SELL)

{

si (TimeDay(OrderOpenTime()) >= TimeDay(TimeCurrent()))

{

Opened = true ;

}

cnt = 0 ;

}

}

return (Opened) ;

}
 

Différentiel mathématique

Un codeur peut-il me dire comment introduire un nouvel indicateur basé sur la différentielle ou l'intégrale mathématique ?

Je cherche la formule qui permet de transférer un indicateur vers une différentielle ou une intégrale mathématique.

 

fichiers csv

chers amis

J'ai besoin d'un indicateur pour sauvegarder les fichiers CSV au lieu d'utiliser "ctrl+s".

merci