[Archiv!] Ich schreibe jeden Experten oder Indikator kostenlos. - Seite 109

 
sammi61:

Wenn es kein Problem ist, ersetzen Sie die Anschläge durch Begrenzungen, meine Bitte, und probieren Sie Ihren Schalthebel aus, ich habe Zeit zum Experimentieren, ich werde das Ergebnis posten. Mein camcohob@mail.ru Dank im Voraus. c
OK! Ich werde es morgen tun.
 
snail09:
OK! Ich werde es morgen tun.

Danke, ich freue mich darauf.
 

Hallo!

Können Sie die Turtles-Handelsstrategie anwenden?

 

Hallo, können Sie einen Pfeil mit einem akustischen Signal schreiben, der die beiden cf's verbindet?

Signalbedingungen:

1) bei einem höheren Zeitrahmen (z. B. n1) überschreitet AO den Nullpunkt, woraufhin nach der zweiten Bedingung gesucht wird

2) auf 2 niedrigeren (z.B. m5) kreuzt AO den Nullpunkt in der gleichen Richtung (es ist logisch, dass es vorher in die entgegengesetzte Richtung gehen sollte, denn in dem Moment, in dem AO auf n1 den Nullpunkt nach oben kreuzt, wird AO auf m5 bereits über dem Nullpunkt sein, d.h. ich bin an einem neuen Kreuzungspunkt nach einem Rollback interessiert)

 

Mitglieder des Message Board, ich habe eine Frage.

Renko-Charts und ihre Verwendung wurden hier bereits mehrfach diskutiert. Ich benutze seit langem einen Expert Advisor von codebase, der Renko-Balken korrekt aufbaut, aber das Problem ist, dass er sie bei Umkehrungen leicht falsch zeichnet. Schauen Sie, es zeichnet sie so:

und ich wünschte, es gäbe noch eine Bar wie diese:


Sagen Sie mir, was ich am Code ändern soll. Soweit ich das verstehe, sollten wir in diesem Codefragment etwas an den while-Schleifen ändern:

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++;
            }
 
Hallo! Helfen Sie mir, einen einfachen EA zu finden. Platziert einen schwebenden Auftrag in einem bestimmten Abstand zum Preis zu einer bestimmten Zeit mit tp und sl. Ein Beispiel: Um 23:55 Uhr wird ein Auftrag mit einem Abstand von 10 Pips zum aktuellen Kurs erteilt. Unmittelbar platziert tp=10 Pips und sl=16 Pips. Zusätzlich: wenn ein Auftrag nicht ausgelöst wurde, wird er um 24:00 Uhr gelöscht; platziert unidirektionale Aufträge auf verschiedenen Seiten des Kurses. Vielleicht kann mir jemand zumindest die Grundvoraussetzungen schreiben oder mir Tipps geben, wo ich suchen kann? Ich habe in Code Base nichts Ähnliches gefunden. Vielen Dank im Voraus für jede Hilfe.
 
Bitte helfen Sie mir, das Problem zu lösen. Ich möchte, dass der Indikator einen Signalton ausgibt, wenn ein Kauf- oder Verkaufssignal vorliegt, aber das funktioniert nicht! Vielen Dank im Voraus)

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4
//| Ramdass - Nur Konvertierung
//+------------------------------------------------------------------+
#property copyright "SilverTrend umgeschrieben von CrazyChart"
#property link "http://viac.ru/"

#property indicator_chart_window
#Eigenschaft indicator_buffers 2
#Eigenschaft indicator_color1 Aqua
#Eigenschaft indicator_color2 Violett

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

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

//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
string kurz_name;
//---- Indikatorzeile
IndikatorPuffer(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexPfeil(0,233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexPfeil(1,234);
SetIndexPuffer(0,val1);
SetIndexPuffer(1,val2);
//----
zurück(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(Balken<=SSP+1) return(0);
//---- anfänglicher Nullpunkt
if(gezählte_Balken<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--)
{

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

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

smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;
val1[shift]=0;
val2[shift]=0;
if (Close[shift]<smin)
{
Aufwärtstrend = false;
}
wenn (Close[shift]>smax)
{
Aufwärtstrend = wahr;
}
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;
}
zurück(0);
}
//+------------------------------------------------------------------+
void SendAlert(string txt) {
if (Zeit[0] != tt) {
wenn (SoundAlert) {
if (txt == "buy") Alert("Trend Long " + Symbol() + ", " + Period());
if (txt == "sell") Alert("Trend Short " + Symbol() + ", " + Period());
}
tt = Zeit[0];
}
}
 
Ich werde einen kostenlosen EA über eine interessante Indikatorstrategie ohne Martingale schreiben. ToR unter vier Augen oder per E-Mail mqlskeptik@yandex.ua
 
Hallo zusammen, könntet ihr mir helfen, ich würde gerne einen besseren Volumenindikator erstellen. Um zu zeigen, wie viel an einer Volumenkerze gekauft und verkauft wird. Und wenn Sie den Mauszeiger über den Datenträger bewegen, wird ein Datenfenster angezeigt. Ich handele nach Volumen und es würde mir sehr helfen. Ich könnte mir vorstellen, dass es in etwa so aussieht. Vielen Dank im Voraus!
 

Dieser Thread wird geschlossen, weil er seine Funktion schon lange nicht mehr erfüllt.

Bitte schreiben Sie dem Verfasser des Themas(https://www.mql5.com/ru/users/kubodel/) so bald wie möglich.

Alle neuen Beiträge werden ohne Vorwarnung gelöscht.

Grund der Beschwerde: