Double Smoothed Stochastic

MQL4 Indikatoren

Auftrag beendet

Ausführungszeit 17 Stunden

Spezifikation

I have a Double smoothed Stochastic as shown in the attached image. It has a ton of errors when i compile it and i need someone to fix it and also add the option of sound and email alerts. Heres the code below.


//------------------------------------------------------------------
#property copyright "www.forex-tsd.com"
#property link      "www.forex-tsd.com"
//------------------------------------------------------------------
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1  DarkGray
#property indicator_color2  LimeGreen
#property indicator_color3  Green
#property indicator_color4  LightPink
#property indicator_color5  PaleVioletRed
#property indicator_width1  1
#property indicator_width2  2
#property indicator_width3  2
#property indicator_width4  2
#property indicator_width5  2
#property indicator_minimum 0
#property indicator_maximum 100

//
//
//
//
//

extern int    Stochastic.Period    = 55;
extern int    Ema.Smoothing.Period = 15;
extern double Up.Level             = 80;
extern double Down.Level           = 20;
extern string Unique.ID            = "DSS1";
extern color  Zone.Color           = C'255,238,210';

double sto[];
double stoUa[];
double stoUb[];
double stoDa[];
double stoDb[];
double inZone[];
double slope[];
string shortName;

//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//

int init()
{
   IndicatorBuffers(7);
   SetIndexBuffer(0,sto);
   SetIndexBuffer(1,stoUa); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,159);
   SetIndexBuffer(2,stoUb); SetIndexStyle(2,DRAW_ARROW); SetIndexArrow(2,159);
   SetIndexBuffer(3,stoDa); SetIndexStyle(3,DRAW_ARROW); SetIndexArrow(3,159);
   SetIndexBuffer(4,stoDb); SetIndexStyle(4,DRAW_ARROW); SetIndexArrow(4,159);
   SetIndexBuffer(5,inZone);
   SetIndexBuffer(6,slope);
      SetLevelValue(0,Up.Level);
      SetLevelValue(1,Down.Level);
         shortName = Unique.ID+" Double smoothed stochastic ("+Stochastic.Period+","+Ema.Smoothing.Period+")";
         IndicatorShortName(shortName);
   return(0);
}
int deinit() { ObjectDelete(Unique.ID); return(0); }


//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//

int start()
{
   int counted_bars=IndicatorCounted();
      if (counted_bars<0) return(0);
      if (counted_bars>0) counted_bars--;
            int limit=MathMin(Bars-counted_bars,Bars-1);
           
            static bool initialized = false;
            if (!initialized)
            {
               initialized = true;
               int window = WindowFind(shortName);
                  ObjectCreate(Unique.ID,OBJ_RECTANGLE,window,0,0,0,0);
                     ObjectSet(Unique.ID,OBJPROP_COLOR,Zone.Color);
                     ObjectSet(Unique.ID,OBJPROP_TIME1,Time[Bars-1]);
                     ObjectSet(Unique.ID,OBJPROP_PRICE1,Up.Level);
                     ObjectSet(Unique.ID,OBJPROP_PRICE2,Down.Level);
                     ObjectSet(Unique.ID,OBJPROP_BACK,true);
            }
            if (ObjectFind(Unique.ID)>-1) ObjectSet(Unique.ID,OBJPROP_TIME2,Time[0]);
 
   //
   //
   //
   //
   //
 
   for(int i=limit; i>=0; i--)
   {
      stoUa[i]  = EMPTY_VALUE;
      stoUb[i]  = EMPTY_VALUE;
      stoDa[i]  = EMPTY_VALUE;
      stoDb[i]  = EMPTY_VALUE;
      sto[i]    = iDss(Stochastic.Period,Ema.Smoothing.Period,i);
      inZone[i] = inZone[i+1];
         if (sto[i]>sto[i+1])                      slope[i]  =  1;
         if (sto[i]<sto[i+1])                      slope[i]  = -1;
         if (sto[i]>Up.Level)                      inZone[i] =  1;
         if (sto[i]<Down.Level)                    inZone[i] = -1;
         if (sto[i]<Up.Level && sto[i]>Down.Level) inZone[i] =  0;
         if (inZone[i]== 1 && slope[i]== 1) stoUa[i] = sto[i];
         if (inZone[i]== 1 && slope[i]==-1) stoUb[i] = sto[i];
         if (inZone[i]==-1 && slope[i]== 1) stoDb[i] = sto[i];
         if (inZone[i]==-1 && slope[i]==-1) stoDa[i] = sto[i];
   }
   return(0);
}


//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//

double workDss[][2];
double iDss(int StochasticPeriod, int EMAPeriod, int i, int instanceNo=0)
{
   if (ArrayRange(workDss,0) != Bars) ArrayResize(workDss,Bars); int r=Bars-i-1; instanceNo*=2;

   //
   //
   //
   //
   //

      double alpha = 2.0/(1.0+EMAPeriod);
      double sto   = 0;
      double max   = High[i];
      double min   = Low[i];
         for(int k=1; k<StochasticPeriod; k++)
         {
            max = MathMax(max,High[i+k]);
            min = MathMin(min,Low [i+k]);
         }           
         if (max!=min) sto = (Close[i]-min)/(max-min)*100.00;

         workDss[r][instanceNo] = workDss[r-1][instanceNo]+alpha*(sto-workDss[r-1][instanceNo]);
     
         //
         //
         //
         //
         //
     
         sto = 0;
         max = workDss[r][instanceNo];
         min = workDss[r][instanceNo];
            for(k=1; k<StochasticPeriod; k++)
            {
               max = MathMax(max,workDss[r-k][instanceNo]);
               min = MathMin(min,workDss[r-k][instanceNo]);
            }
            if (max!=min) sto = (workDss[r][instanceNo]-min)/(max-min)*100.00;

         workDss[r][instanceNo+1] = workDss[r-1][instanceNo+1]+alpha*(sto-workDss[r-1][instanceNo+1]);

         //
         //
         //
         //
         //
        
   return(workDss[r][instanceNo+1]);

}






Dateien:

GIF
DST.gif
48.9 Kb

Bewerbungen

1
Entwickler 1
Bewertung
(439)
Projekte
545
25%
Schlichtung
21
38% / 38%
Frist nicht eingehalten
83
15%
Frei
2
Entwickler 2
Bewertung
(508)
Projekte
764
63%
Schlichtung
33
27% / 45%
Frist nicht eingehalten
23
3%
Frei
3
Entwickler 3
Bewertung
(128)
Projekte
206
49%
Schlichtung
29
28% / 48%
Frist nicht eingehalten
33
16%
Frei
4
Entwickler 4
Bewertung
(195)
Projekte
395
28%
Schlichtung
155
20% / 52%
Frist nicht eingehalten
112
28%
Frei
5
Entwickler 5
Bewertung
(2422)
Projekte
3042
66%
Schlichtung
77
48% / 14%
Frist nicht eingehalten
340
11%
Arbeitet
Ähnliche Aufträge
Hello, This is pretty simple and its an indicator with On/Off button 1-Off will remove all indicator from the chart. 2-On will put them all back again with the same settings
Trading bot 300+ USD
We need bot that trades when medium and low impact news hits It will release pending order both directions few min prior to news impact And will have certain risk management strategy attached Example If Monday and Tuesday news successful clears profits It will reduce risk for next news events until new week starts each week message on tg: Dstatewealthtrading NOTE: 4 YAERS OF EXPERIENCE UPWORD, YOU MUST BE A
I need someone the create a supertrend indicator based on Heikin Ashi candles instead of normal candles. Needs to be exactly the same as the supertrend (original one) + ha from tradingview. In m1,m5,m15 the indicator must have the same values ​​found with the tradingview. Work that meets this requirement will be accepted ( depending on the broker and spread, however, a few pips of difference will be accepted)
Here is a detailed instruction for the coder to implement the vertical lines based on the BrainTrainSignalAlert indicator: --- **Task: Implement Vertical Lines for Alerts from BrainTrainSignalAlert Indicator** **Objective:** Create a system that adds vertical lines on specified timeframes (M5 or M30) whenever an alert is generated by the BrainTrainSignalAlert indicator on the H1, H4, and D1 timeframes. The lines
Hello Guys! I want to modify/fix the indicator that uses sequential type of entries (it calculates from 1 to 9) and if the conditions are met it provides an arrow (signal) with alert. The problem is that, sometimes (for unknown for me reasons) it repaints arrow signal. Like on the picture: Signal 1 - correct signal Signal 2 - correct signal Signal 3 - correct signal Signal 4 - repaints (signal 3 arrow dissapeared
Hi, I have a Live Data feature for my trading accounts that lets me check details like total open positions, number of lots, profits, etc. I need someone to add the number of pending orders to this live data. This is important for me to ensure that all accounts have the same number of pending orders, since I use a copy trading system. Also, there is a website where I check all the data. In this case, you would need
I came across an indicator that's perfectly good in catching spikes in boom amd crash but i would want it to be modified and to improve accuracy As a professional you will have to go through the indicator and explain to me the strategy with which the indicator was buid and tell me the possibility of improving it better
An EA that executes when the 21 and 55 SMA Cross on certain time frame also the EA will understand supply and demand levels and executes when price reacts on this levels specified and target/stoploss levels will be predetermined...also the robot will also comprise stochastic oscillator
I have a full code ,, There are some errors in this.It does not add to the chart, does not show arrow marks, does not alert ,, fix this problem and work properly,, Contact on telegram @Gw_rakib1
Starting from scratch, I need a solution to develop my own crypto trading and exchange platform. This platform should compare prices across various exchanges like Coinbase, Binance, KuCoin, and Unocoin, as well as different cryptocurrencies. The solution must identify opportunities to buy on one platform and sell on another for a profit, transferring funds to my personal wallet instantly for security. The bot should

Projektdetails

Budget
10 - 11 USD
Für die Entwickler
9 - 9.9 USD
Ausführungsfristen
von 1 bis 2 Tag(e)