[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 252

 
kon12:

Liebe Fachleute, könnten Sie mir einen Rat geben... Ich verwende die Linienzeichnung im Indikator:

Das Problem ist, dass, wenn ich zu einem anderen Zeitrahmen wechsle, die Linien entsprechend den neuen Parametern gezeichnet werden, aber die alten nicht gelöscht werden. Was sollte ich hinzufügen und wo sollte ich es platzieren, damit beim Wechsel zu einem anderen Zeitrahmen die alten Linien nicht gezeichnet werden? Danke...
Sie müssen deinit setzen, um alte Zeilen zu löschen.
 

Sag mir, was los ist:

double order=AccountEquity()/4100;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point, "buy_order",1,0,Green);


gibt er aus: 2011.03.08 16:35 ScaplerM5 EURUSD,M5: OrderSend Fehler 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5: ungültiger Betrag für OrderSend-Funktion

 
AndrejFX:

Sag mir, was los ist:

double order=AccountEquity()/4100;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point, "buy_order",1,0,Green);


gibt er aus: 2011.03.08 16:35 ScaplerM5 EURUSD,M5: OrderSend Fehler 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5: Ungültige Losgröße für OrderSend-Funktion

Wahrscheinlich ist das Grundstück kleiner als erlaubt.

D.h., wenn die zulässige Mindestmenge 0,1 ist, Ihre Menge aber 0,09 beträgt....

 

Guten Abend zusammen!

Können Sie mir bitte sagen, ob TimeCurrent(); - die letzte bekannte Serverzeit, die Zeit der letzten Notierung oder die letzte Ankunft eines beliebigen Instruments zurückgibt?

Meinen experimentellen Daten zufolge ist es die zweite.

Ich möchte nur, dass es jemand bestätigt!

Vielen Dank im Voraus für die Antwort!

 
BBSL:

Guten Abend zusammen!

Können Sie mir bitte sagen, ob TimeCurrent(); - die letzte bekannte Serverzeit, die Zeit der letzten Notierung oder die letzte Ankunft eines beliebigen Instruments zurückgibt?

Meinen experimentellen Daten zufolge ist es die zweite...

Ich möchte nur, dass es jemand bestätigt!

Vielen Dank im Voraus für die Antwort!

Eigentlich ist es die aktuelle Serverzeit...., die zuletzt empfangen wurde...
 
coronel:
Eigentlich ist es die aktuelle Serverzeit...., die zuletzt empfangen wurde...

Also nicht der Zeitpunkt der letzten Notierung für ein bestimmtes Währungspaar?
 
BBSL:

Nach meinen experimentellen Daten ist die zweite...

Ja, ja.

So steht es in der Hilfe - "letzte Serverzeit". Er ist nicht an eine bestimmte Währung gebunden.

 
sergeev:

Ja.



Also... Ich hatte also eine Frage...

Ich habe ein Bedürfnis in init(e), eine Funktion zu verwenden, die Ticks für die aktuelle Währung sammelt...

Ich habe es folgendermaßen gelöst -

double init_array[10];


int init (){

int count = 0;
int time = 0;
int size = ArraySize(init_array); 


time = TimeCurrent();

while (count != size){

if (time != TimeCurrent()){

time = TimeCurrent();

init_array [count] = Ask; 

count = count + 1;

}

}


}

Aber wenn Sie auf den Code und meine Frage achten, habe ich eine Menge Werte, die sich dummerweise wiederholen...

Was ist zu tun, damit der Expert Advisor nur auf das Eintreffen neuer Ticks für ein bestimmtes Instrument reagiert?

Ich habe die Idee, i und i+1 zu vergleichen, aber wenn zwei gleiche Einsen in einer Reihe eintreffen, verlieren wir einen der Werte.

Bitte helfen Sie mit))

 
BBSL:

Was zu tun ist, wie der EA reagieren nur auf eine neue Tick kommen für das gegebene Symbol?

entfernen, während

Verschieben Sie den Code zum Start

und Parameter

int count = 0;
int time = 0;

außerhalb

 
sergeev:
entfernen, während


Ja, das können Sie, aber wenn der Experte mehrere Währungen kennt, wird das Problem damit nicht gelöst, oder?

Aber vielleicht lässt sich dieses Problem ja in der Praxis lösen).