Wie programmiert man? - Seite 154

 

Kikousi,

Vielleicht möchten Sie selbst die besten Koordinaten testen. FerruFX und CJA haben die besten Lösungen mit Standard-Eckpositionen und Benutzereingaben für die Objektplatzierung verwendet. Sie sollten sich auch OBJPROP_CORNER ansehen.

Versuchen Sie bitte auch, nicht dieselbe Anfrage zu posten, wie Sie sie gestellt haben. Die Benutzer sehen Ihren Beitrag, und wenn jemand Ihnen helfen kann, wird er es tun.

Vielen Dank!

Edit: Mit der Ecke Eigenschaft 0 ist oben links, 1 ist oben rechts, 2 unten links, 3 unten rechts. Es ist 0 zählen.

 

Hilfe bei der Fehlersuche in meinem EA

Hallo. Es tut mir leid, wenn dies das falsche Forum ist, um zu posten und bitte korrigieren, wenn es so ist.

Ich habe meinen eigenen EA programmiert und habe einige Probleme mit dem Ausfüllen von Orders und Stop Loss Orders. Kann mir jemand helfen? Ich kann den EA teilen.

Danke

 

codobro,

vielen Dank für Ihre freundliche Antwort.

Ich werde die gleiche Frage von nun an nicht mehr stellen.

Ich schätze Ihre Anregung.

In diesem Zusammenhang verstehe ich, dass die obere linke Position (0,0) ist, was ist dann die Angabe für die untere rechte Position zu diesem Zeitpunkt?

Kann ich z.B. (250,350) für die Anzeige der unteren rechten Seite verwenden, wenn die obere linke Position (0,0) ist?

Ich danke Ihnen im Voraus für Ihr Verständnis der obigen Ausführungen.

 

Indikatordiagramm zeigt nicht alle Daten an

Hallo

ich bin ziemlich gut in der C-Programmierung, aber ich fange mit MQL4 an.

Ich habe gerade meinen ersten Indikator erstellt und er zeigt ein Array teilweise in einem separaten Fenster an.

Mit teilweise meine ich, wenn man nach links scrollt, dann wird für einige Zeiträume nichts angezeigt, und wenn ich weiter nach links scrolle, dann werden Daten für einige Zeiträume angezeigt und so weiter.

Wenn man nach rechts scrollt, dann werden die gleichen Zeiträume nicht angezeigt.

Ansonsten sehe ich kein Muster.

Wenn ich von der 1-Minuten-Periode, in der einige Daten angezeigt werden, zur 5-Minuten-Periode wechsle, werden überhaupt keine Daten angezeigt.

Warum werden nicht alle Daten angezeigt? Was könnte ich übersehen haben?

 

Guter EA - Benötige Hilfe

Hai,

Gibt es jemanden in diesem tollen Forum, der diesen EA ohne Stop Loss modifizieren könnte.

Danke

//---- Eingabeparameter ---------------------------------------------+

extern int INCREMENT=35;

extern double LOTS=0.1;

extern int LEVELS=3;

extern double MAX_LOTS=99;

extern int MAGIC=1803;

extern bool CONTINUE=true;

extern bool MONEY_MANAGEMENT=false;

extern int RISK_RATIO=2;

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

bool UseProfitTarget=false;

bool UsePartialProfitTarget=false;

int Ziel_Erhöhung = 50;

int Erstes_Ziel = 20;

bool UseEntryTime=false;

int EntryTime=0;

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

bool Enter=true;

int nextTP;

int init()

{

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

nextTP = Erstes_Ziel;

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

return(0);

}

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

//| Experten-Deinitialisierungsfunktion |

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

int deinit()

{

return(0);

}

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

//| Experten-Startfunktion |

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

int start()

{

int ticket, cpt, profit, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;

double ProfitTarget=INCREMENT*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;

//----

if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;

if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);

if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))

{

Comment("Nicht genug freie Marge für den Anfang");

return(0);

}

for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())

{

Summe++;

if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());

if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)

{

double val=getPipValue(OrderOpenPrice(),OrderType());

takeProfit(val,OrderTicket());

}

}

}

if(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime)))

{

if(AccountFreeMargin()<(100*LOTS))

{

Print("Nicht genug freier Spielraum, um zu beginnen");

return(0);

}

// - Check öffnen - Zyklus starten

InitialPrice=Ask;

SellGoal=InitialPrice-(LEVELS+1)*INCREMENT*Point;

BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*Point;

for(cpt=1;cpt<=LEVELS;cpt++)

{

OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

}

} // Initial Setup abgeschlossen - alle Kanäle sind eingerichtet

else // Wir haben offene Orders

{

BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Point;

SellGoal=InitialPrice-INCREMENT*(LEVELS+1)*Point;

total=OrdersHistoryTotal();

for(cpt=0;cpt<total;cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}

}

if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}

BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);

SellGoalProfit=CheckProfits(LÖSCHEN,OP_SELL,false,Anfangspreis);

if(BuyGoalProfit<ProfitTarget)

// - Incriment Lots Buy

{

for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)

{

if(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

}

if(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;

}

}

if(SellGoalProfit<ProfitTarget)

// - Inkrement Lots Verkaufen

{

for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)

{

if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS))),MAGIC,0);

}

if(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;

}

}

}

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

Comment("mGRID EXPERT ADVISOR ver 2.0\n",

"FX Acc Server:",AccountServer(),"\n",

"Datum: ",Monat(),"-",Tag(),"-",Jahr()," Serverzeit: ",Stunde(),":",Minute(),":",Sekunden(),"\n",

"Minimale Losgröße: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",

"Kontostand: $",AccountBalance(),"\n",

"Symbol: ", Symbol(),"\n",

"Preis: ",NormalizeDouble(Bid,4),"\n",

"Pip Spread: ",MarketInfo("EURUSD",MODE_SPREAD),"\n",

"Increment=" + INCREMENT,"\n",

"Lots: ",LOTS,"\n",

"Levels: " + LEVELS,"\n");

return(0);

}

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

int CheckProfits(double LOTS, int Goal, bool Current, double InitialPrice)

{

int Gewinn=0, cpt;

if(Current)//Rückgabe des aktuellen Gewinns

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;

}

}

return(profit);

}

sonst

{

if(Ziel==OP_BUY)

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

sonst

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

}

}

bool EndSession()

{

int cpt, total=OrdersTotal();

for(cpt=0;cpt<total;cpt++)

{

Sleep(3000);

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);

else if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);

}

if(!CONTINUE) Enter=false;

return(true);

}

double getPipValue(double ord,int dir)

{

double val;

RefreshRates();

if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));

sonst val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));

val = val/Punkt;

return(val);

}

//========== FUNCTION takeProfit

void takeProfit(int current_pips, int ticket)

{

if(OrderSelect(ticket, SELECT_BY_TICKET))

{

if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))

{

if(OrderType()==1)

{

if(OrderClose(ticket, MAX_LOTS, Ask, 3))

nextTP+=Target_Increment;

sonst

Print("Fehler beim Schließen der Order : ",GetLastError());

}

sonst

{

if(OrderClose(ticket, MAX_LOTS, Bid, 3))

nextTP+=Ziel_Erhöhung;

sonst

Print("Fehler beim Schließen der Order : ",GetLastError());

}

}

}

}

 
hkstar98:
Hai,

Gibt es jemanden in diesem großen Forum, könnte diese EA ohne Stop-Loss modifiziert.

Danke

//---- Eingabeparameter ---------------------------------------------+

extern int INCREMENT=35;

extern double LOTS=0.1;

extern int LEVELS=3;

extern double MAX_LOTS=99;

extern int MAGIC=1803;

extern bool CONTINUE=true;

extern bool MONEY_MANAGEMENT=false;

extern int RISK_RATIO=2;

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

bool UseProfitTarget=false;

bool UsePartialProfitTarget=false;

int Ziel_Erhöhung = 50;

int Erstes_Ziel = 20;

bool UseEntryTime=false;

int EntryTime=0;

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

bool Enter=true;

int nextTP;

int init()

{

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

nextTP = Erstes_Ziel;

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

return(0);

}

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

//| Experten-Deinitialisierungsfunktion |

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

int deinit()

{

return(0);

}

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

//| Experten-Startfunktion |

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

int start()

{

int ticket, cpt, profit, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;

double ProfitTarget=INCREMENT*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;

//----

if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;

if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);

if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))

{

Comment("Nicht genug freie Marge für den Anfang");

return(0);

}

for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())

{

Summe++;

if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());

if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)

{

double val=getPipValue(OrderOpenPrice(),OrderType());

takeProfit(val,OrderTicket());

}

}

}

if(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime)))

{

if(AccountFreeMargin()<(100*LOTS))

{

Print("Nicht genug freier Spielraum, um zu beginnen");

return(0);

}

// - Check öffnen - Zyklus starten

InitialPrice=Ask;

SellGoal=InitialPrice-(LEVELS+1)*INCREMENT*Point;

BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*Point;

for(cpt=1;cpt<=LEVELS;cpt++)

{

OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

}

} // Initial Setup abgeschlossen - alle Kanäle sind eingerichtet

else // Wir haben offene Orders

{

BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Point;

SellGoal=InitialPrice-INCREMENT*(LEVELS+1)*Point;

total=OrdersHistoryTotal();

for(cpt=0;cpt<total;cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}

}

if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}

BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);

SellGoalProfit=CheckProfits(LÖSCHEN,OP_SELL,false,Anfangspreis);

if(BuyGoalProfit<ProfitTarget)

// - Incriment Lots Buy

{

for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)

{

if(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);

}

if(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;

}

}

if(SellGoalProfit<ProfitTarget)

// - Inkrement Lots Verkaufen

{

for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)

{

if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS))),MAGIC,0);

}

if(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;

}

}

}

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

Comment("mGRID EXPERT ADVISOR ver 2.0\n",

"FX Acc Server:",AccountServer(),"\n",

"Datum: ",Monat(),"-",Tag(),"-",Jahr()," Serverzeit: ",Stunde(),":",Minute(),":",Sekunden(),"\n",

"Minimale Losgröße: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",

"Kontostand: $",AccountBalance(),"\n",

"Symbol: ", Symbol(),"\n",

"Preis: ",NormalizeDouble(Bid,4),"\n",

"Pip Spread: ",MarketInfo("EURUSD",MODE_SPREAD),"\n",

"Increment=" + INCREMENT,"\n",

"Lots: ",LOTS,"\n",

"Levels: " + LEVELS,"\n");

return(0);

}

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

int CheckProfits(double LOTS, int Goal, bool Current, double InitialPrice)

{

int Gewinn=0, cpt;

if(Current)//Rückgabe des aktuellen Gewinns

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;

}

}

return(profit);

}

sonst

{

if(Ziel==OP_BUY)

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

sonst

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

}

}

bool EndSession()

{

int cpt, total=OrdersTotal();

for(cpt=0;cpt<total;cpt++)

{

Sleep(3000);

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);

else if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);

}

if(!CONTINUE) Enter=false;

return(true);

}

double getPipValue(double ord,int dir)

{

double val;

RefreshRates();

if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));

sonst val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));

val = val/Punkt;

return(val);

}

//========== FUNCTION takeProfit

void takeProfit(int current_pips, int ticket)

{

if(OrderSelect(ticket, SELECT_BY_TICKET))

{

if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))

{

if(OrderType()==1)

{

if(OrderClose(ticket, MAX_LOTS, Ask, 3))

nextTP+=Target_Increment;

sonst

Print("Fehler beim Schließen der Order : ",GetLastError());

}

sonst

{

if(OrderClose(ticket, MAX_LOTS, Bid, 3))

nextTP+=Ziel_Erhöhung;

sonst

Print("Fehler beim Schließen der Order : ",GetLastError());

}

}

}

}

Hallo

hier ist es

Dateien:
new.mq4  8 kb
 

codersguru:
jdun,

Der Code von SL & TP ist bereits in diesem EA geschrieben:

Sehen Sie sich diese Zeilen an:

if (Symbol()=="GBPUSD") {

PipsForEntry= 13;

TrailingStop = 40;

TakeProfit = 45;

InitialStopLoss=33;

} else if (Symbol()=="EURUSD") {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=23;

} else if (Symbol()=="USDCHF") {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=15;

} else {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=30;

} [/PHP]

If you want to make SL & TP external variables which you can set, you have to comment the above lines of code and uncomment these lines:

[PHP]/*

extern int PipsForEntry= 5;

extern double TrailingStop = 40;

extern double TakeProfit = 120;

extern double InitialStopLoss=50;

*/
 

Maximalhandel pro Signal

Weiß jemand, was ich verwenden würde, um die Anzahl der Trades pro Signal zu begrenzen (ich möchte 1 Trade pro Signal, aber ich bekomme etwa 8 und der letzte ist immer ein Verlierer)

 

Hilfe

Hai,

Es gibt immer noch einen Stop Loss

pghiaci:
Hallo, hier ist es
 

EA mit mehreren CUSTOM-Zeiten?

Ich weiß, ein EA kann mit mehreren Zeitrahmen gemacht werden, ABER kann man mit benutzerdefinierten Zeiten geschrieben werden? Ich habe einen EA w / MTF, aber ich brauche benutzerdefinierte Zeiten nicht Standard-Zeiten, so dass sie nicht "line up", dass oft.

Grüße

Grund der Beschwerde: