Einzelnen Beitrag anzeigen
  #18 (permalink)  
Alt 26.05.15
pako pako ist offline
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Chton Beitrag anzeigen
Wir mir scheint liefert

Alert("Digits after decimal point=",MarketInfo("EURUSD",MODE_DIGITS));

5 digits, so wie ich es brauche,

jedoch bekomme ich diesen Wert mit den 5 Nachkommastellen nicht in die
Variable dAskPrice hinein. Nach der Zuweisung habe ich dort wieder nur 4 Nachkommastellen.

Habe auch probiert einen String wie "0.12345" per StrToDouble umzuwandeln:
Zack bekomme ich wieder 0.1234

Eine double - Variable kann noch 0.12345 aufnehmen - oder ?

Was mache ich falsch ?
Code:
//+------------------------------------------------------------------+
//|                                                        Chton.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int ticket,iSlipPage,iSLPips,iTPPips;
   double dStopLoss,dTakeProfit,dLots,dAskPrice,dBidPrice,dPoint;
   string sText;
   color cArrow;

   iSLPips=100; //Stop Loss in Pips
   iTPPips=100; //Take Profit in Pips
   dLots=0.01; //Amount of Lots
   iSlipPage=5;
   sText="My Order"; //Order Text
   cArrow=clrLime; //Order Arrow Color
   dAskPrice=NormalizeDouble(MarketInfo("EURUSD",MODE_ASK),5);
   dBidPrice=MarketInfo("EURUSD",MODE_BID);
   dPoint   =MarketInfo("EURUSD",MODE_POINT);

   dStopLoss=(dAskPrice-iSLPips*dPoint);
   dTakeProfit=(dAskPrice+iTPPips*dPoint);
   ticket=OrderSend("EURUSD",OP_BUY,dLots,dAskPrice,iSlipPage,dStopLoss,dTakeProfit,sText,2345678,0,cArrow);
   if(ticket<0)
     {
      Alert("OrderSend failed with error = #",GetLastError());
      Alert("Order-Text = ",sText);
      Alert("Lot-Size = ",dLots);
      Alert("Ask-Price = ",DoubleToString(dAskPrice,5));
      Alert("Bid-Price = ",dBidPrice);
      Alert("SL = ",dStopLoss);
      Alert("TP = ",dTakeProfit);
      Alert("SlipPage = ",iSlipPage);
     }
   else
     {
      Alert("OrderSend successful  ticket = ",ticket);
      Alert("Ask-Price = ",DoubleToString(dAskPrice,5));
     }
  }
//+------------------------------------------------------------------+