Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Schnauze voll, wer will 3,5 Euro in 5 Minuten? (http://www.expert-advisor.com/forum/showthread.php?t=4251)

Thomas Welling 11.05.15 16:03

Schnauze voll, wer will 3,5 Euro in 5 Minuten?
 
Hallo,

ich muss schon sagen diese mt4 sprache ist zum kotzen, ein error nach dem anderen.

Derjenige der mir diese eigentlich einfache Problemstellung löst bekommt 3,5 Euro per PayPal noch heute geschickt.

Ich will nur, dass dieser scheiß Expert OrderSelect und dann OrderClose benutzt um bei einem ShortSignal die LongPositionen zu verkaufen und umgekehrt.
egal was ich mache ich bekomme immer die fehlermeldung "ambiguous parameters..."





if (ShortSignal==true) {

//close LongOrders

ShortOrder= OrderSend(Symbol(),OP_SELL,0.3,Ask,3,e,1.0,sText,1 3,0,0);
ShortOrder= OrderSend(Symbol(),OP_SELL,0.3,Ask,3,e,1.0,sText,1 3,0,0);

x=false;
y=true;
}




if (LongSignal==true) {


//close ShortOrders

LongOrder = OrderSend(Symbol(),OP_BUY,0.3, Bid,3,e2,1.2,sText,13,0,0);
LongOrder = OrderSend(Symbol(),OP_BUY,0.3, Bid,3,e2,1.2,sText,13,0,0);

y=false;
x=true;


}

Grüße

traderdoc 11.05.15 16:37

ShortOrder= OrderSend(Symbol(),OP_SELL,0.3,Ask,3,e,1.0,sText,1 3,0,0);

Die 1 3 mit Freizeichen drin geht sicherlich nicht.
Dann gehe ich mal davon aus, dass die Variablen e und e2 double deklariert wurden und sText als string.

Aber der Hauptfehler liegt in der falschen Kurszuweisung:
Die LongOrder wird mit dem Ask und die ShortOrder mit dem Bid geöffnet!!

Ich sammel dann mal die 3,5€ an.

traderdoc

Thomas Welling 11.05.15 17:05

Code:




if (LongSignal==true) {
 
    if (ShortOrder >0){
   
  for(int w=OrdersTotal()-1;w>=0;w--)
   
 {
      if(!OrderSelect(w,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderType()==OP_BUY || OrderType()==OP_SELL)
      if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,CLR_NONE)){ Alert("fail deleting trade order"); }
    }
      }
     

      LongOrder = OrderSend(Symbol(),OP_BUY,0.3, Ask,3,e2,1.2,sText,13,0,0);
      LongOrder = OrderSend(Symbol(),OP_BUY,0.3, Ask,3,e2,1.2,sText,13,0,0);
   
      y=false;
      x=true;
     
 
  }


kommt leider immer noch die gleich fehlermeldung,

jetzt mal ein beispiel einer close funktion eingefügt.

error immer noch "ambiguous call to overloaded functions",
überlappende OrderSelect und OrderClose Parameter??

Sogar die close funktion an sich funktioniert nicht als skript, kann das am broker liegen?

wäre für hilfe wirklich sehr dankbar! bin am verzweifeln!

schicke auch den kompletten code per mail falls nötig möchte dass endlich die basics funktionieren, früher vor den upgrades ging alles wunderbar :(

traderdoc 11.05.15 17:16

Na dann probiere es doch erst mal mit einer OrderSend-Funktion.

Thomas Welling 11.05.15 17:17

ok habs grad behoben, keine fehlermeldung mehr, hatte orderselect und orderclose doppelt gemoppelt ich idiot.
die orderclose funktion klappt trotzdem nicht, keine fehlermeldung. außer die eigens implemetierte, falls eine order nicht geschlossen werden kann.

brauche also einfach nur ein einfaches script, dass eine order zuverlässig schließt ich erhöhe auf 5 euro.

traderdoc 11.05.15 17:20

Welche Nummer hat die Fehlermeldung?

traderdoc 11.05.15 17:22

Dann nimm für OrderClosePrice() Bid für Long und Ask für Short.

Thomas Welling 11.05.15 17:30

ok jetzt klappts irgendwie doch, habs gelöst. erst 45 min rätzeln und jetzt gehts aufeinmal alles, die 3,5 euro kriegste trozden einfach kurz email per pn .

Thomas Welling 11.05.15 17:36

das close script schließt die orders nur nicht wenn sie von einem expert geöffnet wurden. error 4109

traderdoc 11.05.15 17:41

Du hattest doch geschrieben, dass es keine externe Fehlermeldung gab.

Das ist der Text zu Fehler 4109:

4109

ERR_TRADE_NOT_ALLOWED

Trade is not allowed. Enable checkbox "Allow live trading" in the Expert Advisor properties


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:36 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum