Wie programmiert man? - Seite 192

 

...

Gelöscht von mladen

Grund: Es hat keinen Sinn zu zeigen, was schief gehen kann

 

Danke

Danke....... Roger

 

brauche Code-Hilfe...

danke Leute...

 

Bitte um Hilfe

HALLO ZUSAMMEN,

Kann jemand bitte helfen, diesen Indikator nicht zu wiederholen Vergangenheit vor allem, wenn die Bar geschlossen wurde, der Indikator wiederholt manchmal 2 bis 3 Bars im Live-Handel nach Kerzen geschlossen wurden und wenn möglich eine Warnung hinzugefügt werden.danke im Voraus.

 

brauche Code Hilfe..

Hallo liebe Mitstreiter,

Ich bin kein Programmierer, aber ich wäre wirklich dankbar, wenn mir jemand bei diesem Problem helfen könnte.

Wie kann ich diesen Code umschreiben, so dass er folgendes tut;

if (Gesamte offene Bestellung = 0)

dann

lot = Type1Lot(order_type);

if (Gesamter offener Auftrag = 1)

dann

lot = Type2Lot(order_type);

wenn (Summe der offenen Aufträge > 2)

dann

lot = Type3Lot(order_type);

Vielen Dank an alle.

Vielen Dank

 

Gibt es einen besseren Weg zu codieren?

Ich habe ein Indi kodiert, das Swing-Hochs/Tiefs auf dem Diagramm anzeigt, und ich muss den letzten dieser Kurse kennen, bevor ich fortfahre. Dies ist mein Versuch, für diese beiden Preise zu suchen (daher brauche ich etwas Hilfe).

Meistens funktioniert das, aber heute war das letzte Swing-Hoch eigentlich das vorletzte Swing-Hoch.

Könnte sich bitte jemand dieses Problem ansehen und herausfinden, ob es einen besseren Weg gibt, diesen Teil zu kodieren?

Danke für jede Hilfe.

int highbar,lowbar,i,n;

double curlow=0,curhigh=0;

for (i=200;i>=1;i--)

{

if (Hoch<Hoch && Hoch<Hoch && Hoch && Hoch<Hoch)

{

curhigh=High;

highbar=i+2;

}

if (Niedrig>Niedrig && Niedrig>Niedrig && Niedrig>Niedrig && Niedrig>Niedrig)

{

curlow=Low;

lowbar=i+2;

}

}

//----Prüfung, ob es eine höhere/niedrigere Kerze seit dem letzten Fraktal gibt----------

n=MathMax(Hochbar,Tiefbar );

for (int x=n-1;x>=0;x--)

{

if (High[x]> curhigh)

{

curhigh=High[x];

highbar=x;

}

if (Low[x]< curlow)

{

curlow=Low[x];

lowbar=x;

}

}

Es sieht so aus, als ob die Einzüge nicht richtig eingefügt wurden, sorry.

 
forexarchitect:
Hallo liebe Mitstreiter,

Ich bin kein Programmierer, aber ich wäre wirklich dankbar, wenn mir jemand bei diesem Problem helfen könnte.

Wie kann ich diesen Code umschreiben, so dass er das Folgende tut?

if (Gesamte offene Bestellung = 0)

dann

lot = Type1Lot(order_type);

if (Gesamter offener Auftrag = 1)

dann

lot = Type2Lot(order_type);

wenn (Summe der offenen Aufträge > 2)

dann

lot = Type3Lot(order_type);

Vielen Dank an alle.

Schätzen Sie

Ich bin zwar kein Code-Experte, aber ich denke, Sie müssen alle Ihre Aufträge in einer Schleife durchgehen und zählen, welche Aufträge Ihre Vorgaben erfüllen. Verwenden Sie dann verschiedene if-Anweisungen für verschiedene Auftragstypen. ein Beispiel.

int total=OrdersTotal(),totalBuy,totalSell;

for (int q=0; q<total; q++ )

{

OrderSelect(q,SELECT_BY_TICKET,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)

totalBuy++;

else if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)

totalSell++;

}

Hier wähle ich die Tickets aus, die nach der magischen Nummer gezählt werden sollen, und zähle auch die Anzahl der Kurz- und Langtickets. Sie können den obigen Code als Beispiel verwenden.

 

Limit-Order auf 50 und 100 Psych-Level platzieren

Hallo, ich suche ein wenig Hilfe bei meinem Code. Wäre dies der Code, den ich verwenden sollte, um eine Markt-Limit-Order auf den runden Niveaus 50 und 100 eines Währungspaares zu platzieren. Ich möchte eine Order bei den 50 und 100 Levels über und unter dem aktuellen Ask/Bid platzieren.

if (Point == 0.00001) Poin = 0.0001; //6 digits

else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)

else Poin = Point; //Normal

for(double q=Ask*Poin,q<Ask+100*Poin,q++)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

for(double q=Bid*Poin,q>Bid-100*Poin,q--)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

Für jede Hilfe wäre ich dankbar.

 

Balken-Farbindikator

Hallo, kann bitte jemand mit einem MT4 Indikator helfen?

Bin mir nicht sicher, ob es machbar ist, aber die Balken müssen neu eingefärbt werden.

R1 = niedrigster Wert für die letzten 20 Balken + (2*ATR(10))

R2 = höchster Wert für die letzten 20 Balken - (2*ATR(10))

Wenn der Schlusskurs größer als R1 ist, wird der Balken unter .... hellblau gefärbt.

Wenn der Schlusskurs des vorherigen Balkens kleiner als R2 ist, wird der Balken als.... eingefärbt. FireBrick

Danke

A

 

immer noch auf der Suche nach Code-Beispiel für EA öffnen mehr als 1 Ordnung

Ich möchte nur 2 Aufträge auf einmal öffnen, 1 mit tp und 1 ohne und dann NIEMALS eine andere in diese Richtung öffnen, bis sich die Bedingungen ändern, um in der entgegengesetzten Richtung zu öffnen. dann schließen Sie alle und wiederholen Sie in der entgegengesetzten Richtung.

Ich versuche hart, es zu codieren, aber ... FAIL so weit.

Die größten Probleme sind 1 Position öffnet am Ende der Kerze Stick ... dann 2. öffnet am Ende der nächsten Kerze Stick. Ich bekomme auch mehr als 2 offene Positionen manchmal und ich bekomme eine neue Position jedes Mal, wenn 1st hits TP. ALLES SEHR SCHLECHT.

hier ist der Buy-Order-Code und verkaufen ist im Grunde das gleiche...

ANY TIPS wäre hilfreich, ich bin bereit, den Code zu tippen

Sogar einen EA, der dies tut, den ich mir als Beispiel ansehen kann...

Ich denke, diese Idee ist sehr wichtig und sollte in ALOT von verschiedenen EA's für Geld-Management-Zwecke aufgenommen werden.

DANKE TON

wenn ( ) {

Closebuy = True;

MAcrossDown = Wahr;

MAcrossUP= False;

OrdertotalCloseBuy = OrdersTotal();

int AttemptsTriedCloseBuy = 0;

bool OrderCloseBuy = False;

bool PositionClosedBuy = False;

if(OrdersTotal() > 0 ){

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);

if(OrderType() == OP_BUY){

for (int i = OrdertotalCloseBuy-1; i >= 0; i --) {

PositionClosedBuy = False;

AttemptsTriedCloseBuy = 0;

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

while (!PositionClosedBuy && AttemptsTriedCloseBuy < CloseposnAttempts) {

AttemptsTriedCloseBuy = AttemptsTriedCloseBuy + 1;

OrderCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, LimeGreen);

Sleep(PausezwischenBestellungen * 1000);

if(OrderCloseBuy == True) { // Position Closed Successful.

PositionClosedBuy = True;

// if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");

} else if( Order == False && AttemptsTried >= CloseposnAttempts ) {

Print( AttemptsTried + " attempts to close Market order " +

OrderTicket() + " fehlgeschlagen. Fehler [ " + GetLastError() + " ]" );

// if (SignalMail) SendMail( AttemptsTried, " attempts to close Buy Market order Failed" );

} // End If, Order:

} // End While Loop, AccountAvailable:

}///for

}//if ordertype

}//if orderstotal

Sleep(1000);

if(OrdersTotal() == 0 && Closebuy == True && Sell_Complete_Wait4Cross_Up == False) {

SellTicket1 = False;

SellTicket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, Bid - TakeProfit * Point, "SELL(#" + MagicNumber + ")", MagicNumber, 0, Red);

Sleep(PausebetweenOrders * 1000);

Sell_Complete_Wait4Cross_Up = True;

Buy_Complete_Wait4Cross_Down = False;

if (Ticket && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open 1st Sell");

Sleep(1000);

SellTicket2 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, 0, "2nd SELL(#" + MagicNumber + ")", MagicNumber, 0, Pink);

Sleep(PausebetweenOrders * 1000);

if (Ticket2 && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open 2nd Sell");

if(OrdersTotal() == 2 && MAcrossDown == True) {Sell_Complete_Wait4Cross_Up = True; Buy_Complete_Wait4Cross_Down = False;}

}//Ordersend

} //Kauf abschließen

Grund der Beschwerde: