[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 255

 
FAQ:

Vadim, niemand bezweifelt deine Genialität, ich meinte, dass all dies mit einfacheren API-Tools möglich ist, womit der Fragesteller begann, aber anstatt zu erklären und zu helfen, hast du das Gespräch wie üblich auf dein eigenes Thema gelenkt. Und die Folgen werden nicht lange auf sich warten lassen.

Was mich betrifft - alles schaltet, funktioniert, immer, und wie es sollte:

Der Coolste - Dima :-))

Nun, ich habe alles mit den einfachsten Mitteln der WinAPI gemacht. Haben Sie das noch nicht bemerkt? Ich habe Ihnen alle meine Varianten gezeigt.

Was sind die Folgen? Dass ich nicht weiß, wie man in MQL4 schreibt? Ich habe schon lange nicht mehr darin geschrieben. Ich habe die Eigenheiten vergessen.

Sie haben das völlig falsch verstanden.

 
Schalter, richtig. Erst schaltet sie um und dann zeigt sie an, es gibt also eine Verzögerung.
 
Was in Assembler nicht geschrieben werden kann, kann neu gelötet werden.
 
Auch der Lötkolben liegt irgendwo in der Nähe des Assemblers ;)))
 
Was für ein Diskussionsthema für euch Neulinge :) Assembler, API, grundlegendes Computerwissen :)
 

Hier bin ich wieder, ein Neuling, zum x-ten Mal...

Können Sie mir einen Tipp geben?

Ich erfinde gerade meinen EA. Ich beginne damit, einen Indikator zu erstellen, der Pfeile dorthin zeichnet, wo ich Trades platzieren würde.

Es zeichnet Pfeile, aber nicht wirklich da... Ich mache es folgendermaßen:

#property indicator_color1 LimeGreen

#Eigenschaft indicator_color2 Rot

....................

double ExtMapBuffer1[];

double ExtMapBuffer2[];

.................

SetIndexStyle(0,DRAW_ARROW);

SetIndexPfeil(0,225);

SetIndexPuffer(0,ExtMapPuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexPfeil(1,226);

SetIndexPuffer(1,ExtMapPuffer2);

SetIndexEmptyValue(0,0.0); //mein hier Fehler

............................

int Grenze1;

if(gezählte_Balken>0) gezählte_Balken--;

limit1=Balken-gezählt_Balken;

for(int j=0; j<limit1; j++)

..........................

If(meine Bedingungen für den Kauf)

ExtMapBuffer1[j+1]=High[j+1] // grüner Pfeil über dem letzten geschlossenen Balken - Kauf

else ExtMapBuffer1[j+1]=0.0; //nichts wird gezeichnet

If(meine Bedingungen für den Verkauf)

ExtMapBuffer2[j+1]=Low[j+1] // roter Pfeil nach unten unter den letzten geschlossenen Balken - verkaufen

sonst ExtMapBuffer2[j+1]=0.0; // es wird nichts gezeichnet

Ich betrachte den letzten Balkenschluss in Relation zu anderen Linien und möchte einen Pfeil über dem letzten geschlossenen Balken (nicht dem aktuellen) erhalten. Wenn ich also ein offenes Diagramm, z. B. für 5 Minuten, behalte, erhalte ich kontinuierlich Pfeile gezeichnet, bis meine Bedingungen erfüllt sind und offen bleiben.

Es scheint mir, dass ich mit j und j+1etwas durcheinander gebracht habe. Ich verstehe auch nicht, warum die Pfeile neu gezeichnet werden. Was in diesem Programm bewirkt, dass sie neu gezeichnet werden?

Können Sie mir bitte sagen, ob das nicht zu schwierig ist. Ich danke Ihnen.

 
sashaz:

Hier bin ich wieder, ein Neuling, zum x-ten Mal...

Können Sie mir einen Tipp geben?

......................

Ich betrachte die Schließung des letzten Balkens in Bezug auf andere Linien und ich möchte einen Pfeil über dem letzten geschlossenen Balken (nicht den aktuellen), so dass, wenn ich ein offenes Diagramm zum Beispiel 5 min, ich habe Pfeile kontinuierlich gezeichnet, bis meine Bedingungen erfüllt sind und bleiben, bis das Diagramm geöffnet ist.

Es scheint mir, dass ich mit j und j+1etwas durcheinander gebracht habe. Ich verstehe auch nicht, warum die Pfeile neu gezeichnet werden. Was in diesem Programm bewirkt, dass sie neu gezeichnet werden?

Können Sie mir bitte sagen, ob das nicht zu schwierig ist. Ich danke Ihnen.


Der Code ist sehr schlecht. Es fehlen die Initialisierungs- und Deinitialisierungsblöcke und die Startfunktion des Indikators.
 
drknn:

Der Code ist sehr schlecht. Es fehlen die Initialisierungs- und Deinitialisierungsblöcke und die Startfunktion des Indikators.
Ich habe sie einfach entfernt und die Stelle belassen, an der ich das Problem vermute.
 
Es ist besser, wenn Sie den vollständigen Code anzeigen und ihn über die Schaltfläche "SRC" einfügen.
 

Mann, ich hatte schon eine quälende Nacht voller Tests. Situation:

Wir schreiben ein Drehbuch.

if(OrderSend(Symbol(),0,0.1,NormalizeDouble(Ask,Digits),200,NormalizeDouble(Ask-150*Point,Digits),NormalizeDouble(Ask+150*Point,Digits),NULL,0,0,CLR_NONE)<0){
  Print("Ошибка - ",GetLastError());
}

Wir werfen es auf die vier Ziffern und alles ist in Ordnung. Bei einer fünfstelligen Zahl gibt der Teufel Fehler 130. Es ist zu beachten, dass der Mindestabstand für die Platzierung einer Stop-Order 10 Punkte beträgt. Wo liegt das Problem?

P.S.

Hier sind die Details zum Demokonto:

Anmeldung : 91249894
Passwort : xv7igki

Server: DEM15METADC11.efxnow.com