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: 36909
Benutzer: 6.083
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: Wombat
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 8 Stunden
- Wombat
vor 23 Stunden
- idur
vor einem Tag
- DarthTrade...
vor einem Tag
- Eren
vor 2 Tagen
- Rene1504

Onlineuser
'Wer ist online' anzeigen Benutzer: 4
Gäste: 62
Gesamt: 66
Team: 0
Team:  
Benutzer:  andi1604, andos02, fxnoob, Stier
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 04.06.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 2
horst85 befindet sich auf einem aufstrebenden Ast
Standard adx kreutzt aber passiert nichts...

hey.. also mein problerm ist folgendes:

ich will das ein trade ausgeführt wird wenn sich die adx linien d+ und d- kreutzen.... mal unabhängig davon in welche richtung. desweiteren soll es eine rolle spielen ob der rsi nun aufsteigend oder absteigend ist.
soweit der soll zustand.

der ist zustand sieht aber wie folgt aus:

es werden keine einzigen orders geöffnet! also hab ich gedacht es liegt nur an der rsi bedingung. wenn ich diese also lösche, werden überall wild orders geöffnet .... überall.. nur nicht da wo sich der adx kreutzt!

ich habe vom programmieren direkt nicht wiklich plan, deshalb habe ich sie bei Expert Advisor Builder for MetaTrader 4 gebaut.

als code kam da in der betreffenden zeile folgendes raus:

double Buy1_1 = iADX(NULL, PERIOD_M15, 14, PRICE_CLOSE, MODE_MINUSDI, Current + 0);
double Buy1_2 = iADX(NULL, PERIOD_M15, 14, PRICE_CLOSE, MODE_PLUSDI, Current + 0);
double Buy2_1 = iRSI(NULL, PERIOD_M15, 14, PRICE_CLOSE, Current + 1);
double Buy2_2 = iRSI(NULL, PERIOD_M15, 14, PRICE_CLOSE, Current + 0);

...

ein buy soll hiernach dann geöffnet werden wenn d+ = d- und rsi aktuell höher liegt als der rsi der 15 min vorher (das ganze soll auf 15m zugeschnitten sein) ... ich gehe doch davon das das die beiden linien auch gleich sind wenn sie sich kreutzen... wäre ja unlogisch wenn nicht.

wäre total genial wenn mir mal wer erklärt wieso dieser advisor nicht der logik folgt =)

edit:
mir ist grad aufgefallen das weiter untem im code ja noch sone zeile ist, in der steht wie diese einzelnen variablen miteinander agieren müssen der so. nur dummerweise find ich nun genau die datei des advisors net mehr die ich hierfür bräuchte.. habe mittlerweile zuviele auf dem pc.

Geändert von horst85 (04.06.10 um 19:16 Uhr)
  #2 (permalink)  
Alt 05.06.10
Elite Mitglied
 
Registriert seit: Jan 2010
Beiträge: 275
Bohne befindet sich auf einem aufstrebenden Ast
Standard

Da fehlt aber noch ne ganze menge

double Buy1_1 = iADX(NULL, PERIOD_M15, 14, PRICE_CLOSE, MODE_MINUSDI, Current + 1);
double Buy1_2 = iADX(NULL, PERIOD_M15, 14, PRICE_CLOSE, MODE_PLUSDI, Current + 0);
double Buy2_1 = iRSI(NULL, PERIOD_M15, 14, PRICE_CLOSE, Current + 1);
double Buy2_2 = iRSI(NULL, PERIOD_M15, 14, PRICE_CLOSE, Current + 0);

Ich glaube hier ist schon der erste fehler, ich kann das immer erst beurteilen wenn ich den ganzen code vor augen habe.

Jetzt ist die Frage soll die Orderausführung sofort passierren oder erst wenn der Balken in dem Timframe zu ende ist... Poste wenn dan die ganze orderstrategie rein, ich glaube so wir das nix :-) bis jetzt hast du ja nur die Variablen deklariert.

....

du darfst auch nie im einer prgrammstruktur schreiben, gleich, enweder >= oder <= . Klar ist der der punkt beim kreuzen gleich. Stell di mal vor, du hast kurz ein verbindungsfehler, was ja auch of passiert und in der zwischenzeit kreuen sich sie beider inids.!!??!!!
POste mal das komplette teil hier hoch...

Geändert von Bohne (05.06.10 um 14:51 Uhr)
  #3 (permalink)  
Alt 09.07.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 9
Simon befindet sich auf einem aufstrebenden Ast
Standard

Hallo,
Ich habe fast das gleiche Problem wie "horst85"... ich habe mir auch ein Programm bei "Expert Advisor Builder for MetaTrader 4 " gebaut.
Das Programm basiert auf dem Ichimoku Indikator.
Nun das Problem...
die Positionen sollen "long" geöffnet werden, wenn die "Tenkan-sen" Linie von unten die "Kijun-sen" Linie schneidet und TP gehen wenn die "Tenkan-sen" Linie die "Kijun-sen" Linie von oben schneidet. Das gleiche bei "short" nur andersherum. Dies passiert aber nicht so, wie ich es gerne hätte :-(
vielleicht könntet ihr mir bei meinem Programm helfen.?!?
danke im voraus...
L.G. Simon
  #4 (permalink)  
Alt 09.07.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

#property copyright "Expert Advisor Builder"
#property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"

extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = True;
extern double Lots = 1.0;
extern int Slippage = 3;
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_KIJUNSEN, Current + 0);
double Buy1_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, 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 CloseBuy1_1 = iIchimoku(NULL, 0, 7, 22, 44, MODE_KIJUNSEN, Current + 0);
double CloseBuy1_2 = iIchimoku(NULL, 0, 7, 22, 44, MODE_TENKANSEN, 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) Order = SIGNAL_BUY;

if (Sell1_1 >= Sell1_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);
}
//+------------------------------------------------------------------+
  #5 (permalink)  
Alt 10.07.10
Elite Mitglied
 
Registriert seit: Jan 2010
Beiträge: 275
Bohne befindet sich auf einem aufstrebenden Ast
Standard

Lass mich mal raten, Postioenseröffnung geht aber die schließung will nicht. Oder was meinst du mit funktioniert nicht. Du muss das problemchen schon ein wenig genauer beschreiben.
LG
Bohne
  #6 (permalink)  
Alt 10.07.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 9
Simon befindet sich auf einem aufstrebenden Ast
Standard

Ja so in etwa...
also: Die Positionen öffnen sich, allerdings auch nicht immer richtig, werdeen dann aber nicht geschlossen.
Das Zweite ist, das der Ea manchmal 200 positionen gleichzeiting öffnet, die dann innerhalb von sekunden alle geschlossen werden und so den spread als verlust verbuchen.
danke für die schnelle antwort.

LG Simon
  #7 (permalink)  
Alt 10.07.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 9
Simon befindet sich auf einem aufstrebenden Ast
Standard

das mit dem öffnen und schließen der positionen hab ich jetzt hinbekommen.
bleibt nur noch die frage mit den ca. 200 positionen die sich manchmal einfach so öffnen.
LG Simon
  #8 (permalink)  
Alt 12.07.10
Neues Mitglied
 
Registriert seit: Jun 2010
Beiträge: 9
Simon befindet sich auf einem aufstrebenden Ast
Standard

Das Problem mit den zu vielen Positionen kommt immer dann vor, wenn die linien sich nicht direkt kreuzen, sondern gleich sind.

Kennt jemand abhilfe?

Danke im voraus...
Lg simon

und das verbesserte Programm...
  #9 (permalink)  
Alt 12.07.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

#property copyright "Expert Advisor Builder"
#property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"

extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = True;
extern double Lots = 0.01;
extern int Slippage = 3;
extern bool UseStopLoss = True;
extern int StopLoss = 30;
extern bool UseTakeProfit = True;
extern int TakeProfit = 60;
extern bool UseTrailingStop = True;
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 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 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) Order = SIGNAL_BUY;

if (Sell1_1 <= Sell1_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);
}
//+------------------------------------------------------------------+
  #10 (permalink)  
Alt 12.07.10
Elite Mitglied
 
Registriert seit: Jan 2010
Beiträge: 275
Bohne befindet sich auf einem aufstrebenden Ast
Standard

versuch mal
--> extern bool EachTickMode = False;
Wenn er immer Prüfen soll, dann geht das ja auch nicht. Die Adx linie kreuzt sich auch an einem Bar bis 1000 mal, deswegen kann man das auch nicht immer dirkt prüfen sonder man mus ein kurssstab abwarten...
Ich hoffe mal das es daran liegt, ansonsten muss ich dich allein emit der suche belassen, keine zeit mir das ding anzuschauen
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 19:39 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.
-----------------------------------------------------------------------------------------------------------------------------