[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 737

 
trader265:
Leute, ich danke euch allen vielmals. Ich kümmere mich sofort darum. Wenn es nicht klappt, kann ich Sie dann belästigen?

Auch wenn heute niemand hier ist, wird Ihr Beitrag morgen gesehen. Es ist ja nicht so, dass wir hier ein Büro haben :), wo jeder am Ende des Tages geht :)
 
drknn:


Die Logik ist wie folgt:

Die Begrenzung auf 8 Indikatorpuffer ist durch die Sprache selbst bedingt. Es macht keinen Sinn, die Anzahl der anderen Arrays zu begrenzen, da sie die Größe von RAM + Auslagerungsdatei ohnehin nicht überschreiten kann. Es lohnt sich also nicht, es zu übertreiben. Ich meine, dass eine bestimmte Menge an Speicher für das Array zugewiesen wird.

Hier ist mein Problem:'SymbolSellColor' - interner Stapelüberlauf-vereinfachen Sie das Programm, bitte

Die Vergrößerung des Stapels hilft nicht. Der Code ist einfach, ich kann keine komplexen Texte schreiben. RAM, Swap - kein Problem, es ist genug.

 
Abzasc:

Hier ist mein Problem: 'SymbolSellColor' - interner Stapelüberlauf-vereinfachen Sie das Programm, bitte

Stack overflow - hilft nicht weiter. Der Code ist einfach, ich bin nicht gut darin, komplexe Texte zu schreiben. RAM, Swap - kein Problem, es ist genug.


Fragen Sie die Entwickler - vielleicht gibt es einige Probleme, die wir nicht kennen.
 

Ich habe eine Frage, warum ein schwebender Auftrag nicht geöffnet wird, bitte helfen Sie mir.

extern int TakeProfit=100;
extern int StopLoss=100;
extern double Lot=0.01;
extern int StartTime=0;
int Today=0;
int h=100;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{if(DayOfWeek()==0 || DayOfWeek()==6) return(0); // в выходные не работаем
if(!IsTradeAllowed()) return(0); // пропустим тик если терминал занят
int total = OrdersTotal();
if(total == 0)

   {NewOrder(OP_BUY,Lot);
    NewOrder(OP_SELL,Lot);
    NewOrder(OP_BUYLIMIT,Lot);
    Today=TimeDay(TimeCurrent());}
return(0);}

  
//+------------------------------------------------------------------+
int NewOrder(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR=0; //Цена
double PR1=0; //Цена1
while(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit>0) TP=Ask+TakeProfit*Point;
    if(StopLoss>0) SL=Ask-StopLoss*Point;}
if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit>0) TP=Bid-TakeProfit*Point;
    if(StopLoss>0) SL=Bid+StopLoss*Point;}
if(Cmd==OP_BUYLIMIT)
   {PR1=Ask-Point*h;
    if(TakeProfit>0) TP=PR+TakeProfit*Point;
    if(StopLoss>0) SL=PR-StopLoss*Point;}
int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,0,0,CLR_NONE);
int tic1=OrderSend(Symbol(),Cmd,Lot,PR1,3,SL,TP,0,0,CLR_NONE);
if(tic<0) Print(GetLastError());
if(tic1<0) Print(GetLastError());
return(tic);}
 
FoxUA:

Frage, was ist der Fehler, warum ein schwebender Auftrag nicht geöffnet wird Hilfe bitte

Ich erkenne meine Kommentare in Ihrem Code wieder :))))))))))

Prüfen Sie, was genau Sie der Funktion als Parameter übergeben und was genau die Funktion erhält, wenn sie ausgeführt wird - drucken Sie es aus.

 
drknn:
Ich erkenne meine Kommentare in Ihrem Code wieder :))))))))))

Prüfen Sie genau, was Sie der Funktion als Parameter übergeben und was die Funktion bei der Ausführung erhält - drucken Sie das aus.


Ich sammle seit ca. 3 Stunden den Lego Constructor und die ausstehende Bestellung will sich nicht öffnen.
 
drknn:
Ich erkenne meine Kommentare in Ihrem Code wieder :))))))))))

Prüfen Sie genau, was Sie der Funktion als Parameter übergeben und was die Funktion bei der Ausführung erhält - drucken Sie das aus.


Ich weiß, wie man die nächste Funktion ausführt

int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,0,0,CLR_NONE);


nach dieser Funktion

int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR1=0; //Цена1
while(!IsTradeAllowed()) Sleep(100);

if(Cmd==OP_BUYLIMIT)
   {PR1=Ask-Point*h;
    if(TakeProfit>0) TP=PR1+TakeProfit*Point;
    if(StopLoss>0) SL=PR1-StopLoss*Point;}

int tic1=OrderSend(Symbol(),Cmd,Lot,PR1,3,SL,TP,0,0,CLR_NONE);

if(tic1<0) Print(GetLastError());
return(tic1);}
 

Ich verstehe es, Sie müssen nur den Betreiber nicht nur einen Parameter, sondern durch andere setzen

 

Frage: Welche Funktion ist für das Verfallsdatum einer Order zuständig? Ich sehe es nicht und es heißt 147 Die Verwendung des Verfallsdatums ist vom Broker nicht erlaubt

 

expiration - Ablaufdatum des schwebenden Auftrags. Wenn die Verfallszeit erreicht ist, wird der schwebende Auftrag automatisch auf dem Handelsserver geschlossen. Auf einigen Handelsservern kann die Anwendung der Verfallszeit für schwebende Aufträge untersagt sein. In diesem Fall wird der Handelsauftrag abgelehnt, wenn versucht wird, einen Wert ungleich Null für den Parameter festzulegen.

Welcher Wert sollte eingestellt werden, damit der Auftrag nicht abgelehnt wird?