L'article Développement d'un système de trading par indicateur Fractales a été publié :
Auteur : Mohamed Abdelmaaboud
Veuillez répondre aux questions.
1. Pourquoi utilisez-vous la valeur de la Fractale sur la 2ème barre fermée ? Elle n'est pas encore formée. Je pense que vous devriez utiliser la valeur de la 3ème barre fermée :
CopyBuffer(fracDef,UPPER_LINE,3,1,fracUpArray); CopyBuffer(fracDef,LOWER_LINE,3,1,fracDownArray);
2. Pourquoi appelez-vous cela des systèmes de trading ? Ils ne font pas de transactions. Ils ne font que commenter le graphique.
2. Pourquoi appelez-vous cela des systèmes de trading ? Ils ne font pas de transactions. Ils ne font que des commentaires sur le graphique.
La bougie actuelle est 0, la précédente est 1, et la troisième est 2 et non 3.
Les systèmes de trading tels qu'ils sont programmés se basent sur des étapes systématiques et logiques pour vous aider à trader même s'il s'agit de commentaires, vous pouvez ajouter des ordres d'envoi si vous les avez testés et trouvés utiles pour vous.
Servus, je me suis permis d'implémenter ton exemple "Fractals_with_Alligator" dans les fonctions prévues à cet effet (déclaration/définition). Merci de me corriger si je metrompe😊
//creating arrays double fracUpArray[]; double fracDownArray[]; MqlRates priceArray[]; double jawsArray[]; double teethArray[]; double lipsArray[]; // init int fracDef; int Data; int alligatorDef; //get values double fracUpValue; double fracDownValue; double closingPrice; double jawsValue; double teethValue; double lipsValue; //création de variables bool pour acheter et vendre des signaux aviod en même temps bool isBuy; bool isSell; int OnInit() { //création de variables bool pour acheter et vendre des signaux aviod en même temps isBuy = false; isSell = false; ArraySetAsSeries(fracUpArray, true); ArraySetAsSeries(fracDownArray, true); ArraySetAsSeries(jawsArray, true); ArraySetAsSeries(teethArray, true); ArraySetAsSeries(lipsArray, true); fracDef = iFractals(_Symbol, _Period); Data = CopyRates(_Symbol, _Period, 0, 3, priceArray); alligatorDef = iAlligator(_Symbol, _Period, 13, 8, 8, 5, 5, 3, MODE_SMMA,PRICE_MEDIAN); return(INIT_SUCCEEDED); } void OnTick() { CopyBuffer(fracDef, UPPER_LINE, 2, 1, fracUpArray); CopyBuffer(fracDef, LOWER_LINE, 2, 1, fracDownArray); CopyBuffer(alligatorDef, 0, 0, 3, jawsArray); CopyBuffer(alligatorDef, 1, 0, 3, teethArray); CopyBuffer(alligatorDef, 2, 0, 3, lipsArray); //get values fracUpValue = NormalizeDouble(fracUpArray[0], 5); fracDownValue = NormalizeDouble(fracDownArray[0], 5); closingPrice = priceArray[0].close; jawsValue = NormalizeDouble(jawsArray[0], 5); teethValue = NormalizeDouble(teethArray[0], 5); lipsValue = NormalizeDouble(lipsArray[0], 5); //conditions de la stratégie et commentaire sur le graphique //en cas d'achat if(lipsValue>teethValue && lipsValue > jawsValue && teethValue > jawsValue && closingPrice > teethValue && fracDownValue != EMPTY_VALUE) { Comment("Buy", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals Low around: ", fracDownValue); isBuy = true; } // end if //in case of sell if(lipsValue < teethValue && lipsValue < jawsValue && teethValue < jawsValue && closingPrice < teethValue && fracUpValue != EMPTY_VALUE) { Comment("Sell", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals High around: ", fracUpValue); isSell = true; } // end if } void OnDeinit(const int reason) { EventKillTimer(); ObjectsDeleteAll(0,0,-1); IndicatorRelease(fracDef); IndicatorRelease(Data); IndicatorRelease(alligatorDef); ArrayFree(fracUpArray); ArrayFree(fracDownArray); ArrayFree(jawsArray); ArrayFree(teethArray); ArrayFree(lipsArray); Comment(""); }
Bonjour, merci pour cet article si clair... j'obtiens une erreur dans mon code fractal (2024.11.10 17:42:12.121 _24 Dev 3 EA Strat1 (EURUSD,H1) _24 Dev 3 EA Strat1.mq5:void OnDeinit(const int):OnDeinit:48 Error Code:INDICATOR_DATA_NOT_FOUND ) .
Lorsque j'exécute votre code, j'obtiens la même erreur.
Pouvez-vous m'aider ? J'ai essayé de nombreuses combinaisons différentes.
Merci de votre aide.
Jay

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Un nouvel article Apprendre à concevoir un système de trading basé sur les Fractales a été publié :
Voici un nouvel article de notre série sur la façon de concevoir un système de trading basé sur les indicateurs techniques les plus populaires. Nous apprendrons un nouvel indicateur, l'indicateur Fractals, et nous apprendrons comment concevoir un système de trading basé sur celui-ci pour être exécuté dans le terminal MetaTrader 5.
1. Hauts et Bas des Fractales
Sur la base de cette stratégie, nous devons créer un système de trading qui peut être utilisé pour renvoyer les hauts et les bas de l'indicateur Fractals sous forme de commentaire sur le graphique en vérifiant en permanence la valeur de fracUp et de fracDown. Si fracUp est supérieur à 0 ou s'il n'a pas de valeur vide et que fracDown a une valeur vide, le système de trading doit renvoyer un signal sur le graphique sous forme de commentaire avec la valeur suivante :
Dans l'autre cas, si fracDown est supérieur à 0 ou s'il n'a pas de valeur vide et que fracUp a une valeur vide, le système de trading doit renvoyer un signal sur le graphique sous forme de commentaire avec la valeur suivante :
Voici le plan de cette stratégie :
Auteur : Mohamed Abdelmaaboud