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)
-   -   Script funktioniert nicht bei allen Brokern (http://www.expert-advisor.com/forum/showthread.php?t=4108)

nobtrade 25.02.15 15:34

Script funktioniert nicht bei allen Brokern
 
Hallo,

ich habe ein kleine Script, welches ich mit Hotkeys zur schnellen Orderausführung nutze. Dieses Script läuft bei meinen Broker, Hanseatic Brokerhouse hervorragend. Bei meinem zweiten Broker GKFX funktionert es nicht, obwohl ich bei beiden Brokern den gleichen Metatrade Version 4.00 Build 765 einsetze.
Wenn ich das Script mit Hotkey starten möchte, passiert einfach gar nichts. Das gleiche Script für Buy funktioniert komischer weise????

Hier der Code:


extern double Lots = 1;
extern bool UseDeletePending = true;
extern bool UseStopLossModification = false;
extern double StopLoss = 10;
extern double TakeProfit = 10;
extern double Entry = 0.0000;


//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
if (UseDeletePending)
{
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();

bool result = false;

switch(type)
{
case OP_BUYLIMIT :
case OP_BUYSTOP :
case OP_SELLLIMIT :
case OP_SELLSTOP : result = OrderDelete( OrderTicket() );
}
}

}


int Mode = OP_SELLSTOP;

if (Bid < Entry && Entry > 0) Mode = OP_SELLLIMIT;
if (Entry == 0) {Entry = Bid; Mode = OP_SELL;}
double SLS = Ask + StopLoss, TPS = Bid - TakeProfit;

// neu eingefⁿgte Funktion, die den SL und TP der vorherigen Orders auf neue Werte setzt
if (UseStopLossModification)
{
if (OrdersTotal() > 0)
for (int j = OrdersTotal()-1; j >= 0; j--)
{
OrderSelect (j, SELECT_BY_POS, MODE_TRADES);
OrderModify (OrderTicket(), OrderOpenPrice(), SLS, TPS, 0, CLR_NONE);
}
}
// hier endet meine neue Funktion


if(Lots > 0)
OrderSend(Symbol(),Mode, Lots, Bid, 2, SLS, TPS);

return(0);
}
//+------------------------------------------------------------------+


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:46 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