[Archive!] I will write any expert or indicator for free. - page 109

 
sammi61:

If it's not a problem replace the stops with limits, my request, and give your shifter a go, I have time to experiment, I'll post the result. My camcohob@mail.ru thanks in advance. c
OK! I will do it tomorrow.
 
snail09:
OK! I'll do it tomorrow.

Thanks, looking forward to it.
 

Hello!

Can you use the Turtles trading strategy?

 

Hello, can you write an arrow with an audible signal linking the two cf's?

signal conditions:

1) at a higher timeframe (for example n1) AO crosses zero, after which the second condition is searched for

2) on 2 lower (for example m5) AO crosses zero in the same direction (it is logical that before it should go in the opposite direction because at the moment when on n1 AO will cross zero upwards, on m5 AO will already be above zero, i.e. I am interested in a new crossing after a rollback)

 

Message Board members, I have a question.

Renko charts and their use have been discussed here more than once. I have been using an Expert Advisor from codebase for a long time which builds Renko bars correctly, but the problem is that it draws them slightly wrong on reversal. Look, it draws them like this:

and I wish there was another bar like this:


Tell me what to change in the code. As far as I understand, we should change something in while loops in this code fragment:

bool UpTrend = High[i]+Low[i] > High[i+1]+Low[i+1];
        
            while(UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
 
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
 
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                                                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(High[i] > PrevHigh+BoxPoints || CompareDoubles(High[i], PrevHigh+BoxPoints)) {
                  PrevHigh = PrevHigh + BoxPoints;
                  PrevLow = PrevLow + BoxPoints;
                  PrevOpen = PrevLow;
                  PrevClose = PrevHigh;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
 
                    if(ShowWicks && DnWick < PrevLow) FileWriteDouble(HstHandle, DnWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                                
                FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevHigh;
                CurLow = PrevHigh;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(!UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
 
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
 
Hello! Help me find a simple EA. Places a pending order at a given distance from the price at a certain time with tp and sl. For example: at 23:55 it places an order at a distance of 10 pips from the current price. Immediately places tp=10 pips and sl=16 pips. Additionally: if an order has not triggered, it is deleted at 24:00; places unidirectional orders on different sides of the price. May be somebody can write, at least for the basic conditions or advise me where to look? I have not found anything similar in Code Base. Thanks in advance for any help.
 
Please help me tinker with this. I want the indicator would give a beep when there is a signal to buy and sell, but it does not work! Thanks in advance)

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4
//| Ramdass - Conversion only
//+------------------------------------------------------------------+
#property copyright "SilverTrend rewritten by CrazyChart"
#property link "http://viac.ru/"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Violet

//---- input parameters
extern int RISK=3;
extern inttern CountBars=350;
extern bool SoundAlert=true;
int SSP=9;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialisation function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| SilverTrend_Signal |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+SSP);
SetIndexDrawBegin(1,Bars-CountBars+SSP);
int i,shift,counted_bars=IndicatorCounted();
int i1,i2,K;
double Range,AvgRange,smin,smax,SsMax,SsMin,price;
bool uptrend,old;
//----

if(Bars<=SSP+1) return(0);
//---- initial zero
if(counted_bars<SSP+1)
{
for(i=1;i<=SSP;i++) val1[CountBars-i]=0.0;
for(i=1;i<=SSP;i++) val2[CountBars-i]=0.0;
}
//----

K=33-RISK;
for (shift = CountBars-SSP; shift>=0; shift--)
{

Range=0;
AvgRange=0;
for (i1=shift; i1<=shift+SSP; i1++)
{AvgRange=AvgRange+MathAbs(High[i1]-Low[i1];
}
Range=AvgRange/(SSP+1);

SsMax=High[shift]; SsMin=Low[shift];
for (i2=shift;i2<=shift+SSP-1;i2++)
{
price=High[i2];
if(SsMax<price) SsMax=price;
price=Low[i2];
if(SsMin>=price) SsMin=price;
}

smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;
val1[shift]=0;
val2[shift]=0;
if (Close[shift]<smin)
{
uptrend = false;
}
if (Close[shift]>smax)
{
uptrend = true;
}
if (uptrend!=old && uptrend==true) {val1[shift]=Low[shift]-Range*0.5;}
if (uptrend!=old && uptrend==false) {val2[shift]=High[shift]+Range*0.5;}
old=uptrend;
}
return(0);
}
//+------------------------------------------------------------------+
void SendAlert(string txt) {
if (Time[0] != tt) {
if (SoundAlert) {
if (txt == "buy") Alert("Trend Long " + Symbol() + ", " + Period());
if (txt == "sell") Alert("Trend Short " + Symbol() + ", " + Period());
}
tt = Time[0];
}
}
 
I will write an EA for free on an interesting indicator strategy without martingale. ToR in private or on email mqlskeptik@yandex.ua
 
Hi all, could you guys help me out, I would like to make a better volume indicator. To show how much is bought and sold on one volume candle. And when hovering over the volume a data window would pop up. I trade by volume and it would help me a lot. I would imagine it looks something like this. Thanks in advance!
 

This thread is being closed because it has not fulfilled its function for a long time.

Please write to the author of the thread(https://www.mql5.com/ru/users/kubodel/) as soon as possible.

All new posts will be deleted without warning.