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)
-   -   Für mich neuland für euch bekannt (http://www.expert-advisor.com/forum/showthread.php?t=1545)

Mast83 22.08.11 21:53

Für mich neuland für euch bekannt
 
Hallo liebe MQL-und Forums-User:

Ich habe mir vor einigen Tagen die DVD vom Traders Mag bestellt in dem man die Programmiersprache MQL ein wenig näher gebracht bekommt. Für mich, der bisher keine Kenntnisse im Programmieren hatte, war diese investition eigentlich ganz gut, nur brauche ich hilfe für ein simpeles System zu dem ich gerade nicht weiter komme. Vll habe ich einen Denkfehler, deshalb wäre es schön wenn mal jemand drüber schauen kann. Es ist nichts komplexes, da ich ja erst in die Materie einsteigen will.

Es geht um folgendes:
Ich möchte mit einem SMA(14) Kauf und Verkaufsignale generieren.
Kaufsignal:
Sobald das Low der aktuellen Kerze > bzw über dem SMA ist und der Close der aktuellen Kerze > als das Open der aktuellen Kerze ist.

Verkaufsignal:
Sobals das High der aktuellen Kerze < bzw unter dem SMA ist und der Close der aktuellen Kerze < als das Open der aktuellen Kerze ist.

Hier das Script:
//+------------------------------------------------------------------+
//| Marcs erster EA.mq4 |
//| Der Marc |
//| Es gibt gar keinen Link dazu |
//+------------------------------------------------------------------+
#property copyright "Der Marc"
#property link "Es gibt gar keinen Link dazu"


extern double dLots=0.1;
extern int iStopLoss=150;
extern int iTakeProfit=50;
extern int iSlippage=3;
extern int iMaxTrades=1;
extern int iMagicNumber=210811;

int iTradeSignal=0;
int iOpenBuySignal=10;
int iCloseBuySignal=-10;
int iOpenSellSignal=20;
int iCloseSellSignal=-20;
int iNoSignal=-1;


double dMovingAvg1=0;

int iTotalTrades;
int iOrderOpenStatus;
int iErrorNumber;

string strErrorMessage;


int start()
{

dMovingAvg1 = iMA (NULL,NULL,14,0,MODE_SMA, PRICE_CLOSE,0);


//Buy-Logik

if (( Low[0] >dMovingAvg1) && (Open[0] < Close[0] ))
iTradeSignal = iOpenBuySignal;

//Sell-Logik

if (( High[0] <dMovingAvg1) && (Close[0] > Open[0] ))
iTradeSignal = iOpenSellSignal;

// Buy-Order ausführen

iTotalTrades=OrdersTotal();

if ((iTradeSignal == iOpenBuySignal) && (iTotalTrades < iMaxTrades))

{
double dBuyStopLoss=Ask-(iStopLoss*Point);
double dBuyTakeProfit=Ask+(iTakeProfit*Point);


iOrderOpenStatus=OrderSend (Symbol(), OP_BUY,dLots, Ask, iSlippage, dBuyStopLoss, dBuyTakeProfit, "Marcs erster EA",iMagicNumber,0,Green);
if (iOrderOpenStatus<0)
{
iErrorNumber=GetLastError();
Print ("Order fehlgeschlagen!: ", iErrorNumber);
return;
}
}

// Sell-Order ausführen

iTotalTrades=OrdersTotal();

if ((iTradeSignal == iOpenSellSignal) && (iTotalTrades < iMaxTrades))

{
double dSellStopLoss=Bid+(iStopLoss*Point);
double dSellTakeProfit=Bid-(iTakeProfit*Point);


iOrderOpenStatus=OrderSend (Symbol(), OP_SELL,dLots, Bid, iSlippage, dSellStopLoss, dSellTakeProfit, "Marcs erster EA",iMagicNumber,0,Red);
if (iOrderOpenStatus<0)
{
iErrorNumber=GetLastError();
Print ("Order fehlgeschlagen!: ", iErrorNumber);
return;
}
}


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


Vielen Dank für eure Hilfe

Racki 23.08.11 10:45

Ohne deinen Quelltext jetzt zu lesen, wo genau drückt denn der Schuh?

s.l.
Racki

sunnyboy20 23.08.11 12:18

hi,

habe auch diese DVD gekauft ;-)
aber bin anscheinend schon etwas weiter.
wenn du bis morgen wartest dann schreibe ich dir dein ea so um, habe heute leider keine zeit mehr..

sunnyboy20 23.08.11 12:20

achso und du musst die vorangegangene Kerze nehmen weil der Close der aktuellen geht nicht weil sie ja noch aktuell ist und nicht geschlossen...

Mast83 23.08.11 12:25

Zitat:

Zitat von Racki (Beitrag 4643)
Ohne deinen Quelltext jetzt zu lesen, wo genau drückt denn der Schuh?

s.l.
Racki


Vielen Dank für deine Hilfe...es werden so viele Orders erstellt, dass das System an sich total falsch läuft. Jeder Tick erstellt eine Order...

Mast83 23.08.11 12:28

Zitat:

Zitat von sunnyboy20 (Beitrag 4651)
achso und du musst die vorangegangene Kerze nehmen weil der Close der aktuellen geht nicht weil sie ja noch aktuell ist und nicht geschlossen...

Hi :) hört sich logisch an...wahrscheinlich stellt er deshalb zu jedem Tick eine Order. Ich Teste das mal aus. Ich hoffe nur, dass ich mit der ganzen programmiererei weiter kommen werde. Ist schon was kompliziert für nen Typen der nie was damit zu tun hatte ;)

sunnyboy20 23.08.11 12:40

noch ein kleiner tip deine idee ist zwar soweit gut aber hat einen kleinen denkfehler. Der ea wird auch trades eröffnen wenn der abstand der ima zum kurs wieder kleiner wird das heißt er eröffnet dann trades bis die ima wieder mit dem kurs kontakt hat das heißt er wält dann eher ungünstige einstiege wählen bei schon leicht fallenden kursen.
und wegen dem jeden Tick eine Order das liegt halt daran wie gerade oben beschrieben das er bei jedem tick überprüft ob deine buy/sell Kondition stimmt und du wenn du schaust stimmt sie bis die ima wieder in den kurs kehrt...solange löst er das entsprechnde signal aus

sunnyboy20 23.08.11 12:44

achso hatte ürbringens auch noch nie was damit zu tun erst seit nem halben jahr und hole mir auch sehr häufig hilfe im forum aber durch testen und probieren mit den indikatoren und überprüfen im chart kommt man schon sehr weit.
wo es bei mir auch scheitert sind komplexere sachen wie trailingstop oder breakeven was eigentlich sehr nützliche tools sind um trades abzusichern

Mast83 23.08.11 12:51

Zitat:

Zitat von sunnyboy20 (Beitrag 4655)
achso hatte ürbringens auch noch nie was damit zu tun erst seit nem halben jahr und hole mir auch sehr häufig hilfe im forum aber durch testen und probieren mit den indikatoren und überprüfen im chart kommt man schon sehr weit.
wo es bei mir auch scheitert sind komplexere sachen wie trailingstop oder breakeven was eigentlich sehr nützliche tools sind um trades abzusichern

Aloha,

also von Trailing-Stopps halte ich eigentlich gar nicht so viel...zumindest von den die Broker anbieten...bei nem MM nutzt er das schön aus um dich aus dem Markt zu kicken. Ich hoffe, dass es hier anders ist,a ebr der Broker weiß ja nicht wo meine Stopps etc sind...

sunnyboy20 23.08.11 12:56

Zitat:

Zitat von Mast83 (Beitrag 4656)
Aloha,

also von Trailing-Stopps halte ich eigentlich gar nicht so viel...zumindest von den die Broker anbieten...bei nem MM nutzt er das schön aus um dich aus dem Markt zu kicken. Ich hoffe, dass es hier anders ist,a ebr der Broker weiß ja nicht wo meine Stopps etc sind...

der Broker weiß auch bei deinem ea wo die stops und dein tp ziele sind ;-) da sie mit der order gesendet werden ;-) solange ich gewinn mitnehme können die mich ruhig kicken ;-)

das mit dem versteckten stops funtkioniert auch aber da muss der ea die ganze zeit den trade überwachen und das hat auch seine tücken fällt deine verbindung weg dann ist dein trade ohne stop noch im markt und kann ins bodenlose rauschen.....
und wie man das programmiert weiß ich nicht, wissen hier zwar bestimmt einige aber wird dir keiner umsonst machen da das richtig aufwand ist


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