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)
-   -   Hilfe: EA öffnet nur einen Trade bei vorliegendem Signal, nicht bis Signalwechsel (http://www.expert-advisor.com/forum/showthread.php?t=3734)

2701ag 29.06.14 14:23

Hilfe: EA öffnet nur einen Trade bei vorliegendem Signal, nicht bis Signalwechsel
 
Hallo zusammen,

zunächst dickes Lob, ist ein klasse Forum hier!
Bin noch relativ neu in der MQL Welt konnte er schon das ein oder andere lernen:)

Bei mei akuellen EA, den ich am testen bin, läuft soweit alles, bis auf eine Kleinikeit:

Wenn ein Sgnal vorliegt, wird nur einmal getradet dann erst wieder bei Signalwechsel usw. Es sollten jedoch mehre Trades bis zum Signalwechsel durchgeführt werden, z.B. Take Profit 10 Punkte und dann nächster Trade so lange bis der Markt dreht...

Was mache ich falsch??:confused:

Hier meine Einstiegslogik:

// Execute on bar open
if(CheckOncePerBar == true)
{
int BarShift = 1;
if(CurrentTimeStamp != Time[0])
{
CurrentTimeStamp = Time[0];
bool NewBar = true;
}
else NewBar = false;
}
else
{
NewBar = true;
BarShift = 0;
}


if (NewBar == true) {

// Buy order
if(golong == true && BuyTicket == 0 )
{
OrderSelect(SellTicket,SELECT_BY_TICKET);

// Close order
if(OrderCloseTime() == 0 && SellTicket > 0)
{
double CloseLots = OrderLots();
double ClosePrice = Ask;

bool Closed = OrderClose(SellTicket,CloseLots,ClosePrice,UseSlip page,Red);
}

double OpenPrice = Ask;

// Calculate stop loss and take profit
if(StopLoss > 0) double BuyStopLoss = OpenPrice - (StopLoss);
if(TakeProfit > 0) double BuyTakeProfit = OpenPrice + (TakeProfit);

// Open buy order
BuyTicket = OrderSend(Symbol(),OP_BUY,LotSize,OpenPrice,UseSli ppage,BuyStopLoss,BuyTakeProfit,"Buy Order",MagicNumber,0,Green);

SellTicket = 0;
}


// Sell Order
if( goshort == true && SellTicket == 0)
{
OrderSelect(BuyTicket,SELECT_BY_TICKET);

if(OrderCloseTime() == 0 && BuyTicket > 0)
{
CloseLots = OrderLots();
ClosePrice = Bid;

Closed = OrderClose(BuyTicket,CloseLots,ClosePrice,UseSlipp age,Red);
}

OpenPrice = Bid;

if(StopLoss > 0) double SellStopLoss = OpenPrice + (StopLoss);
if(TakeProfit > 0) double SellTakeProfit = OpenPrice - (TakeProfit);

SellTicket = OrderSend(Symbol(),OP_SELL,LotSize,OpenPrice,UseSl ippage,SellStopLoss,SellTakeProfit,"Sell Order",MagicNumber,0,Red);

BuyTicket = 0;
}

return(0);
}
return (0);}

2701ag 30.06.14 18:48

Hmm, gibts hier keine Möglichkeit dass der EA nach dem Signal mehrere Trades macht, statt nur einen einizigen???

fxdaytrader 30.06.14 18:57

Um bei Deinem Beispiel zu bleiben, bspw. BUY, TP 10 pips, dann neue buy, usw.

dann muß man prüfen ob die letzte buy-order im Bereich des aktuellen Preises im tp geschlossen wurde und dann, sofern keine buy order offen ist, eine neue buy-order aufgeben.

Es gibt schon eas die das machen (oder so ähnlich), da müsstest Du google bemühen, oder die Forensuche (hier oder bspw. in der forexfactory).

2701ag 30.06.14 19:26

Hallo fxdaytrader, danke für deine Antwort, ich suche mich schon doof und dämlich aber entweder finde ich nicht das was ich brauche oder ich habs die ganze zeit vor augen und kapier die logik nicht...

fxdaytrader 30.06.14 19:43

sofern der hier fehlerfrei läuft könntest Du zumindest Teile davon sicher nutzen: I will code your EAs and Indicators for no charge - Page 206 @ Forex Factory


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