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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3823
Beiträge: 36902
Benutzer: 6.071
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: Roerich
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 18 Stunden
- Roerich
vor 19 Stunden
- John_Liver...
vor 19 Stunden
- harry1001
vor einem Tag
- supadog
vor 2 Tagen
- POCJonah7

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 39
Gesamt: 40
Team: 0
Team:  
Benutzer:  Stier
Freunde anzeigen

Empfehlungen

Werbung

Like Tree1Likes
  • 1 Post By Odin
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 17.05.12
Neues Mitglied
 
Registriert seit: May 2012
Beiträge: 2
klaus befindet sich auf einem aufstrebenden Ast
Standard Bitte um Hilfe....

Hallo, bin neu im Forum-und noch "neuer" im erstellen von EA`s.

Mache im Moment meine ersten Gehversuche -bekomme aber das nachfolgende nicht compiliert(nicht erschrecken)
warscheinlich fast alles falsch??

Forex Expert Advisor Generator version 2.03 EA
//--------------------------------------------------------

#property copyright "Copyright © 2010, Forex EA Generator v2.03"
#property link "http://www.forexgenerator.com/"
#include <stdlib.mqh>

// exported variables
extern double BuyLots15 = 0.1;
extern int BuyStoploss15 = 20;
extern int BuyTakeprofit15 = 30;
extern double BuyLots12 = 0.1;
extern int BuyStoploss12 = 20;
extern int BuyTakeprofit12 = 30;
extern double SellLots16 = 0.1;
extern int SellStoploss16 = 20;
extern int SellTakeprofit16 = 30;


// local variables
double PipValue=1; // this variable is here to support 5-digit brokers
bool Terminated = false;
int Count13 = 0;


int init()
{

Comment(""); // clear the chart
}

// Expert start
int start()
{
if (Bars < 10)
{
Comment("Not enough bars");
return (0);
}
if (Terminated == true)
{
Comment("EA Terminated.");
return (0);
}

OnEveryTick14();

}

void OnEveryTick14()
{
if (true) PipValue = 10;
TechnicalAnalysis5();
PrintInfoToChart13();

}

void TechnicalAnalysis5()
{
if (iSAR(NULL, PERIOD_M15,0.03,0.2,0) > Open[0])
{
TechnicalAnalysis2x4();
IfOrderDoesNotExist9();

}
}

void TechnicalAnalysis2x4()
{
if ((iRVI(NULL, NULL,3,MODE_SIGNAL,0) > Open[0]) && (iCustom(NULL, PERIOD_M15, "Real_Woodie_CCI",3,2,27,26,10000,7,1,3,4,4,0) > Open[0]))
{
IfOrderDoesNotExist11();

}
}

void IfOrderDoesNotExist11()
{
bool exists = false;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}

if (exists == false)
{
BuyOrder15();

}
}

void BuyOrder15()
{

int ticket = OrderSend(Symbol(), OP_BUY, BuyLots15, Ask, 4, 0, 0, "My Expert", 1, 0, Blue);
if (ticket > -1)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), Ask - BuyStoploss15*PipValue*Point, Ask + BuyTakeprofit15*PipValue*Point, 0, Blue);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));

}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}

void IfOrderDoesNotExist9()
{
bool exists = false;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}

if (exists == false)
{
BuyOrder12();

}
}

void BuyOrder12()
{

int ticket = OrderSend(Symbol(), OP_BUY, BuyLots12, Ask, 4, 0, 0, "My Expert", 1, 0, Blue);
if (ticket > -1)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), Ask - BuyStoploss12*PipValue*Point, Ask + BuyTakeprofit12*PipValue*Point, 0, Blue);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
SellOrder16();

}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}

void SellOrder16()
{

int ticket = OrderSend(Symbol(), OP_SELL, SellLots16, Bid, 4, 0, 0, "My Expert", 1, 0, Red);
if (ticket > -1)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), Bid + SellStoploss16*PipValue*Point, Bid - SellTakeprofit16*PipValue*Point, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));

}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}

void PrintInfoToChart13()
{
string temp = "My EA\nExecuted : " + Count13 + "\n"
+ "Spread: " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD)/PipValue, 2)+ "\n"
+ "------------------------------------------------\n"
+ "ACCOUNT INFORMATION:\n"
+ "\n"
+ "Account Name: " + AccountName()+ "\n"
+ "Account Leverage: " + DoubleToStr(AccountLeverage(), 0)+ "\n"
+ "Account Balance: " + DoubleToStr(AccountBalance(), 2)+ "\n"
+ "Account Equity: " + DoubleToStr(AccountEquity(), 2)+ "\n"
+ "Free Margin: " + DoubleToStr(AccountFreeMargin(), 2)+ "\n"
+ "Used Margin: " + DoubleToStr(AccountMargin(), 2)+ "\n"
+ "------------------------------------------------\n";
Comment(temp);
Count13++;

}



int deinit()
{

}

  #2 (permalink)  
Alt 17.05.12
Benutzerbild von Odin
Mitglied
 
Registriert seit: Feb 2012
Beiträge: 54
Odin befindet sich auf einem aufstrebenden Ast
Standard

Hallo Klaus geht einwandfrei. Als Anhang deine Dateien
Angehängte Dateien
Dateityp: ex4 test.ex4 (8,1 KB, 11x aufgerufen)
Dateityp: mq4 test.mq4 (4,3 KB, 10x aufgerufen)
__________________
Robots Aktiv: keiner
  #3 (permalink)  
Alt 17.05.12
Neues Mitglied
 
Registriert seit: May 2012
Beiträge: 2
klaus befindet sich auf einem aufstrebenden Ast
Smile Vielen Dank

Hi Odin,
wie hast Du die Datei gemacht-habs nicht geschafft.
Habe in letzter Zeit den Fapturbo getestet -leider mit wenig Erfolg.
Versuche jetzt selber was zu basteln.
Welcher EA bringt bei Dir am meisten-bzw.was kannste empfehlen??
  #4 (permalink)  
Alt 17.05.12
Benutzerbild von Odin
Mitglied
 
Registriert seit: Feb 2012
Beiträge: 54
Odin befindet sich auf einem aufstrebenden Ast
Standard

Hallo Klaus,

ich habe einfach den Programmtext kopiert, dann in den MT4 Editor eingefügt und kompiliert.
Das mit dem empfehlen ist so eine Sache, ich denke das muss jeder für sich entscheiden. Lese Dir am besten hier im Forum die Beiträge durch, da wirst Du bestimmt eine Menge Tipps finden die Dir weiterhelfen.

Odin
Mast83 likes this.
__________________
Robots Aktiv: keiner
  #5 (permalink)  
Alt 06.06.12
Mitglied
 
Registriert seit: Dec 2011
Beiträge: 39
idefix2 befindet sich auf einem aufstrebenden Ast
Standard

Zu Deinem Programm ein Hinweis:

if (Terminated == true)
{
Comment("EA Terminated.");
return (0);
}

Das ist keine gute Idee, weil das wird BEI JEDEM TICK immer wieder aufgerufen, sobald terminated einmal true geworden ist. Der EA wird ja nicht beendet, sondern bei jedem Tick neu gestartet. Die Comment-Funktion würde ich dort aufrufen, wo der Befehl
terminated=true;
steht.
  #6 (permalink)  
Alt 05.08.12
Neues Mitglied
 
Registriert seit: Nov 2011
Beiträge: 6
oscar_888 befindet sich auf einem aufstrebenden Ast
Smile EA abaendern

Hallo Klaus,

Du bist ja ein perfekter EA Programmierer.
Ich bin Laie wuerde mich mal aber gerne mit dem Programmieren eines EA beschaeftigen. Wie oder wo faengt man denn da an ?
Ich bin bis jetz immer auf die nase gefallen bei gekauften EA' s und was auch immer.
Jetzt moechte ich das aendern und habe ein Bitte. ich habe einen kleine EA
( als exe, bekomme den aber eventuell auch mit Quellcode),
dieser EA schliesst alle offenen Trades , wenn ich ihn auf den Chart ziehe.
Ich moechte diesen EA abander, dass er mir einen offenen Trade nichts schliesst sondern einen Gegentrade aufmacht mit fixer Lotgroesse (1.1 Minilot ) , fixem SL ( 7 Pips ) und fixem TP ( 5 Pips ). Geht sowas und haettest Du eventuell Interesse sowas zu machen ? Oder kennst Du Jemand, der das machen koennte ???
Thema geschlossen

Lesezeichen

Stichworte
compilieren, forex generator, forexgenerator, forexgenerator.com, mql4, programmierung, programmierung metatrader


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 10:31 Uhr.



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