[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 216

 
Ich dachte, es gäbe dort keinen Laden - ich werde es mir noch einmal ansehen - danke.
 
Nein, über Fahrräder passt nicht. Ich muss eine Zeitkorrektur vornehmen - den Unterschied zwischen den Zeitzonen zweier verschiedener Terminals. Es ist eine Frage von Stunden. Ich werde selbst nach der Störung suchen.
 
Aleksander:
beim Start - Aufruf der Funktion, um zu prüfen, ob eine Kauforder in der SellStop-Orderschleife vorliegt... und entfernen Sie sie - wenn sich unter den offenen Aufträgen kein Kaufauftrag befindet...
Ich verstehe die Formulierung " Kaufauftrag ist in der SellStop-Orderschleife vorhanden " nicht .
 

siehe...

Rundlauf der eingestellten Aufträge (Start)

wir nehmen den Auftrag entgegen

- Wenn es sich um einen SellStop handelt (denken Sie an die magische Zahl - es ist auch ein Kaufauftragsschein {

über

Die Funktion bool OrderSelect( int index, int select, int pool=MODE_TRADES)


wir prüfen, ob der Auftrag existiert... - dies ist Ihr Kaufauftrag...

Wenn er nicht vorhanden ist, wird der aktuelle SellStop-Auftrag gelöscht.

}

} Ende der Auftragsschleife...

 
TheXpert:

InitsializeRealMasterOrders -- sucht hier nach einem Fehler.

Und hier noch etwas anderes - nicht um ein Fahrrad zu bauen - https://docs.mql4.com/ru/convert/timetostr



Immer noch eine Störung. In dem Unterprogramm liest der Code Daten aus den Zeilen des Textdokuments:

4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0

Der Zeitpunkt der Auftragseröffnung ist der sechste Parameter in dieser Zeile. Sie wurde von den Befehlen in die Variable vom Typ datetime eingelesen:

Stroka=FileReadString(FileHandle);// Öffnungszeit
r_master_OpenTime[i]=StrToTime(Stroka);// Öffnungszeit

Als Ergebnis haben wir einen Gott weiß was für einen Wert in der Variablen r_master_OpenTime[i]. Aber sobald ich den Typ von datetime in int geändert habe, ist alles in Ordnung. Ich programmiere seit mehr als fünf Jahren mit mql4, und ich kann immer noch nicht aufhören, mich zu fragen... :)

 
Aleksander:

siehe...

Rundlauf der eingestellten Aufträge (Start)

wir nehmen den Auftrag entgegen

- Wenn es sich um einen SellStop handelt (denken Sie an die magische Zahl - es ist auch ein Kaufauftragsschein {

über

Die Funktion bool OrderSelect( int index, int select, int pool=MODE_TRADES)


wir prüfen, ob der Auftrag existiert... - dies ist Ihr Kaufauftrag...

wenn er nicht vorhanden ist - dann den aktuellen SellStop-Auftrag löschen

}

Ende der Bestellschleife...

Ich habe diesen Blödsinn geschrieben

  int      i, k=OrdersTotal();
  
   for (i=0; i<k; i++)
 if(OrderType()==OP_SELLSTOP)
    if(OrderMagicNumber()==ticket)
 if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
  if(OrderType()==OP_BUY)return(-1); 
      else
        OrderDelete(OrderTicket());
Спасибо вроде работает))
 

drknn: Все равно глюк. В подпрограмме код считывает данные из строк текстового документа:

4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0

Der sechste Parameter in der Zeichenkette ist der Zeitpunkt der Auftragseröffnung. Sie wurde über Befehle in die Variable vom Typ datetime eingelesen:

Stroka=FileReadString(FileHandlе);// Время открытия
r_master_OpenTime[i]=StrToTime(Stroka);// Время открытия

Infolgedessen würde die Variable r_master_OpenTime[i] einen unwichtigen Wert enthalten. Aber sobald ich den Typ von datetime in int geändert habe, ist alles in Ordnung. Ich programmiere seit mehr als fünf Jahren mit mql4, und ich kann immer noch nicht aufhören, mich zu fragen... :)

Von hier aus
datetime StrToTime(string value)
Konvertierung einer Zeichenkette mit Uhrzeit und/oder Datum im Format "yyyy.mm.dd [hh:mi]" in eine Datetime-Zahl (Anzahl der seit dem 01.01.1970 verstrichenen Sekunden)
Das Format der Eingabedaten entspricht nicht den Erwartungen
 

Bitte beraten Sie mich, was zu tun ist, wenn:

In der Tester funktioniert gut, alles nach Plan, aber auf der realsk nicht öffnen Sie die Transaktion.

P.S. Brauche dringend Hilfe, Frage über Leben und Tod

 
Gek34:

Einen guten Tag an alle.

Ich habe versucht, einen Indikator zu schreiben, es scheint zu funktionieren, aber nur auf die Geschichte zeichnet es wie geplant und dann, wenn neue Kurse kommen, zeichnet es eine übliche Maske.

Der Code ist beigefügt:

int start()
{
int counted_bars=IndicatorCounted();
int i,n;
double Stark=0;
//----
i=Bars-counted_bars-1;//+50;
// n=Bars-counted_bars-1;
while(i>=0)
{
//----

double Ma=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i);
//double Ma1=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i+1);
if(Stark+Step*Point<Ma)Stark=Ma;
if(Stark-Step*Point>Ma)Stark=Ma;
ABuf[i]=Stark;

//----
i--;
}
return(0);
}


Bitte helfen Sie mir, das Problem zu beheben, damit es weiterhin Schritte zeichnen kann.

Ich würde das sehr begrüßen.

Gek.

Geben Sie mir den gesamten Code für den Indikator
 
Was ist falsch for (f=1;f<Bars;f++)
{
Price1 =(iClose(Symbol_1,0,0) - iClose(Symbol_1,0,f)) / MarketInfo(Symbol_1, MODE_POINT)
Price2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,f)) / MarketInfo(Symbol_2, MODE_POINT);
Spread = Price1 - Price2;
Print ("Price1="+Price1, " Price2="+Price2);
if (Spread==0){t=f; break;}
}
Price12 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,t)) / MarketInfo(Symbol_1, MODE_POINT);
Price22 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,t)) / MarketInfo(Symbol_2, MODE_POINT);
Spread2 = Price12 - Price22;


if (MathAbs(Spread2) >= razdvizka && Spread2 < 0) { Handel eröffnen }


Ich möchte den Balken fixieren, bei dem die Spanne gleich Null war, und von dort aus die Spanne kontrollieren