Category Trend  Published on 03/05/2024

DRKHASHIX AI Trader

Description

DRKHASHIX AI Trader is an advanced automated trading robot for the cTrader platform, utilizing sophisticated algorithms and artificial intelligence to help you trade automatically and efficiently in financial markets.

new update Version 4 : Fake breakout was added to make more transactions, but the quality of transactions will decrease

*****************************************************************************************************************************************************************

new update Version 5 : Great news : the manual trading mode has been added to this robot in the trade mode section, now by finding the right parameters by backtesting the robot, you can make your transactions using the artificial intelligence algorithm of the robot's capital management to have an amazing win rate. To become one of the best traders in the world and get your prop accounts, what is your background, download the robot now and enjoy and be happy that you have me.

I couldn't put the code because the CTrader site doesn't allow uploading without the source. download from my site : drkhashix.com

*****************************************************************************************************************************************************************

Key Features:

  • Advanced Artificial Intelligence: This robot uses advanced AI algorithms to analyze the market and make trading decisions.
  • Intelligent Risk Management: By calculating and managing risk intelligently, this robot allows you to control your financial risks.
  • Forbidden Time Protection: With consideration for forbidden trading hours, this robot prevents trading during unauthorized times.
  • Accurate Reporting: This robot provides detailed reports of its trading performance, enabling you to evaluate your own performance.
  • manual trading: You can open transactions by clicking on the buy and sell 

Learn More:

For more information and to use this robot, please visit DRKHASHIX.com or contact us via email at DRKHASHIX@DRKHASHIX.COM.

Expiry date based on time server

Suitable for 15 minutes time frame

To get the right parameters, it is better to search for these parameters:


  1. AI courage (Stop loss) = 2 - 10

  2. AI Greed (Take Profit) = 5 - 30

  3. AI trends = 200 - 1000

  4. AI fake break out = 0 - 3

  5. candle power = 1 - 1.6

drkhashix love you all



using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo
{
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class DRKHASHIXSimpleMOVINGAVERAGE : Robot
    {
        [Parameter("Instance Name", Group = "NAME", DefaultValue = "DRKhASHIX")]
        public string InstanceName { get; set; }

        [Parameter("Lot Size", Group = "LOT", DefaultValue = 0.1)]
        public double LotSize { get; set; }

        [Parameter("SMA Period 1", Group = "MOVING AVERAGE", DefaultValue = 50)]
        public int Period1 { get; set; }

        [Parameter("SMA Period 2", Group = "MOVING AVERAGE", DefaultValue = 100)]
        public int Period2 { get; set; }

        [Parameter("Use SMA3", Group = "MOVING AVERAGE", DefaultValue = true)]
        public bool UseSMA3 { get; set; }
        
        [Parameter("SMA Period 3", Group = "MOVING AVERAGE", DefaultValue = 200)]
        public int Period3 { get; set; }

        [Parameter("Use Stop Loss and Take Profit", Group = "Risk Management", DefaultValue = true)]
        public bool UseStopLossAndTakeProfit { get; set; }
        
        [Parameter("Stop Loss (pips)", Group = "Risk Management", DefaultValue = 100, MinValue = 1)]
        public int StopLossInPips { get; set; }

        [Parameter("Take Profit (pips)", Group = "Risk Management", DefaultValue = 200, MinValue = 1)]
        public int TakeProfitInPips { get; set; }
        
        [Parameter("LICENSE KAY", DefaultValue = "DRKHASHIX. I LOVE YOU ALL !!! FREE", Group = "DRKHASHIX.COM")]
        public string FixedMessage2 { get; set; }

        private SimpleMovingAverage _sma1;
        private SimpleMovingAverage _sma2;
        private SimpleMovingAverage _sma3;

        protected override void OnStart()
        {
            _sma1 = Indicators.SimpleMovingAverage(MarketSeries.Close, Period1);
            _sma2 = Indicators.SimpleMovingAverage(MarketSeries.Close, Period2);
            _sma3 = Indicators.SimpleMovingAverage(MarketSeries.Close, Period3);
        }

        protected override void OnBar()
        {
            double sma1Value = _sma1.Result.LastValue;
            double sma2Value = _sma2.Result.LastValue;
            double sma3Value = _sma3.Result.LastValue;

            if (UseSMA3)
            {
                if (sma1Value > sma2Value && sma2Value > sma3Value)
                {
                    if (!IsPositionOpenByType(TradeType.Buy))
                    {
                        CloseAllPositions();
                        ExecuteTrade(TradeType.Buy);
                    }
                }
                else if (sma1Value < sma2Value && sma2Value < sma3Value)
                {
                    if (!IsPositionOpenByType(TradeType.Sell))
                    {
                        CloseAllPositions();
                        ExecuteTrade(TradeType.Sell);
                    }
                }
                else
                {
                    CloseAllPositions();
                }
            }
            else
            {
                if (sma1Value > sma2Value)
                {
                    if (!IsPositionOpenByType(TradeType.Buy))
                    {
                        CloseAllPositions();
                        ExecuteTrade(TradeType.Buy);
                    }
                }
                else if (sma1Value < sma2Value)
                {
                    if (!IsPositionOpenByType(TradeType.Sell))
                    {
                        CloseAllPositions();
                        ExecuteTrade(TradeType.Sell);
                    }
                }
                else
                {
                    CloseAllPositions();
                }
            }
        }

        private void ExecuteTrade(TradeType tradeType)
        {
            var position = Positions.Find(InstanceName, Symbol, tradeType);
            if (position == null)
            {
                if (UseStopLossAndTakeProfit)
                {
                    ExecuteMarketOrder(tradeType, Symbol, Symbol.QuantityToVolume(LotSize), InstanceName, StopLossInPips, TakeProfitInPips);
                }
                else
                {
                    ExecuteMarketOrder(tradeType, Symbol, Symbol.QuantityToVolume(LotSize), InstanceName, null, null);
                }
            }
            else
            {
                if (tradeType == TradeType.Buy)
                {
                    if (Symbol.Bid - position.EntryPrice >= StopLossInPips * Symbol.PipSize)
                    {
                        ClosePosition(position);
                    }
                    else if (position.EntryPrice - Symbol.Bid >= TakeProfitInPips * Symbol.PipSize)
                    {
                        ClosePosition(position);
                    }
                }
                else if (tradeType == TradeType.Sell)
                {
                    if (position.EntryPrice - Symbol.Ask >= StopLossInPips * Symbol.PipSize)
                    {
                        ClosePosition(position);
                    }
                    else if (Symbol.Ask - position.EntryPrice >= TakeProfitInPips * Symbol.PipSize)
                    {
                        ClosePosition(position);
                    }
                }
            }
        }

        private bool IsPositionOpenByType(TradeType type)
        {
            var p = Positions.FindAll(InstanceName, Symbol, type);
            return (p.Length >= 1);
        }

        private void ClosePosition(TradeType type)
        {
            var p = Positions.Find(InstanceName, Symbol, type);
            if (p != null)
                ClosePosition(p);
        }

        private void CloseAllPositions()
        {
            foreach (var position in Positions.FindAll(InstanceName, Symbol))
            {
                ClosePosition(position);
            }
        }
    }
}

drkhashix's avatar
drkhashix

Joined on 12.02.2023

  • Distribution: Free
  • Language: C#
  • Trading platform: cTrader Automate
  • File name: thisisnotthatbot.algo
  • Rating: 5
  • Installs: 47
Comments
Log in to add a comment.
drkhashix's avatar
drkhashix · 1 month ago

This robot utilizes the cAlgo.API library for technical analysis and trade execution, without the need for popular libraries like Accord.NET or ML.NET. Its capabilities are limited to financial trading and risk management, relying on technical analysis indicators such as RSI and moving averages, along with the ability to assess candle power and divergences. It does not directly employ artificial intelligence algorithms such as machine learning and therefore does not make more advanced decisions. The robot does not learn or improve with experience but operates on fixed rules. It's named "AI Trader" with the expectation that, if artificial intelligence were present, it would trade similarly to this robot, yet in the hope of a future that may remain a dream.

YE
YesOrNot · 1 month ago

Hello, great job!

Which libraries available for artificial intelligence and machine learning did you using ?

Accord.NET, ML.NET, AForge.NET, Encog, Deedle, Numl ???