Wie programmiert man? - Seite 33

 
 

Auftragprüfen, der durch TP oder SL geschlossen wurde

hallo

Wie kann man überprüfen, ob der Auftrag durch TP oder SL geschlossen wurde?

Meister001

 

Hilfe bei der Kodierung!

int k, vOrders;

vOrders = OrdersTotal();

//{

double Profit = 0;

double PipsProfit = 0;

for (k=vOrders-1;k>=0;k--)

{

if (OrderSelect(k, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol()==Symbol() && ((OrderMagicNumber () == Reference) || MagicNumber==0))

{

if (OrderType() == OP_BUY) PipsProfit+ == ((Bid - OrderOpenPrice())/Point);

Profit+= OrderProfit();

else if (OrderType() == OP_SELL) PipsProfit+ = ((OrderOpenPrice() - Ask)/Point);

{

//Profit += OrderProfit();

}

}

}

}

Jemand gab mir diese Codierung in der Vergangenheit und ich versuchte, mit ihm zu arbeiten. Es gibt mir Fehler, die mit dem ' + ' nach PipsProfit. Kann jemand debuggen dies für mich bitte! Mit aufrichtiger Wertschätzung im Voraus für Ihre Hilfe.

Dave

 

if (OrderType() == OP_BUY) PipsProfit+ == ((Bid - OrderOpenPrice())/Point);

[/php]

The + after PipsProfit shouldn't be there at all. It is being used in a comparison NOT an incremental function. You're ASKING does PipsProfit equal Bid - etc etc ?

Try this...

[php]

if ((OrderType() == OP_BUY) && (PipsProfit == (Bid - OrderOpenPrice())/Point)){

// do something IF the above two conditions are TRUE...

}

Viel Glück

Lux

 

Das Problem ist, dass zwischen PipsProfit und '+' kein Leerzeichen steht und zwischen '=' und '+' ein Leerzeichen ...... - mit anderen Worten sollte es so aussehen ->

else if (OrderType() == OP_SELL) PipsProfit += ((OrderOpenPrice() - Ask)/Point); {

Sie sollten auch das zweite 'Profit += OrderProfit();' in den Code einfügen(entfernen Sie die '//')

 

Frage zur Kodierung

Ich weiß, dass ein EA so kodiert werden kann, dass er nur mit Demo-Konten handelt. Kann ich einen EA auch so kodieren, dass er NICHT auf PAMM-Konten handelt? Dies würde es dem EA ermöglichen, auf Live-Konten zu handeln, aber nicht für Money Manager verwendet werden, um auf PAMM-Konten zu handeln - es sei denn, es gäbe eine separate Lizenzvereinbarung.

 

Komma getrennte externe Variable(n)

Hallo,

für einen Indikator, den ich verwende, muss ich die Ziffern für jedes Symbol festlegen. Ich mache das im Code mit z.B.

if(Symbol()=="GBPJPY" || Symbol()=="EURJPY" || Symbol()=="USDJPY" ....and so on) nDigits = 2;[/PHP]

Now I like to spin these symbols off to an extern variable so that the user can set his symbols for himself. I thought to add sth. like

[PHP]extern string Symbols_nDigits2 = "GBPJPY,EURJPY,USDJPY";

Wie kann ich diese kommagetrennte Liste von Symbolen verwenden und sie aufteilen, so dass ich sie wieder im Indikatorcode wie oben gezeigt verwenden kann (if(Symbol()=="GBPJPY"....)?

(Oder gibt es da draußen eine bessere Lösung für dieses "Ziffernproblem"?)

Vielen Dank

 
MarketInfo( Symbol(), MODE_DIGITS )
 

perfekt, danke!

 

Dank Ihnen beiden funktioniert es jetzt. Ich weiß das wirklich zu schätzen!

Dave

<<<