Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3823
Beiträge: 36919
Benutzer: 6.071
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: Roerich
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 15 Stunden
- Roerich
vor 15 Stunden
- John_Liver...
vor 15 Stunden
- harry1001
vor einem Tag
- supadog
vor 2 Tagen
- POCJonah7

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 42
Gesamt: 43
Team: 0
Team:  
Benutzer:  Dennis605
Freunde anzeigen

Empfehlungen

Werbung

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #21 (permalink)  
Alt 28.01.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

hier nochmal der ganze code :

Code:
// GLOBALE VARIABLEN --- UM SIE IN ALLEN FUNKTIONEN ZU VERWENDEN!!!
//+------------------------------------------------------------------+
// --- Variablen vom Benutzer Festlegen: (Global)
//+------------------------------------------------------------------+
extern double HandelsLots = 0.1; // Größe der Handels Lots
extern double SL_Prozent = 0.5; // StopLoos in Prozent
extern double TP_Prozent = 1.5; // TakeProfit in Prozent
extern int MagicNummer = 12345;
//+------------------------------------------------------------------+
// --- Variablen fest Festlegen: (Global)
//+------------------------------------------------------------------+

datetime PeriondenStartZeit; // zum feststellen einer neuen Perionde
bool NeuePeriodeBegonnen;
bool LongSignal;
bool ShortSignal;
int LongOrder;
int ShortOrder;



// --- Strings für Symbole des Dax30 festlegen
string syDax = "EUREX.FDX";


//+------------------------------------------------------------------+
//| Expert initialization function - Start von EA                    |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   PeriondenStartZeit = Time[0];
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function - Ausführen beim Ende von EA    |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function  (StartZeit                                           |
//+------------------------------------------------------------------+
void OnTick()
{
//---

double StoppLoss;
double TakeProfit;
bool OrderAngepasst;
int TP;
int SL;
double NachkommaTP;
double NachkommaSL;

// Überprüfen ob ein neuer Periodenbeginn vorliegt
if (PeriondenStartZeit != Time[0])
{
NeuePeriodeBegonnen = true;
PeriondenStartZeit = Time[0];
}
else NeuePeriodeBegonnen = false;

   
// --- MA20 für Dax Abfragen - Symbole durch die Strings ersetzt
double maDAX = iMA(syDax,0,20,0,MODE_SMA,PRICE_CLOSE,0);

// ---Aktuellen BID für Dax Abfragen
double bidDax  = MarketInfo(syDax, MODE_BID);


//+------------------------------------------------------------------+
//| Berechnung AnzahlMA20                                            |
//+------------------------------------------------------------------+


double AnzahlMA20 = bidDax - maDAX;

// Anzeige auf Bildschirm 
Comment("DAX =",AnzahlMA20); 


//+------------------------------------------------------------------+
//| HandelsSignale ermitteln                                         |
//+------------------------------------------------------------------+  


if (NeuePeriodeBegonnen == true)
{ 

     //  --- Kauf Signal --- 

     if (bidDax>maDAX)
     {
     LongSignal = true;
     }
     else LongSignal = false;

     // --- Verkauf Signal ---

     if (bidDax<maDAX)
     {
     ShortSignal = true;
     }
     else ShortSignal = false;
}
else
{
LongSignal = false;
ShortSignal = false;
}


//+------------------------------------------------------------------+
//| Kauf / Verkauf Signal umsetzen                                   |
//+------------------------------------------------------------------+  
 
// Kaufen
if(LongSignal == true)
{
       // Evtl Short Order vorher Schließen
       if(ShortOrder>0)
          {
             if(OrderSelect(ShortOrder,SELECT_BY_TICKET)==true)
             {
             bool ShortOrderGeschlossen = OrderClose(ShortOrder,OrderLots(),Ask,10,Blue);
             if (ShortOrderGeschlossen==true) ShortOrder=0;
             Print("Short Order geschlossen bei ",AnzahlMA20);
             } 
          }
       // Jetzt erst Long Order eröffnen
       while(LongOrder<=0)
           {
           LongOrder = OrderSend(syDax,OP_BUY,HandelsLots,Ask,10,0,0,"Dax30 LONG",MagicNummer,0,Green);
           Print("Long Order geöffnet bei ",AnzahlMA20);
           }
}

// Verkaufen
if (ShortSignal == true)
{
      // Evtl Long Order vorher Schließen
     if (LongOrder>0)
        {
           if(OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
           {
           bool LongOrderGeschlossen = OrderClose(LongOrder,OrderLots(),Bid,10,Blue);
           if (LongOrderGeschlossen==true) LongOrder=0;
           Print("Long Order geschlossen bei ",AnzahlMA20);
           }
        }
      // Verkaufs Order jetzt eröffnen
      while(ShortOrder<=0)
         {
         ShortOrder = OrderSend(syDax,OP_SELL,HandelsLots,Bid,10,0,0,"Dax30 SHORT",MagicNummer,0,Red);
         Print("Short Order geöffnet bei ",AnzahlMA20);
         }
}

//+------------------------------------------------------------------+
//|StopLoos und TakeProfit setzen                                   |
//+------------------------------------------------------------------+  
 
// SL bei Long Deals setzen - Erst aber umrechnung für 0,25 Schritt Broker
// Umrechnung SL_Prozent in 0,25er Schritten
StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100.0)),2);  
SL = (int)StoppLoss;  //zur Sicherheit!
NachkommaSL = StoppLoss - SL;
if (NachkommaSL <= 0.12) StoppLoss = SL;
if (NachkommaSL > 0.12 && NachkommaSL <= 0.37) StoppLoss = SL + 0.25;
if (NachkommaSL > 0.37 && NachkommaSL <= 0.62) StoppLoss = SL + 0.5;
if (NachkommaSL > 0.62 && NachkommaSL <= 0.87) StoppLoss = SL + 0.75;
if (NachkommaSL > 0.87) StoppLoss = SL + 1.0;

// SL bei Long Deals setzen
if (OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
{
    if(OrderCloseTime()==0 && OrderStopLoss()==0)
      {
      OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),StoppLoss,OrderTakeProfit(),0,Yellow);
      Print("SL für Long Order gesetzt bei = ",StoppLoss);
      }
}

// SL bei Short Deals setzen - Erst aber umrechnung für 0,25 Schritt Broker
// Umrechnung SL_Prozent in 0,25er Schritten
StoppLoss = NormalizeDouble(OrderOpenPrice()*(1+(SL_Prozent/100.0)),2);  
SL = (int)StoppLoss;  //zur Sicherheit!
NachkommaSL = StoppLoss - SL;
if (NachkommaSL <= 0.12) StoppLoss = SL;
if (NachkommaSL > 0.12 && NachkommaSL <= 0.37) StoppLoss = SL + 0.25;
if (NachkommaSL > 0.37 && NachkommaSL <= 0.62) StoppLoss = SL + 0.5;
if (NachkommaSL > 0.62 && NachkommaSL <= 0.87) StoppLoss = SL + 0.75;
if (NachkommaSL > 0.87) StoppLoss = SL + 1.0;

// SL bei Short Deals setzen
if (OrderSelect(ShortOrder,SELECT_BY_TICKET)==true)
{
    if(OrderCloseTime()==0 && OrderStopLoss()==0)
      {
      OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),StoppLoss,OrderTakeProfit(),0,Yellow);
      Print("SL für Short Order gesetzt bei = ",StoppLoss);
      }
}



// TP bei Long Deals setzen - Erst aber umrechnung für 0,25 Schritt Broker
// Umrechnung TP_Prozent in 0,25er Schritten

TakeProfit = NormalizeDouble(OrderOpenPrice()*(1+(TP_Prozent/100.0)),2);   
TP = (int)TakeProfit;  //zur Sicherheit!
NachkommaTP = TakeProfit - TP;
if (NachkommaTP <= 0.12) TakeProfit = TP;
if (NachkommaTP > 0.12 && NachkommaTP <= 0.37) TakeProfit = TP + 0.25;
if (NachkommaTP > 0.37 && NachkommaTP <= 0.62) TakeProfit = TP + 0.5;
if (NachkommaTP > 0.62 && NachkommaTP <= 0.87) TakeProfit = TP + 0.75;
if (NachkommaTP > 0.87) TakeProfit = TP + 1.0;

// TP bei Long Deals setzen
if (OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
{
    if(OrderCloseTime()==0 && OrderTakeProfit()==0)
      {
      OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,Orange);
      Print("TP für Long Order gesetzt bei = ",TakeProfit);
      }
}


// TP bei Short Deals setzen - Erst aber umrechnung für 0,25 Schritt Broker
// Umrechnung TP_Prozent in 0,25er Schritten

TakeProfit = NormalizeDouble(OrderOpenPrice()/(1+(TP_Prozent/100.0)),2);   
TP = (int)TakeProfit;  //zur Sicherheit!
NachkommaTP = TakeProfit - TP;
if (NachkommaTP <= 0.12) TakeProfit = TP;
if (NachkommaTP > 0.12 && NachkommaTP <= 0.37) TakeProfit = TP + 0.25;
if (NachkommaTP > 0.37 && NachkommaTP <= 0.62) TakeProfit = TP + 0.5;
if (NachkommaTP > 0.62 && NachkommaTP <= 0.87) TakeProfit = TP + 0.75;
if (NachkommaTP > 0.87) TakeProfit = TP + 1.0;

// TP bei Short Deals setzen
if (OrderSelect(ShortOrder,SELECT_BY_TICKET)==true)
{
    if(OrderCloseTime()==0 && OrderTakeProfit()==0)
      {
      OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,Orange);
      Print("TP für Short Order gesetzt bei = ",TakeProfit);
      }
}



// Ticketnummern nach schließen auf 0 zurücksetzen
if(OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
{
   if(OrderTicket()>0 && OrderCloseTime()>0) LongOrder=0;
}

if(OrderSelect(ShortOrder,SELECT_BY_TICKET)==true)
{
   if(OrderTicket()>0 && OrderCloseTime()>0) ShortOrder=0;
}




//+------------------------------------------------------------------+
}
  #22 (permalink)  
Alt 28.01.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

und hier noch mal ein update der letzten Stunde ....

hier wurde zumindestens 1x ein SL gesetzt

sl: 10563.50 tp: 0.00

2015.01.28 17:30:03.254 '2715450': order was opened : #21941794 sell 0.10 EUREX.FDX at 10697.50 sl: 0.00 tp: 0.00
2015.01.28 17:30:03.205 '2715450': order sell market 0.10 EUREX.FDX sl: 0.00 tp: 0.00
2015.01.28 17:30:03.204 '2715450': order #21941038 buy 0.10 EUREX.FDX at 10691.75 sl: 10563.50 tp: 0.00 closed at price 10697.50
2015.01.28 17:30:02.807 '2715450': close order #21941038 buy 0.10 EUREX.FDX at 10691.75 sl: 10563.50 tp: 0.00 at price 0.00
2015.01.28 16:17:00.879 '2715450': order #21941038 buy 0.10 EUREX.FDX at 10691.75 was modified -> sl: 10563.50 tp: 0.00
2015.01.28 16:17:00.785 '2715450': modify order #21941038 buy 0.10 EUREX.FDX at 10691.75 sl: 0.00 tp: 0.00 -> sl: 10563.50 tp: 0.00
2015.01.28 16:17:00.785 '2715450': order was opened : #21941038 buy 0.10 EUREX.FDX at 10691.75 sl: 0.00 tp: 0.00
2015.01.28 16:17:00.724 '2715450': order buy market 0.10 EUREX.FDX sl: 0.00 tp: 0.00
  #23 (permalink)  
Alt 28.01.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Gab es ansonsten Fehlermeldungen?
Um den Verlauf im Programm zu kontrollieren immer mal an bestimmten Stellen
ein Alert(...) setzen, dann kann man sehen, ob das Programm überhaupt an dieser Stelle entlang lief und welchen Wert bestimmte Variablen besitzen.

Also z.B. an der Stelle nach der Nachkommaberechnung:

Alert (DoubleToStr(StopLoss, 2));
bzw.
Alert (DoubleToStr(TakeProfit, 2));
sollten die Alerts mit identischen Variablennamen an verschiedenen Stellen gleichzeitig gesetzt werden, dann empfiehlt sich eine Unterscheidung durch eine vor- oder nachgestellte Ziffer oder Buchstaben, z.B.:

Alert ("1: ", DoubleToStr(StopLoss, 2));

Dann kann man ganz genu sehen, wo das Programm vorbei gelaufen war.

Oder auch hier ein Alert einbauen, um festzustellen, ob das Programm hier reinspringt:
if(OrderCloseTime()==0 && OrderTakeProfit()==0)
{
Alert ("TP1");
OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),OrderSt opLoss(),TakeProfit,0,Orange);
Print("TP für Long Order gesetzt bei = ",TakeProfit);
}

usw.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #24 (permalink)  
Alt 28.01.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

ne, ansonsten gab es keine Fehlermeldungen

aber das mit der Alert Funktion ist ne gute idee
hatte das eigentlich versucht mit Print umzusetzten ....

hab jetzt mal ein bisschen mit der Alert Funktion herumgespielt
und bemerkt das z.B. die Nachkomma bei jedem Tick berechnet werden .... war dann ne richtige Flut im Alert Fenster ...

deshalb hab ich die nachkomma Berechnungen jetzt mal in die if==true Funktionen mit eingebaut ....
die Variablen werd ich auch noch differenzieren - nur zur Sicherheit

dann lass ich das teil morgen noch mal nen testlauf machen



Code:
// SL bei Long Deals setzen
if (OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
{
    if(OrderCloseTime()==0 && OrderStopLoss()==0)
      {
       // SL bei Long Deals setzen - Erst aber umrechnung für 0,25 Schritt Broker
       // Umrechnung SL_Prozent in 0,25er Schritten
       StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100.0)),2);  
       SL = (int)StoppLoss;  //zur Sicherheit!
       NachkommaSL = StoppLoss - SL;
       if (NachkommaSL <= 0.12) StoppLoss = SL;
       if (NachkommaSL > 0.12 && NachkommaSL <= 0.37) StoppLoss = SL + 0.25;
       if (NachkommaSL > 0.37 && NachkommaSL <= 0.62) StoppLoss = SL + 0.5;
       if (NachkommaSL > 0.62 && NachkommaSL <= 0.87) StoppLoss = SL + 0.75;
       if (NachkommaSL > 0.87) StoppLoss = SL + 1.0; Alert ("NachkommaSL bei LD = ",DoubleToStr(StoppLoss, 2));
          //StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100)),Digits);// nur bei ohne Umrechnung in 0,25er Schritten
          OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),StoppLoss,OrderTakeProfit(),0,Yellow);
          Print("SL für Long Order gesetzt bei = ",StoppLoss); Alert ("SL für Long Order gesetzt ",DoubleToStr(StoppLoss, 2));

      }
}
  #25 (permalink)  
Alt 29.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von markusrgb Beitrag anzeigen
Code:
       StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100.0)),2);
falsch berechnete StoppLoss
  #26 (permalink)  
Alt 29.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Code:
extern double SL_Prozent = 0.5; // StopLoos in Prozent
StopLoos in Prozent von ??? Balance? Equity? Freie Margin?
  #27 (permalink)  
Alt 29.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Code:
//+------------------------------------------------------------------+
//| The script prints information on symbol                           |
//+------------------------------------------------------------------+
void OnStart()
  {

   Print("Stop level in points=",MarketInfo(Symbol(),MODE_STOPLEVEL));
  
  }
min stop ??

konto, demo oder real?

wenn demo - login, pass, server
  #28 (permalink)  
Alt 29.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Code:
//+------------------------------------------------------------------+
//|                                                        daxV1.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
int countB,countS;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   countB=0;
   countS=0;
   for(int pos=OrdersTotal()-1; pos>=0; pos--)
     {
      if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUY)
              {
               countB++;
               if(OrderStopLoss()==0)
                 {
                  bool res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-(OrderOpenPrice()/100)*0.5,Digits),0,0,Blue);
                  if(!res)
                     Print("Error in OrderModify. Error code=",GetLastError());
                  else
                     Print("Order modified successfully.");
                 }
              }
            if(OrderType()==OP_SELL)
              {
               countS++;
               if(OrderStopLoss()==0)
                 {
                  bool res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+(OrderOpenPrice()/100)*0.5,Digits),0,0,Blue);
                  if(!res)
                     Print("Error in OrderModify. Error code=",GetLastError());
                  else
                     Print("Order modified successfully.");
                 }
              }
           }
     }
//--------------------------------------------------------------+
   if(countB==0) int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,30,0,0,"buy",16384,0,clrGreen);

   if(countS==0) int ticket=OrderSend(Symbol(),OP_SELL,1.0,Bid,30,0,0,"sell",16384,0,clrGreen);
//--------------------------------------------------------------+

  }
//+------------------------------------------------------------------+
brocker JFD
Angehängte Grafiken
Dateityp: jpg dax.jpg (304,3 KB, 3x aufgerufen)
  #29 (permalink)  
Alt 29.01.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

nachdem ich die von mir erwähnten änderungen vorgenommen habe klappt nun alles so wie es soll



Zitat:
Zitat von markusrgb Beitrag anzeigen
deshalb hab ich die nachkomma Berechnungen jetzt mal in die if==true Funktionen mit eingebaut ....
die Variablen werd ich auch noch differenzieren - nur zur Sicherheit

Code:
// SL bei Long Deals setzen
if (OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
{
    if(OrderCloseTime()==0 && OrderStopLoss()==0)
      {
       // SL bei Long Deals setzen - Erst aber umrechnung für 0,25 Schritt Broker
       // Umrechnung SL_Prozent in 0,25er Schritten
       StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100.0)),2);  
       SL = (int)StoppLoss;  //zur Sicherheit!
       NachkommaSL = StoppLoss - SL;
       if (NachkommaSL <= 0.12) StoppLoss = SL;
       if (NachkommaSL > 0.12 && NachkommaSL <= 0.37) StoppLoss = SL + 0.25;
       if (NachkommaSL > 0.37 && NachkommaSL <= 0.62) StoppLoss = SL + 0.5;
       if (NachkommaSL > 0.62 && NachkommaSL <= 0.87) StoppLoss = SL + 0.75;
       if (NachkommaSL > 0.87) StoppLoss = SL + 1.0; Alert ("NachkommaSL bei LD = ",DoubleToStr(StoppLoss, 2));
          //StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100)),Digits);// nur bei ohne Umrechnung in 0,25er Schritten
          OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),StoppLoss,OrderTakeProfit(),0,Yellow);
          Print("SL für Long Order gesetzt bei = ",StoppLoss); Alert ("SL für Long Order gesetzt ",DoubleToStr(StoppLoss, 2));

      }
}
das einzige was mir aufgefallen ist das der SL/TP manchmal nicht zu 100% richtig berechnet wird ... weicht manchmal um 1-2 Punkte ab (aber das ist in meinem Fall im Moment noch nicht so relevant)
  #30 (permalink)  
Alt 29.01.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von pako Beitrag anzeigen
falsch berechnete StoppLoss
Versteh nicht was du mit "falsch berechnete StoppLoss" meinst
wie kommst du darauf?

Zitat:
StopLoos in Prozent von ??? Balance? Equity? Freie Margin?
steht doch im Code:
Code:
 StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100.0)),2);
er berechnet sich aus dem "OrderOpenPrice"
Thema geschlossen

Lesezeichen

Stichworte
digits, digits problem, mql4, nachkomma stellen, nachkomma stellen problem, nachkommastellen, programmierung, programmierung metatrader


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------