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

Expert-Advisors Expert-Advisors für Metatrader 4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3824
Beiträge: 36908
Benutzer: 6.076
Aktive Benutzer: 496
Links: 80
Wir begrüßen unseren neuesten Benutzer: Spitzmaus
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 3 Stunden
- Spitzmaus
vor 5 Stunden
- juleslesqu...
vor einem Tag
- hmf44
vor einem Tag
- Crossa
vor einem Tag
- snatshit

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 41
Gesamt: 42
Team: 0
Team:  
Benutzer:  Domke01
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 13.07.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 9
Simon befindet sich auf einem aufstrebenden Ast
Standard

Hi "Bohne" ,
es funktioniert viel besser danke ...

LG Simon
  #12 (permalink)  
Alt 14.07.10
Elite Mitglied
 
Registriert seit: Jan 2010
Beiträge: 275
Bohne befindet sich auf einem aufstrebenden Ast
Standard

Na dann ist jut
  #13 (permalink)  
Alt 23.09.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 9
Simon befindet sich auf einem aufstrebenden Ast
Standard

Hallo,
Ich habe ein Problem mit meinem Ea: Er öffnet keine Long Positionen ...

Woran kann das liegen?

Danke im voraus...
Lg simon
  #14 (permalink)  
Alt 23.09.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 9
Simon befindet sich auf einem aufstrebenden Ast
Standard

//+------------------------------------------------------------------+//


#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4



extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = False;
extern double Lots = 0.1;
extern int Slippage = 0;
extern bool UseStopLoss = False;
extern int StopLoss = 30;
extern bool UseTakeProfit = False;
extern int TakeProfit = 60;
extern bool UseTrailingStop = False;
extern int TrailingStop = 30;

int BarCount;
int Current;
bool TickCheck = False;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {
BarCount = Bars;

if (EachTickMode) Current = 0; else Current = 1;

return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start() {
int Order = SIGNAL_NONE;
int Total, Ticket;
double StopLossLevel, TakeProfitLevel;



if (EachTickMode && Bars != BarCount) TickCheck = False;
Total = OrdersTotal();
Order = SIGNAL_NONE;

//+------------------------------------------------------------------+
//| Variable Begin |
//+------------------------------------------------------------------+

double Var1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, Current + 0);

double Buy1_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, Current + 0);
double Buy1_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_KIJUNSEN, Current + 0);
double Buy2_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, Current + 0);
double Buy2_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_SENKOUSPANA, Current + 0);
double Buy3_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_CHINKOUSPAN, Current + 0);
double Buy3_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_SENKOUSPANA, Current + 0);

double Sell1_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, Current + 0);
double Sell1_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_KIJUNSEN, Current + 0);
double Sell2_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_KIJUNSEN, Current + 0);
double Sell2_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_SENKOUSPANB, Current + 0);
double Sell3_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_CHINKOUSPAN, Current + 0);
double Sell3_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_SENKOUSPANB, Current + 0);

double CloseBuy1_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, Current + 0);
double CloseBuy1_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_KIJUNSEN, Current + 0);

double CloseSell1_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, Current + 0);
double CloseSell1_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_KIJUNSEN, Current + 0);


//+------------------------------------------------------------------+
//| Variable End |
//+------------------------------------------------------------------+

//Check position
bool IsTrade = False;

for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if(OrderType() == OP_BUY) {
//Close

//+------------------------------------------------------------------+
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+

if (CloseBuy1_1 < CloseBuy1_2) Order = SIGNAL_CLOSEBUY;


//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+

if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close

//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+

if (CloseSell1_1 > CloseSell1_2) Order = SIGNAL_CLOSESELL;


//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+

if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}

//+---------------------------+
//| Signal Begin(Entry) |
//+---------------------------+

if (Buy1_1 > Buy1_2 && Buy2_1 > Buy2_2 && Buy3_1 > Buy3_2) Order = SIGNAL_BUY;

if (Sell1_1 < Sell1_2 && Sell2_1 < Sell2_2 && Sell3_1 < Sell3_2) Order = SIGNAL_SELL;


//+----------------------------------+
//| Signal End |
//+---------------------------------+

//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}

if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}

//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}

if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}

if (!EachTickMode) BarCount = Bars;

return(0);
}
//
Thema geschlossen

Lesezeichen

Stichworte
adx, expert advisor builder, expert-advisor, rsi


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 00:04 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.
-----------------------------------------------------------------------------------------------------------------------------