Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43252
Benutzer: 7.221
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Thomas75
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Stunde
- Thomas75
vor 14 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 536
Gesamt: 536
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 18.03.16
Neues Mitglied
 
Registriert seit: Sep 2014
Beiträge: 18
Traderole befindet sich auf einem aufstrebenden Ast
Standard OrderModifyError 1 ????

Hallo!
Ich habe einen EA geschrieben, der zwei Positionen eröffnet. Sobald die erste Posi in T/P gelaufen ist, soll der S/L der zweite Posi in auf Breakeven gezogen werden. Hier ist der Code:

int RSIperiode = 2;
int CCIperiode = 10;
int Start = 8;
int Ende = 22;
int magicnumber = 12345;
int ticketlong1,ticketlong2,ticketshort1,ticketshort2;
double lot = 0.1;
double slippage= 2 * Point;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{

checkforOrdersend();
checkforbreakeven();

}
//+------------------------------------------------------------------+

//================================================== ================
bool tradezeit()
{
int zeit = TimeHour(TimeLocal());

if(zeit > Start && zeit < Ende )
return (true);
else return (false);
}
//================================================== ================
bool checkforBuy()
{
double RSI = iRSI(NULL,0,RSIperiode,PRICE_CLOSE,1);
double CCI = iCCI(NULL,0,CCIperiode,PRICE_CLOSE,1);
double BB = iBands(NULL,0,20,2,0,PRICE_CLOSE,2,1);

if(RSI < 10 && CCI < -150 && Close[1] < BB)
return(true);
else return(false);
}

//================================================== ===================
double checkstoplosslong()
{
double StopplossLong = Close[1] - 100 * Point; // 10 PIPS S/L

return (StopplossLong);
}
//================================================== ===================
double checktakeprofitlong1()
{
double TakeprofitLong1 = Close[1] + 200 * Point; // T/P1 = 20 PIPS

return (TakeprofitLong1);
}
//================================================== ======
double checktakeprofitlong2()
{
double TakeprofitLong2 = Close[1] + 400 * Point; // T/P1 = 40 PIPS

return (TakeprofitLong2);
}
//================================================== ======
//================================================== ======
int checkforOrdersend()
{
if(Volume[0] == 1 && checkforBuy() == true && tradezeit() == true)
{
ticketlong1 = OrderSend(NULL,OP_BUY,lot,Ask,slippage,checkstoplo sslong(),checktakeprofitlong1(),"",magicnumber,0,B lue);
if(ticketlong1 == -1) Print(GetLastError());
}
if(Volume[0] == 1 && checkforBuy() == true && tradezeit() == true)
{
ticketlong2 = OrderSend(NULL,OP_BUY,lot,Ask,slippage,checkstoplo sslong(),checktakeprofitlong2(),"",magicnumber,0,B lue);
if(ticketlong2 == -1) Print(GetLastError());
}

return(0);
}
//================================================== ===================
int checkforbreakeven()
{
int i;
RefreshRates();

for(i = OrdersTotal()-1; i >= 0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderType() == OP_BUY && NormalizeDouble(Bid,Digits) >= NormalizeDouble(OrderOpenPrice()+200 * Point,Digits) && OrderTakeProfit() != checktakeprofitlong1() && OrderStopLoss() != OrderOpenPrice() )
{
if (!OrderModify(OrderTicket(),OrderOpenPrice(),Order OpenPrice(),OrderTakeProfit(),0,Yellow))
{
Print("Ordermodifylong:_",GetLastError());
}
else Print("Order has been modified");
}
}


return(0);
}

Kann mir da jemand weiterhelfen??? Ich danke schon mal im Voraus
  #2 (permalink)  
Alt 18.03.16
Neues Mitglied
 
Registriert seit: Sep 2014
Beiträge: 18
Traderole befindet sich auf einem aufstrebenden Ast
Standard

Also ich bekomme das ganze Journal voll mit OrderModifyError1, obwohl die Positionen richtig bearbeitet werden...
  #3 (permalink)  
Alt 18.03.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Muss nicht die Zeit oben als solche definiert werden? Start und Ende reicht da glaub ich nicht.

Soll man die Parameter nicht im MT einstellen können?
  #4 (permalink)  
Alt 18.03.16
Neues Mitglied
 
Registriert seit: Sep 2014
Beiträge: 18
Traderole befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnelle Antwort!

Die Zeit definiere ich in der Funktion tradezeit().

Ich habe den EA bei einem anderen Broker getestet und erhalte dort nicht die Fehlermeldung. Schon merkwerdürdig...
Thema geschlossen

Lesezeichen

Stichworte
breakeven, mql4, ordermodifyerror, ordermodifyerror 1, programmerung, programmierung metatrader, sl, tp

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------