Wie programmiert man? - Seite 27

 

Money Mangement - Ryan Jones Fixed Ratio Code

Der derzeitige Fixed Ratio Code funktioniert gut, aber ich möchte den folgenden Code konsolidieren, der derzeit so kodiert ist, dass er 20 Lots addiert.

void FixedRatioMM()

{

if (MM == True)

{

if (AccountEquity() >= InitialCapital && AccountEquity() < (InitialCapital+(1*Delta))) {MMLots=1*Lots;}

if (AccountEquity() > (InitialCapital + (1*Delta)) && AccountEquity() < (InitialCapital+(3*Delta))) {MMLots=2*Lots;}

if (AccountEquity() > (InitialCapital + (3*Delta)) && AccountEquity() < (InitialCapital+(6*Delta))) {MMLots=3*Lots;}

if (AccountEquity() > (InitialCapital + (6*Delta)) && AccountEquity() < (InitialCapital+(10*Delta))) {MMLots=4*Lots;}

if (AccountEquity() > (InitialCapital + (10*Delta)) && AccountEquity() < (InitialCapital+(15*Delta))) {MMLots=5*Lots;}

if (AccountEquity() > (InitialCapital + (15*Delta)) && AccountEquity() < (InitialCapital+(21*Delta))) {MMLots=6*Lots;}

if (AccountEquity() > (InitialCapital + (21*Delta)) && AccountEquity() < (InitialCapital+(28*Delta))) {MMLots=7*Lots;}

if (AccountEquity() > (InitialCapital + (28*Delta)) && AccountEquity() < (InitialCapital+(36*Delta))) {MMLots=8*Lots;}

if (AccountEquity() > (InitialCapital + (36*Delta)) && AccountEquity() < (InitialCapital+(45*Delta))) {MMLots=9*Lots;}

if (AccountEquity() > (InitialCapital + (45*Delta)) && AccountEquity() < (InitialCapital+(55*Delta))) {MMLots=10*Lots;}

if (AccountEquity() > (InitialCapital + (55*Delta)) && AccountEquity() < (InitialCapital+(66*Delta))) {MMLots=11*Lots;}

if (AccountEquity() > (InitialCapital + (66*Delta)) && AccountEquity() < (InitialCapital+(78*Delta))) {MMLots=12*Lots;}

if (AccountEquity() > (InitialCapital + (78*Delta)) && AccountEquity() < (InitialCapital+(91*Delta))) {MMLots=13*Lots;}

if (AccountEquity() > (InitialCapital + (91*Delta)) && AccountEquity() < (InitialCapital+(105*Delta))) {MMLots=14*Lots;}

if (AccountEquity() > (InitialCapital + (105*Delta)) && AccountEquity() < (InitialCapital+(125*Delta))) {MMLots=15*Lots;}

if (AccountEquity() > (InitialCapital + (125*Delta)) && AccountEquity() < (InitialCapital+(141*Delta))) {MMLots=16*Lots;}

if (AccountEquity() > (InitialCapital + (141*Delta)) && AccountEquity() < (InitialCapital+(158*Delta))) {MMLots=17*Lots;}

if (AccountEquity() > (InitialCapital + (158*Delta)) && AccountEquity() < (InitialCapital+(176*Delta))) {MMLots=18*Lots;}

if (AccountEquity() > (InitialCapital + (176*Delta)) && AccountEquity() < (InitialCapital+(195*Delta))) {MMLots=19*Lots;}

if (AccountEquity() > (InitialCapital + (195*Delta)) && AccountEquity() < (InitialCapital+(215*Delta))) {MMLots=20*Lots;}

}

else MMLots = Lots;

}

TimeFreedom

 

Ryan Jones

Hallo zusammen,

Ich habe fast 2500 Dollar für seinen EA bezahlt, das ist Mist. Als ich ihm schrieb, sagte er, dass es für ihn funktioniert. voller B*** S***, wenn er, sagen wir, 100 EAs verkauft hat, ist seine Bewegung ganz sicher im Hausse-Modus.

blueocean

 

Nicht ganz dasselbe

if (MM == True)

{

int i,n=0;

if (AccountEquity() >= InitialCapital)

{

for (i=1;i<=20;i++)

{

n += i;

if (AccountEquity() < (InitialCapital+(n*Delta)))

{

MMLots=i*Lots;

break;

}

}

}

}

else MMLots = Lots;

Sie haben ">=" nur auf der ersten wenn

 

Was ist der Code, um den Stop auf Break Even zu setzen?

Weiß jemand, wie ich etwas Code zu meinem ea hinzufügen kann, um den Stopp auf Break Even zu setzen oder sogar Kontext zu haben, wenn ich zu wie vielen ich auch immer hinzufügen möchte?

extern double BreakEven = 0;

Theres, dass Bit, aber was Code habe ich eigentlich setzen?

 

GIBT ES EINE MÖGLICHKEIT, EINEN AUSGEGLICHENEN VERLUSTSTOPP ZU SETZEN!!!!!

 
GIBT ES EINE MÖGLICHKEIT, EINEN AUSGEGLICHENEN VERLUSTSTOPP ZU SETZEN!!!!!

Verdammt. Beruhigen Sie sich. Hier ist der Code, den ich für die meisten meiner EAs verwende, vereinfacht für Ihre Anfrage.

void breakEvenManager()

{

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (BreakEven>0 )

{

if (OrderType()==OP_BUY)

{

if (Bid-OrderOpenPrice()>=Point*BreakEven)

{

if (OrderStopLoss()<OrderOpenPrice() || OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() ,OrderTakeProfit(),0,Green);

}

}

else if (OrderType()==OP_SELL)

{

if (OrderOpenPrice()-Ask>=Point*BreakEven)

{

if (OrderStopLoss()>OrderOpenPrice() || OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() ,OrderTakeProfit(),0,Red);

}

}

}

}

}
 

Danke, aber das passt nicht mit der externen breakeven Sache.

Ich habe es in sagt, Funktion "breakEvenManager" ist nicht referenziert und wird entfernt werden.

 
kjhfdgjfhdghdf:
Danke, aber das passt nicht mit der externen breakeven Sache. Ich habe es in sagt, Funktion "breakEvenManager" ist nicht referenziert und wird entfernt werden.

Sie müssen das Modul an irgendeiner Stelle in Ihrem Code aufrufen.

 

Ich brauche Hilfe bei einem einfachen Code

Hallo zusammen

ich brauche Hilfe bei einem einfachen Code, der den Auftrag umkehrt, wenn er verloren hat, und den gleichen Auftrag öffnet, wenn er gewonnen hat, und der erste Auftrag wird manuell geöffnet, wobei ein Takeprofit und ein Stopand gesetzt werden.

Vielen Dank für die Hilfe

 

mmmmmmm

Grund der Beschwerde: