Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1010

 

Leute, ich bekomme den Fehler 130, bitte berät mich, wenn ich kann. Bitte kritisieren Sie nicht zu viel, ich bin ein Anfänger.

.
.
.
   double step = 0.0005;
   double val,c,r,res;
   string str;
   int i; //цикличесская
   int stp=5;
.
.
.
   c=(Ask+Bid)/2;
   r=(MathRound(c*1000))/1000;
   if((r-c)==0){
      res=r;
   }
   else{
      if((r-c)>0){
         res=r-step;
      }
      else {
         res=r+step;
      }
   }
.
.
.
      ResetLastError();
      OrderSend(Symbol(),OP_BUYLIMIT,0.01,res-stp*(i+1)*Point,3,res-(stp*(i+1)-100)*Point,res-(stp*(i+1)+5)*Point,"|",0,0,CLR_NONE);
      Print("98-",GetLastError());
.
.
...
 

Hallo alle) beraten Sie mich bitte - ich kann nicht herausfinden, wie man den Code zu schreiben (Beispiel; 2 Roboter arbeiten - jeder hat seine eigene magik) die meisten der Kauf oder Verkauf von Aufträgen fallen auf den Auftrag Geschichte, dh wenn der Auftrag war ein Verkauf, die nächste Transaktion ist ein Kaufauftrag - das Problem ist, dass ich nicht wählen Sie die letzte Bestellung und die magik zusammenund daher die Art der Bestellung für einen bestimmten Roboter zu identifizieren (nur ein Teil des Codes funktioniert - wenn ich nur die letzte Bestellung der Geschichte wählen - perfekt funktioniert, wenn der Roboter ist ein und der zweite Code geschrieben für Listen alle Aufträge mit einer magischen Zahl druckt seine Nummer und schreibt seine Art, aber warum dann nicht den Wert zurückgeben letzten und ich kann nicht verstehen, warum) helfen Sie mir, es in einem ganzen hier 1 und 2 Code zu verbinden;

1) Code zur Bestimmung der letzten Bestellung, oder genauer gesagt, ihres Typs

int orderBS;

int total1=OrdersHistoryTotal()-1;

if(OrderSelect(total1, SELECT_BY_POS, MODE_HISTORY) == true) // Auftragsart

{ orderBS=OrderType();}

2) der Code zählt alle ausgeführten Geschäfte und zeichnet deren Auftragsnummer und -art auf, gibt aber nicht den letzten Auftrag aus

int k ;

int orderBS;

if(OrdersHistoryTotal()>0)

{ for(int O=OrdersHistoryTotal()-1; O>=0; O--)

{ if(OrderSelect(O,SELECT_BY_POS,MODE_HISTORY))

{ if(OrderMagicNumber()!=136) weiter;

if(BestellMagischeZahl()==136)

k=OrderMagicNumber();

orderBS=OrderType();

Alert("letzte Auftragsnummer 136 = ", "Auftragsnummer in der Historie=",O, "magische Nummer=",k, "order sat buy=",orderBS); }}}

WIE MAN DIE LETZTE BESTELLUNG AUS DER GESCHICHTE MIT EINER GESUCHTEN MAGISCHEN ZAHL ZURÜCKGIBT !!!


helfen Sie mir pliz!!!!!

 
Tema97:

Hallo alle) beraten Sie mich bitte - ich kann nicht herausfinden, wie man den Code zu schreiben (Beispiel; 2 Roboter arbeiten - jeder hat seine eigene magik) die meisten der Kauf oder Verkauf von Aufträgen fallen auf den Auftrag Geschichte, dh wenn der Auftrag war ein Verkauf, die nächste Transaktion ist ein Kaufauftrag - das Problem ist, dass ich nicht wählen Sie die letzte Bestellung und die magik zusammenund daher die Art der Bestellung für einen bestimmten Roboter zu identifizieren (nur ein Teil des Codes funktioniert - wenn ich nur die letzte Bestellung aus der Geschichte wählen - perfekt funktioniert, wenn der Roboter ist ein und der zweite Code geschrieben für Listen alle Aufträge mit einer magischen Zahl druckt seine Seriennummer und schreibt seine Art, aber warum dann nicht den Wert zurückgeben letzten und ich kann nicht verstehen, warum) helfen Sie mir verbinden diese in einem ganzen hier 1 und 2 Code;


1) Um den Quellcode korrekt in das Forum einzufügen, klicken Sie auf SRC und fügen Sie Ihren Code in das erscheinende Fenster ein.


2) Versuchen Sie es mit einem Skript wie diesem, ich habe es schnell skizziert und nicht getestet, da ich keine Aufträge in der Vergangenheit habe.

#property strict

void OnStart()
  {
   if(OrdersHistoryTotal()>0)
     {
      for(int i=OrdersHistoryTotal()-1; i>=0; i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
           {
            if(OrderMagicNumber()!=136) continue;
              {
               Print("Последний ордер с магик-номером 136: индекс ордера в истории = ",i,
                     " магик номер = ",OrderMagicNumber(),
                     " тип ордера = ",OrderType());
               return;
              }
           }
        }
     }
  }

3) Denken Sie daran, wenn nach if nur eine Anweisung steht, müssen Sie keine geschweiften Klammern { } setzen, aber wenn Sie 2 oder mehr Anweisungen haben, die von diesem if abhängen, müssen Sie sie in { } setzen. In Ihrem obigen Beispiel gibt es nach der Bedingung if(OrderMagicNumber()==136) 3 Anweisungen to=...; orderBS=...; und Alert(); aber sie befinden sich nicht innerhalb von { }.

 

"Ein Mann ist kein Soldat auf dem Feld!"

Hallo zusammen!

Gibt es jemanden von der LITMO(St. Petersburger Staatliche Universität für Informationstechnologien, Mechanik und Optik), der in St. Petersburg lebt und mit dem Sie sich persönlich treffen und über Programmierungsfragen diskutieren können?
Bitte kontaktieren Sie mich persönlich oder per E-Mail: leonid.belskiy@gmail.com !!!!!
 
paladin80:

1) Um den Quellcode korrekt in das Forum einzufügen, klicken Sie auf SRC und fügen Sie Ihren Code in das erscheinende Fenster ein.


2) Probieren Sie dieses Skript aus, ich habe es schnell skizziert und nicht überprüft, da ich keine Aufträge in der Geschichte habe.

3) Denken Sie daran, wenn nur eine Anweisung hinter if steht, müssen Sie keine geschweiften Klammern { } setzen, aber wenn 2 oder mehr Anweisungen von diesem if abhängen, müssen Sie sie in { } setzen. In Ihrem obigen Beispiel gibt es nach der Bedingung if(OrderMagicNumber()==136) 3 Anweisungen to=...; orderBS=...; und Alert(); aber sie befinden sich nicht innerhalb von { }.

- Es tut dasselbe wie der 2 Code - der letzte wählt nicht ((((((((((((

Kann ich so etwas wie ????? zum Feierabend machen oder gibt es auch dort keine Auswahl?

 
Hallo zusammen. Wer weiß schon, welche Lebensdauer ein eindimensionales statisches Array hat? Ist sie dasselbe wie eine lokale Variable oder nicht?
 
i999i:
Hallo zusammen. Wer weiß schon, welche Lebensdauer ein eindimensionales statisches Array hat? Ist sie dasselbe wie eine lokale Variable oder nicht?
Soll ich nach der Ausführung einer Funktion, in der das Array deklariert ist, dieses löschen oder etwas mit ihm machen, um Speicher freizugeben, oder wird es von selbst gelöscht?
 
i999i:
Sollte nach der Ausführung einer Funktion, in der ein Array deklariert wird, dieses gelöscht werden oder etwas unternommen werden, um Speicher freizugeben, oder wird es sich selbst löschen?
Solange das Programm läuft, existiert es (das Array)
 
Vinin:
Solange das Programm läuft, existiert es (Array)
Aber wenn ich es nur für 1 Tick pro Stunde brauche und den Rest der Zeit nicht ... wie lösche ich es ... es nimmt Speicherplatz weg
 
Können Sie mir sagen, wie oft das Diagramm von selbst neu gezeichnet wird? (sowie durchChartRedraw() erzwungen)