Wie programmiert man? - Seite 150

 

Hallo, ich habe einen Experten, den ich benutze und der in der Lage sein muss, einen Kauf- oder Verkaufsauftrag erneut zu senden, wenn es ein Problem beim Öffnen des Auftrags gibt, weil der Server nicht verbunden oder beschäftigt ist oder was auch immer. Heute Morgen hätte er einen Auftrag öffnen sollen, konnte es aber nicht, weil die Plattform nicht verbunden war. In den Code jetzt ist es eingestellt, um 3 Sekunden zu warten, dann versuchen Sie es erneut, die es tat, aber es nur versucht, 3 mal dann gestoppt versuchen, den Auftrag durch zu senden. meine ea nicht skalpieren, sondern ist mehr ein mittelfristiger Handel, so dass ich nur 1-3 Trades pro Woche pro Paar erhalten. Wie kann ich es codiert haben, so dass es 10 Sekunden warten, bevor es wieder versucht, und dann wird es versuchen, den Auftrag zu senden, bis es durch bekommt, würde ich gerne die Möglichkeit der Anpassung es in den Code, wie viele Sekunden es wartet, um wieder zu versuchen und dann auch, wie viele Male wird es versuchen.

Ich habe einen Codeschnipsel beigefügt, damit jemand sehen kann, was geändert werden kann. Vielen Dank im Voraus für Ihre Hilfe!

Mike

RefreshRates();

int ticket=OrderSend(Symbol(),OP_BUY,ManagedLotSize(),Ask,Slippage,sl,tp, "Expert" + " - " + Period(),MagicNumber,0,Lime);

if(ticket<0)

{

Print("Fehler beim Öffnen der BUY-Order : ",GetLastError());

Sleep(3000); //---- 3 Sekunden lang warten

}

sonst

{

Pause;

}

}

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("BUY order opened : ",OrderOpenPrice());

}

sonst

{

Print("Fehler beim Öffnen der BUY-Order : ",GetLastError());

}

}

void ManageSell()

{

double tp,sl;

if (TakeProfit==0) { tp=0; } else { tp=Bid-TakeProfit*Point; }

if (StopLoss==0) { sl=0; } else { sl=Bid+StopLoss*Point; }

for (int i = 1; i <=5; i++) //---- Schleife if requote

{

RefreshRates();

int ticket=OrderSend(Symbol(),OP_SELL,ManagedLotSize(),Bid,Slippage,sl,tp, "Expert" + " - " + Period(),MagicNumber,0,Red);

if(ticket<0)

{

Print("Fehler beim Öffnen der SELL-Order : ",GetLastError());

Sleep(3000); //---- 3 Sekunden lang warten

}

sonst

{

Pause;

}

}

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("SELL order opened : ",OrderOpenPrice());

}

sonst

{

Print("Fehler beim Öffnen der SELL-Order : ",GetLastError());

}

 

Verwenden Sie die Include-Datei OrderReliable.

Lux

Dateien:
 

Hallo kevin07,

Ich werde die neue Version des nonlagzigzag Alarmsignals testen, wenn der Markt am Sonntag öffnet. Nochmals vielen Dank für deine Arbeit. Sie und andere hier, die ihre Zeit und ihr Fachwissen pro bono zur Verfügung stellen, machen viele von uns zu erfolgreicheren Händlern. Ich werde Sie über meine Ergebnisse mit dem neuen indi informieren.

Mit freundlichen Grüßen, Tom.

 

Hilfe zur Behebung dieses Indikators

Hallo an alle, wenn ich versuche, diesen Indikator zu kompilieren, erscheint dieser Fehler bei mir, könnte er bitte behoben werden?

danke

Dateien:
 
zombie333:
Hallo alle ,, wenn ich versuche, diesen Indikator zu kompilieren ,, diese Fehler erscheint mir ,, könnte es fix bitte danke sein

Keine Sorge, es handelt sich nicht um Fehler, sondern nur um Warnungen. Sie setzen die gesamte Bibliothek in den Indikator, aber nur den Teil verwendet.

 
Roger09:
Keine Sorge, es sind keine Fehler, es sind nur Warnungen. Sie haben die gesamte Bibliothek in den Indikator integriert, aber nur einen Teil davon verwendet.

Danke Roger, dass du mir sagst, was das bedeutet,,,,

aber warum erscheint es nicht, wenn ich es in das Diagramm einfüge?

Kannst du das bitte überprüfen?

 

Wenn Sie es in das Verzeichnis /experts/indicators gelegt und dann kompiliert haben, starten Sie Ihr Terminal neu und sehen Sie sich Navigator/Custom Indicators an.

 
Roger09:
Wenn Sie es in das Verzeichnis /experts/indicators legen und dann kompilieren, starten Sie Ihr Terminal neu und sehen Sie sich Navigator/Custom Indicators an.

Nein roger ,, dies ist, was ich meine ,,

Dateien:
 

Wenn Sie Ihren Indikator starten, sollten DLL-Importe erlaubt sein.

 
Roger09:
Wenn Sie Ihren Indikator starten, sollte der DLL-Import erlaubt sein.

danke Roger ,, jetzt funktioniert es ,,