Information

Username: VEI5S6C4OUNT0
Member since: 06 Dec 2022
Last login: 22 Sep 2023
Status: Active

Activity

Where Created Comments
Algorithms 19 21
Forum Topics 2 6
Jobs 0 0

Last Algorithm Comments

VE
Splash The · 1 day ago

I wonder if you can fix a problem with my other algo's 

The RSI Stochastic MACD cloud on chart, has to be manualy set for different charts would be good if it would calculate a percentage or something…

VE
Splash The · 2 weeks ago

I was totaly missing an argument for the clouds

print (FACEPALM)

 I fixed it and added option for cloud …(EnumCloud) 

Thank you for responding.

VE
Splash The · 2 weeks ago

I learned a lot of how you coded this and I like it so I made something like it with Expernatial MA and or other MA's as source for ATR however I am having trouble with the cloud part…

 

 

using cAlgo.API;
using cAlgo.API.Indicators;
namespace cAlgo
{

   //[Cloud("Up1", "Dn5", Opacity = 1)]
   //[Cloud("Up1", "Dn4", Opacity = 1)]
   //[Cloud("Up1", "Dn3", Opacity = 1)]
   //[Cloud("Up1", "Dn2", Opacity = 1)]
   [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
   public class MAL3 : Indicator
     { 
       public DataSeries Source { get; set; }
       
       [Parameter("P 1", DefaultValue = 8)]
       public int P1 { get; set; }
       [Parameter("P 2", DefaultValue = 34)]
       public int P2 { get; set; }
       [Parameter("P 3", DefaultValue = 96)]
       public int P3 { get; set; }
       [Parameter("P 4", DefaultValue = 408)]
       public int P4 { get; set; }
       [Parameter("P 5", DefaultValue = 816)]
       public int P5 { get; set; }
       [Parameter("M A", DefaultValue = MovingAverageType.Exponential )]
       public MovingAverageType MAType { get; set; }
       
       [Output("Up1", LineColor = "AA00FF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Up1 { get; set; }
       
       [Output("Dn1", LineColor = "AAFF0000", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Dn1 { get; set; }
       
       [Output("Up2", LineColor = "AA00FF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Up2 { get; set; }
       
       [Output("Dn2", LineColor = "AAFF0000", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Dn2 { get; set; }
       
       [Output("Up3", LineColor = "AA00FF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Up3 { get; set; }
       
       [Output("Dn3", LineColor = "AAFF0000", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Dn3 { get; set; }
       
       [Output("Up4", LineColor = "AA00FF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Up4 { get; set; }
       
       [Output("Dn4", LineColor = "AAFF0000", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Dn4 { get; set; }
       
       [Output("Up5", LineColor = "AA00FF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Up5 { get; set; }
       
       [Output("Dn5", LineColor = "AAFF0000", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries Dn5 { get; set; }
       
       
       MovingAverage M1;
       MovingAverage M2;
       MovingAverage M3;
       MovingAverage M4;
       MovingAverage M5;
       
       MovingAverage MATR;
       AverageTrueRange ATR;
       AverageTrueRange ATRA;
       
       [Parameter("E Cross Arrows ?", DefaultValue = EnumColorArrows.Yes)]
       public EnumColorArrows ColorArrowsE { get; set; }
       
       [Parameter("A2 Cross Arrows ?", DefaultValue = EnumColorArrows.Yes)]
       public EnumColorArrows ColorArrowsA { get; set; }
       
       [Parameter("Use Color Bars ?", DefaultValue = EnumColorBars.M3)]
       public EnumColorBars ColorBars { get; set; }
       
       [Parameter("Use Color EX Bars ?", DefaultValue = EnumColorXBars.Yes)]
       public EnumColorXBars ColorBarsX { get; set; }
       
       [Parameter("Up Bars",DefaultValue = "8800FF00")]
       public Color UpB { get; set; }
       
       [Parameter("Dn Bars",DefaultValue = "88FF0000")]
       public Color DnB { get; set; }
       
       [Parameter("Up Bars X",DefaultValue = "FF00FF00")]
       public Color UpBX { get; set; }
       
       [Parameter("Dn Bars X",DefaultValue = "FFFF0000")]
       public Color DnBX { get; set; }
       
       [Parameter("Up Bars 2",DefaultValue = "CCFFFF00")]
       public Color UpB2 { get; set; }
       
       [Parameter("Dn Bars 2",DefaultValue = "CCAA00FF")]
       public Color DnB2 { get; set; }
       
       [Parameter("Up Arrows",DefaultValue = "FF00FF00")]
       public Color UpA { get; set; }
       
       [Parameter("Dn Arrows",DefaultValue = "FFFF0000")]
       public Color DnA { get; set; }
       
       [Parameter("ATR Period",DefaultValue = 14)]
       public int ATRP { get; set; }
       
       [Parameter("ATR Type", DefaultValue = MovingAverageType.Simple )]
       public MovingAverageType ATRType { get; set; }
       
       [Output("Up ATR 1", LineColor = "88AA00FF", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries UpATR1 { get; set; }
       
       [Output("Dn ATR 1", LineColor = "88AA00FF", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries DnATR1 { get; set; }
       
       [Output("Up ATR 2", LineColor = "44FFFF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries UpATR2 { get; set; }
       
       [Output("Dn ATR 2", LineColor = "44FFFF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries DnATR2 { get; set; }
       
       [Output("UpA1", LineColor = "CCFFFF00", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries UpA1 { get; set; }
       
       [Output("DnA1", LineColor = "CCAA00FF", PlotType = PlotType.DiscontinuousLine, Thickness = 1)]
       public IndicatorDataSeries DnA1 { get; set; }
       
       public enum EnumColorArrows
       {
           Yes,No
       }
       public enum EnumColorBars
       {
           M1,M2,M3,M4,M5,ATR,OFF
       }
       public enum EnumColorXBars
       {
           Yes,No
       }
       
       protected override void Initialize()
       {
       M1 = Indicators.MovingAverage(Source,P1,MAType);
       M2 = Indicators.MovingAverage(Source,P2,MAType);
       M3 = Indicators.MovingAverage(Source,P3,MAType);
       M4 = Indicators.MovingAverage(Source,P4,MAType);
       M5 = Indicators.MovingAverage(Source,P5,MAType);
       
       MATR = Indicators.MovingAverage (Source , ATRP , ATRType );
       ATR = Indicators.AverageTrueRange(ATRP, ATRType);
       
       ATRA = Indicators.AverageTrueRange(100, MovingAverageType.Exponential);
       }
       public override void Calculate(int index)
       {
        var espace = ATRA.Result.Last(0);
        var Aspace = ATR.Result.Last(0);

           UpATR1[index] = MATR.Result[index] - (Aspace*2);
           DnATR1[index] = MATR.Result[index] + (Aspace*2);
           UpATR2[index] = MATR.Result[index] - (Aspace*5);
           DnATR2[index] = MATR.Result[index] + (Aspace*5);
     
           if (MATR.Result.Last(0) >= MATR.Result.Last(1))
           {
               UpA1[index] = MATR.Result[index];
           }
           if (MATR.Result.Last(0) <= MATR.Result.Last(1))
           {
               DnA1[index] = MATR.Result[index];
           }
           
           if (M1.Result.Last(0) >= M1.Result.Last(1))
           {
               Up1[index] = M1.Result[index];
           }
           if (M1.Result.Last(0) <= M1.Result.Last(1))
           {
               Dn1[index] = M1.Result[index];
           }
           
           if (M2.Result.Last(0) >= M2.Result.Last(1))
           {
               Up2[index] = M2.Result[index];
           }
           if (M2.Result.Last(0) <= M2.Result.Last(1))
           {
               Dn2[index] = M2.Result[index];
           }
           
           if (M3.Result.Last(0) >= M3.Result.Last(1))
           {
               Up3[index] = M3.Result[index];
           }
           if (M3.Result.Last(0) <= M3.Result.Last(1))
           {
               Dn3[index] = M3.Result[index];
           }
           
           if (M4.Result.Last(0) >= M4.Result.Last(1))
           {
               Up4[index] = M4.Result[index];
           }
           if (M4.Result.Last(0) <= M4.Result.Last(1))
           {
               Dn4[index] = M4.Result[index];
           }
           if (M5.Result.Last(0) >= M5.Result.Last(1))
           {
               Up5[index] = M5.Result[index];
           }
           if (M5.Result.Last(0) <= M5.Result.Last(1))
           {
               Dn5[index] = M5.Result[index];
           }
           if (ColorBars == EnumColorBars.M1)
           {
              if (Bars.ClosePrices.Last(0) > M1.Result.Last(0))
                 Chart.SetBarColor(index, UpB);
              
              if (Bars.ClosePrices.Last(0) < M1.Result.Last(0))
                 Chart.SetBarColor(index, DnB);
           }
           if (ColorBars == EnumColorBars.M2)
           {
              if (Bars.ClosePrices.Last(0) > M2.Result.Last(0))
                 Chart.SetBarColor(index, UpB);
              
              if (Bars.ClosePrices.Last(0) < M2.Result.Last(0))
                 Chart.SetBarColor(index, DnB);
           }
           if (ColorBars == EnumColorBars.M3)
           {
              if (Bars.ClosePrices.Last(0) > M3.Result.Last(0))
                 Chart.SetBarColor(index, UpB);
              
              if (Bars.ClosePrices.Last(0) < M3.Result.Last(0))
                 Chart.SetBarColor(index, DnB);
           }
           if (ColorBars == EnumColorBars.M4)
           {
              if (Bars.ClosePrices.Last(0) > M4.Result.Last(0))
                 Chart.SetBarColor(index, UpB);
              
              if (Bars.ClosePrices.Last(0) < M4.Result.Last(0))
                 Chart.SetBarColor(index, DnB);
           }
           if (ColorBars == EnumColorBars.M5)
           {
              if (Bars.ClosePrices.Last(0) > M5.Result.Last(0))
                 Chart.SetBarColor(index, UpB);
              
              if (Bars.ClosePrices.Last(0) < M5.Result.Last(0))
                 Chart.SetBarColor(index, DnB);
           }
           
           if (ColorBars == EnumColorBars.ATR)
           {
              if (Bars.ClosePrices.Last(0) > MATR.Result.Last(0))
                 Chart.SetBarColor(index, UpB2);
              
              if (Bars.ClosePrices.Last(0) < MATR.Result.Last(0))
                 Chart.SetBarColor(index, DnB2);
           }
           if (ColorBarsX == EnumColorXBars.Yes)
           {
              if (Bars.HighPrices.Last(0) > (MATR.Result.Last(0)+Aspace*2))
                 Chart.SetBarColor(index, UpBX);
              
              if (Bars.LowPrices.Last(0) < (MATR.Result.Last(0)-Aspace*2))
                 Chart.SetBarColor(index, DnBX);
           }
           if (ColorArrowsE == EnumColorArrows.Yes)
            {
             if (M1.Result.Last(0) > M2.Result.Last(0) && M1.Result.Last(1) < M2.Result.Last(1) && M1.Result.Last(1) < M3.Result.Last(1))
             {
                Chart.DrawIcon("UP" + index, ChartIconType.UpArrow, index, Bars.LowPrices.Last(0) - espace , UpA);
             }
             if (M1.Result.Last(0) < M2.Result.Last(0) && M1.Result.Last(1) > M2.Result.Last(1) && M1.Result.Last(1) > M3.Result.Last(1))
             {
                Chart.DrawIcon("DN" + index, ChartIconType.DownArrow, index, Bars.HighPrices.Last(0) + espace , DnA);
             }
             }
           if (ColorArrowsA == EnumColorArrows.Yes)
            {
             if (Bars.LowPrices.Last(0) < (MATR.Result.Last(0)-Aspace*2))
              {
                Chart.DrawIcon("UP" + index, ChartIconType.UpArrow, index, Bars.LowPrices.Last(0) - espace , UpA);
              }            
             if (Bars.HighPrices.Last(0) > (MATR.Result.Last(0)+Aspace*2))
              {
                Chart.DrawIcon("DN" + index, ChartIconType.DownArrow, index, Bars.HighPrices.Last(0) + espace , DnA);
              }
           }
           
        }
     }
  }

VE
Splash The · 3 months ago

UpDate the MA's are now selectable ... Sorry my bad

VE
Splash The · 3 months ago

Yes thank you, that is much cleaner

I was trying to get my latest crossover indicater to trigger OnBar so I could use different wav files for different events, when Iasked C-GPT it suggested a sounplayed...previousbar... ex... but this would mostly only work in one direction, and it tryed to build a 16bit player as well (C-GPT dosn't realy understand cAlgo lmao)

VE
Splash The · 3 months ago

Try Net.4 Legacy.

VE
Splash The · 3 months ago

if macd crossover && rsi crossover && stochastic crossover && mafast> maslow

VE
Splash The · 3 months ago

This could expanded in so many ways, Tick volume if  (Bid => bid + 10) for higher volume notice

or

if (Bid => Bars.ClosePrices.Last(3) for direction notice

or like the 3 line strick indicator I made to notify reversals ???

VE
Splash The · 3 months ago

I notice almost strait away I can here trades being hedged

bing bing bong = buyers being stopped with sellers

bong bong bing = sellers being stopped with buyers

It works....

VE
Splash The · 3 months ago

or maybe....

eg;        var Upsound = GenerateSouns.Wave.Sine.500,200;

...       if .....

...       Notifications.PlaySound(Upsound);

...       ........

VE
Splash The · 3 months ago

That is exactly what I was thinking yes. Thank you.

Does this need the sound files or can we ask , eg PlaySound.SineSave.500khz,200ms;  .

I was thinking about how different tones could be used for different charts extra..

if file is needed I can make them with audacity and add / modify to (@"C:\......) ?

Using a sine generate comand then we can set any tone as needed.

using files I would need to duplicate indicator for each chart and set the file in each as needed. ?

VE
Splash The · 3 months ago

Open 5 charts EURUSD, GBPUSD, AUDUSD, EURAUD, GBPUSD on the 1 or 5 min and you see how these markets price against each other like a game of toss the ball.

VE
Splash The · 3 months ago

It's for Scalping as, if you just sit and watch after some time the brain starts to see paterns in market behavior ie; open, sessions, news, and like often during the news there is a raly then the hype dies of and the gap is closes back to original price like music / sports event you can hear the trend ...Maybe

It is an experiment that I wonder if I can here things instead of just staring all day like Pink Floyd...lol

VE
Splash The · 3 months ago

Interesting Code.

I have an idea but I dont know how to do it ( tried ChatGPT failed lol )

a simple Tick indicator with audio eg; up tick "Ping" down tick "Bong"  ... got any ideas  ?

VE
Splash The · 3 months ago

I have a similar indicator that shoes as clouds and or lines , it also has MACD but the output is set to "signal +50" to line up with RSI and Stochastic 50 but the scale needs to be set to each chart as needed.

Maybe you have some ideas to make this part automatic ?

VE
Splash The · 7 months ago

Nice indicator. I should get you to fix my codes ha ha ha . keep up the great work.

Very Much appreciated.

VE
Splash The · 7 months ago

OMG I'm so sorry yes that's the wrong one .... I will upload the write one now.

VE
Splash The · 7 months ago

Please go to his channel to learn more about how this works

https://www.youtube.com/@TheMovingAverage/videos

I'm not realy that good at coding but this seams to be as close to what he uses on TradingView

if anyone could help update this it would be AWESOME.

VE
Splash The · 7 months ago

The 6 Warnings are in the other indicator P2

VE
Splash The · 8 months ago

This is great I like it.

I wonder if can we add the D line and also a MACD crossover lines or cloud to it as well ?

VE
Splash The · 9 months ago

I found this very useful but it has a problem of trading when the RSI is flat in the middle range. Is there a way to tell it NOT to execute for example RSI 45-55 range ?