Description
Il n'y a ici que le money management d'Alembex, à vous d'y rajouter votre technique (les positions sont prises aux hasard sur l'exemple)
Montrez vos résultat de ce Money management + votre technique :)
Merci
MISE A JOUR :
- Corrections des bugs
- Nouvelles images avec les tests d'optimisations :
// -------------------------------------------------------------------------------------------------
//
// This code is a cAlgo API sample.
//
// This cBot is intended to be used as a sample and does not guarantee any particular outcome or
// profit of any kind. Use it at your own risk
//
// The "Sample Martingale cBot" creates a random Sell or Buy order. If the Stop loss is hit, a new
// order of the same type (Buy / Sell) is created with double the Initial Volume amount. The cBot will
// continue to double the volume amount for all orders created until one of them hits the take Profit.
// After a Take Profit is hit, a new random Buy or Sell order is created with the Initial Volume amount.
//
// -------------------------------------------------------------------------------------------------
using System;
using System.Linq;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
using cAlgo.Indicators;
namespace cAlgo
{
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class Alembex : Robot
{
[Parameter("Initial Volume", DefaultValue = 10000, MinValue = 0)]
public int InitialVolume { get; set; }
[Parameter("Stop Loss", DefaultValue = 40)]
public int StopLoss { get; set; }
[Parameter("Take Profit", DefaultValue = 40)]
public int TakeProfit { get; set; }
private Random random = new Random();
private long pertesVolume = 0;
private int nombreDeGain = 0;
protected override void OnStart()
{
Positions.Closed += OnPositionsClosed;
pertesVolume = InitialVolume;
ExecuteOrder(InitialVolume, GetRandomTradeType());
}
private void ExecuteOrder(long volume, TradeType tradeType)
{
var result = ExecuteMarketOrder(tradeType, Symbol, volume, "Alembex", StopLoss, TakeProfit);
if (result.Error == ErrorCode.NoMoney)
Stop();
}
private void OnPositionsClosed(PositionClosedEventArgs args)
{
var position = args.Position;
if (position.Label != "Alembex" || position.SymbolCode != Symbol.Code)
return;
if (position.GrossProfit > 0)
{
nombreDeGain += 1;
Print("Gain");
if (nombreDeGain == 1)
{
Print("Premier Gain (Cumul de pertes depuis le dernier gain : ", pertesVolume, ")");
ExecuteOrder(pertesVolume, GetRandomTradeType());
}
else
{
ExecuteOrder(InitialVolume, GetRandomTradeType());
}
pertesVolume = InitialVolume;
}
else
{
nombreDeGain = 0;
Print("Perte");
pertesVolume += position.Volume;
ExecuteOrder((int)position.Volume, position.TradeType);
}
Print("Volume : ", position.Volume);
Print("Volume pertes : ", pertesVolume);
Print("---");
}
private TradeType GetRandomTradeType()
{
return random.Next(2) == 0 ? TradeType.Buy : TradeType.Sell;
}
}
}
berthozero
Joined on 05.01.2013
- Distribution: Free
- Language: C#
- Trading platform: cTrader Automate
- File name: Alembex.algo
- Rating: 1.67
- Installs: 5482
- Modified: 13/10/2021 09:54
Comments
allo puis-je parler avec la personnne qui a fait se robot ?
J'ai regardé le code, c'est plus une martingale qu'un money-management.
Le robot reprends le même volume à chaque fois qu'il perd et lorsqu'il gagne il prend un volume égal à l'ensemble de ses pertes depuis le dernier gain.
Backtest (EU, m5, jan 14... jan15, tickdata)
Can someone give optimized settings? Had Huuuuge DrawDown: http://www.algochart.com/report/bi0rp
I will try it on less trending, less volatile pairs.
Désolez pour la duplication du message, j'ai eu des coupures d'internet.
@ berthozero merci pour cet indicateur qui est basé sur une logique mathématique imparable. J'ai testé ton robot il marche. Par contre il ya quelque bug dans le déroulement des sequences. Il arrive des fois après une série de perte, puis un gain, le système place évidement la somme des perte précédente. Mais si le trade encours est perdant au lieu de revenir sur le volume initial il continue avec la somme des trades perdant précédente. Résultat le compte est grillé. Si tu peu corrigé ce bug le résultat serait excellent.
@ berthozero merci pour cet indicateur qui est basé sur une logique mathématique imparable. J'ai testé ton robot il marche. Par contre il ya quelque bug dans le déroulement des sequences. Il arrive des fois après une série de perte, puis un gain, le système place évidement la somme des perte précédente. Mais si le trade encours est perdant au lieu de revenir sur le volume initial il continue avec la somme des trades perdant précédente. Résultat le compte est grillé. Si tu peu corrigé ce bug le résultat serait excellent.
@ berthozero merci pour cet indicateur qui est basé sur une logique mathématique imparable. J'ai testé ton robot il marche. Par contre il ya quelque bug dans le déroulement des sequences. Il arrive des fois après une série de perte, puis un gain, le système place évidement la somme des perte précédente. Mais si le trade encours est perdant au lieu de revenir sur le volume initial il continue avec la somme des trades perdant précédente. Résultat le compte est grillé. Si tu peu corrigé ce bug le résultat serait excellent.
@ berthozero merci pour cet indicateur qui est basé sur une logique mathématique imparable. J'ai testé ton robot il marche. Par contre il ya quelque bug dans le déroulement des sequences. Il arrive des fois après une série de perte, puis un gain, le système place évidement la somme des perte précédente. Mais si le trade encours est perdant au lieu de revenir sur le volume initial il continue avec la somme des trades perdant précédente. Résultat le compte est grillé. Si tu peu corrigé ce bug le résultat serait excellent.
@ berthozero merci pour cet indicateur qui est basé sur une logique mathématique imparable. J'ai testé ton robot il marche. Par contre il ya quelque bug dans le déroulement des sequences. Il arrive des fois après une série de perte, puis un gain, le système place évidement la somme des perte précédente. Mais si le trade encours est perdant au lieu de revenir sur le volume initial il continue avec la somme des trades perdant précédente. Résultat le compte est grillé. Si tu peu corrigé ce bug le résultat serait excellent.
Bonjour,
auriez vous la possibilité de le faire sur proraltime ? Je crois que monsieur belfayate propose 13 traces maximum par série ?
Je vous remercie
hi theres no a version of this for the mt4??
Bonjour à tous,
pour ma part je découvre l'Alembex et le pense que cela va m'être précieux dans le cadre de mon Money Management.
A ce jour, je n'ai pas réussi à me positionner avec suffisamment de rigueur pour finalement gagner sur les marchés et je dois avouer que je n'avais encore pas vraiment compris ce qu'était le Risck Management.
L'explication qu'en fait Elkhayate est d'une grande simplicité et je vais dès la semaine prochaine, l'appliquer en la couplant à la méthode du docteur décrit par Olivier SEBAN.
Je vous ferai part de mes avancées
The robot is simple and needs to be complete, if you have ideas to add that are interresting ...
The robot must have a minimum capital, it's just that the robot can not take the position.
I always keep getting this error: "Erreur de Volume" which I suppose means VOLUME ERROR. What could be causing this? Does it mean that your robot cannot trade on an account that it $1000 or less? I am even trying to backtest with 1K and still getting the same error.
@berthozero Is There Any Way To contact You