Einzelnen Beitrag anzeigen
  #11 (permalink)  
Alt 18.11.15
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von RonaldM Beitrag anzeigen
Hallo Dieter,
ich habe folgenden Eintrag im Expert Log:

2015.11.18 11:31:09.941 planing_pending_order EURUSD,M30 inputs: OpenHour=11; OpenMinute=32; UseCurrSymbol=true; UseOneAccount=true; NumberAccount=1234076297; Slippage=4; ShortEntry=1.06415; LongEntry=0.0; Lots=0.5; StopLoss=1.07; TakeProfit=1.05; Exp=1447871340; status=1; clBuy=16711680; clSell=255;

leider wurde um 11:32 keine pending oder eröffnet, egal ob beim status -1 oder 1 steht.
Mal abgesehen davon, dass der Codeschnipsel u.a. Compilierfehler enthält, denn bei:

if (status==-1 && Hour()==OpenHour && Minute()==OpenMinute) {
//double AskPrice = Ask;
//double BidPrice = Bid;

if (Ask < LongEntry) {
if(LongEntry > 0) OrderSend(Symbol(),OP_BUYSTOP,Lots,LongEntrySlippa ge,LongEntry-StopLoss,LongEntry+TakeProfit,"Buy",0,Exp,clBuy);
} else {
if(LongEntry > 0) OrderSend(Symbol(),OP_BUYLIMIT,Lots,LongEntry,Slip page,LongEntry-StopLoss,LongEntry+TakeProfit,"Buy",0,Exp,clBuy);
};

würde beim ersten OrderSend ein Parameterfehler auftauchen und nach der if-abschließenden } das ; beanstandet werden.
Desweiteren kann es passieren, dass genau zu der Zeit, wo Minute() == OpenMinute sein soll, eben kein Tick kommt, sondern erst wieder eine Minute später. Dann werden auch keine PendingOrders gesetzt.

Von der Programmlogik her, würde definitiv aus o.g. Code keine BuyLimitOrder gesetzt werden, denn wenn der Ask < LongEntry sein muß, würde der Preis der PendingOrdersetzung LongEntry über dem aktuellen Kurs liegen, was bei einer BuyLimitOrder nicht geht.

Und wenn in den Variablen unter StopLoss und TakeProfit Zahlen wie z.B. angegeben 100 benutzt werden und in OrderSend() dann für den tatsächlichen Stop LongEntry-StopLoss steht, wird auch keine PendingOrder gesetzt, weil es keinen Kurs gibt, der z.B. über 1.07 - 100 abgebildet werden könnte. Hier muß mindestens die 100 mit der systemeigenen Variablen Point multipliziert werden, mal ganz abgesehen von der Berücksichtigung der 4- bzw. 5-DigitBroker-Gegebenheiten.

Also, da muß noch ne Menge nachgearbeitet werden.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.