Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Mathe Nachhillfe gesucht (http://www.expert-advisor.com/forum/showthread.php?t=6742)

MA-EA 11.08.20 14:28

Also ganz streng genommen, sind ja im Grunde alle double-Werte gerade, weil man sie theoretisch alle bis in die Unendlichkeit durch 2 teilen könnte... :confused: Ok, irgendwann gehts nicht mehr, oder die Menschheit interessiert es nicht ob gerade oder ungerade, aus welchen Gründen auch immer...


Dann müsste man vielleicht den double-Wert ohne irgendwelche Rechnerei prüfen. Das Einfachste wär natürlich, einfach die letzte Stelle zu prüfen, hab aber keine Ahnung wie und in meinem MQL4-Buch stehts nicht drin. :(

traderdoc 11.08.20 18:04

Zitat:

Zitat von MA-EA (Beitrag 44205)
Also ganz streng genommen, sind ja im Grunde alle double-Werte gerade, weil man sie theoretisch alle bis in die Unendlichkeit durch 2 teilen könnte... :confused: Ok, irgendwann gehts nicht mehr, oder die Menschheit interessiert es nicht ob gerade oder ungerade, aus welchen Gründen auch immer...


Dann müsste man vielleicht den double-Wert ohne irgendwelche Rechnerei prüfen. Das Einfachste wär natürlich, einfach die letzte Stelle zu prüfen, hab aber keine Ahnung wie und in meinem MQL4-Buch stehts nicht drin. :(

Ich würde mal behaupten, dass alle double-Werte weder gerade noch ungerade sind, weil nur ganze Zahlen gerade oder ungerade sein können. Und ganze Zahlen gehören nicht zum Datentyp double.
@MA-EA: Sag mal, kann man tatsächlich alle bis in die Unendlichkeit durch 2 teilen und bis wohin geht denn die Unendlichkeit? Ich brauche jetzt echt Nachhilfe!

traderdoc

MA-EA 12.08.20 21:33

Liste der Anhänge anzeigen (Anzahl: 1)
Unendlichkeit gibts wahrscheinlich gar nicht. Ohne Ende kann es keinen Anfang geben. :confused:

Aber kommen wir zum eigentlich Thema:Mathe-Nachhilfe. Die kann ich wirklich brauchen. :rolleyes:

Lacht mich gerne aus, aber ich versuche raus zu finden wie man

2.58 multipliziert mit 0.123

Einfach * funktioniert glaub ich nicht. 2.58 / 0.123 liefert irgendwie komische Ergebnisse. :confused: Vielleicht hatte ich den richtigen Rechenweg auch schon und weiß es nur nicht.

Es geht darum, den EA im Anhang anhand von Margin und AccountBalance einen bestimmten %Wert des Letzteren als Lots einsetzen zu lassen.

traderdoc 12.08.20 22:56

Zitat:

Zitat von MA-EA (Beitrag 44218)
[FONT=Arial][SIZE=3]
2.58 multipliziert mit 0.123

Einfach * funktioniert glaub ich nicht. 2.58 / 0.123 liefert irgendwie komische Ergebnisse. :confused:

Warum nicht * ?
Und für welche mathematische Grundrechenoperation steht denn / ?

traderdoc

AVT 12.08.20 23:19

Zitat:

Zitat von MA-EA (Beitrag 44218)
Unendlichkeit gibts wahrscheinlich gar nicht. Ohne Ende kann es keinen Anfang geben.

Interessante Aussage. Wenn man also einen Kreis als ein rundes, geschlossenes Gebilde definiert, wäre ein Kreis kein Kreis mehr (Pi hat derzeit etwa 34 Billionen Nachkommastellen, wenn ich mich recht erinnere).

Zitat:

... ich versuche raus zu finden wie man
2.58 multipliziert mit 0.123 ...
Einfach * funktioniert glaub ich nicht. 2.58 / 0.123 liefert irgendwie komische Ergebnisse. ...
Ganz einfach mit dem Multiplikationszeichen, mein Taschenrechner sagt, da kommt 0.31734 raus.
Daß 2.58 / 0.123 ein komisches Ergebnis liefert ist klar, das ist ja auch ne Division.
Zitat:

Es geht darum, den EA im Anhang anhand von Margin und AccountBalance einen bestimmten %Wert des Letzteren als Lots einsetzen zu lassen.
Uuuppss, das ist zu hoch für mich, sowas laß ich mein Tradingpanel ausrechnen :)
AVT

MA-EA 13.08.20 18:47

Darüber denk ich irgendwie schon seit Jahren nach. :rolleyes:


Der Rechenweg ist eigentlich im Großen und Ganzen klar. Vielleicht ist der noch nicht ganz richtig, das größte Problem ist aber eben Multiplikation/Division von Werten die <1.0 sind. :confused:

Code:

//=============================================================================================================
// A U T O L O T S  werden falsch berechnet!
//=============================================================================================================

//////////////////////////////////////////////////////////////////////////////////////////////////////////////


    double MarReq=MarketInfo(Symbol(),MODE_MARGINREQUIRED); // nötige Margin für 1 Lot (100.000 Units)
    double AccBal=AccountBalance(); // momentaner Kontostand


//  "1 Lot" geteilt durch Mindest-Lot, um später raus zu finden, wie viel Margin für Mindest-Lot gebraucht wird.
    if(Min_L<1.0)double oneL_ML=1.0*Min_L;
    if(Min_L>=1.0)oneL_ML=1.0/Min_L;


//  Margin_für_1_Lot geteilt durch Ergebnis, um raus zu finden, wie viel Margin für Mindest_Lot benötigt wird.
//  z.B.:  €1000,00 / 100 = €10,00
    if( MarReq<1.0 )double MarReq_ML= MarReq * oneL_ML; // ?
    if( MarReq>=1.0 )MarReq_ML= MarReq / oneL_ML; // ?


//////////////////////////////////////////////////////////////////////////////////////////////////////////////


//  1% vom Kontostand ausrechnen
//  z.B.: €1000,00 / 100% = €10,00
    if( AccBal<1.0 )double OnePercAccBal = AccBal * 100.0; // ?
    else OnePercAccBal = AccBal / 100.0; // ?


//  1% des Kontostands * Prozent, für die Lots gekauft werden sollen
//  z.B.: €10,00 * 2,5% = €25,00 ?
    if( OnePercAccBal<1.0 ){
      if(Auto_Lotsize_Perc<1.0)double OnePercAccBal_AutoLotPerc = OnePercAccBal / Auto_Lotsize_Perc; // ?
      else OnePercAccBal_AutoLotPerc = OnePercAccBal * Auto_Lotsize_Perc;} // ?
     
     
    if( OnePercAccBal>=1.0 ){
      if(Auto_Lotsize_Perc<1.0)OnePercAccBal_AutoLotPerc = OnePercAccBal / Auto_Lotsize_Perc; // ?
      else OnePercAccBal_AutoLotPerc = OnePercAccBal * Auto_Lotsize_Perc;} // ?


//////////////////////////////////////////////////////////////////////////////////////////////////////////////


// 
    double OnePercAccBalAutoLotPerc_MREQMinL = OnePercAccBal_AutoLotPerc / MarReq_ML;


//  z.B.: €25,00 * 0.01L = 0.025L (?)

    double Print_Lots = OnePercAccBalAutoLotPerc_MREQMinL * Min_L;


AVT 13.08.20 19:46

Zitat:

Zitat von MA-EA (Beitrag 44238)
Code:

double AccBal=AccountBalance(); // momentaner Kontostand
if( AccBal<1.0 )double OnePercAccBal = AccBal * 100.0; // ?


Wenn AccBal<1.0 bist Du pleite!! :eek: Das mal nur so nebenbei bemerkt, und wenn Du das dann noch mit 100 malnimmst, bist Du eben 100 mal pleitiger.
AVT

MA-EA 13.08.20 22:10

Gibts nicht Micro-Lots? Oder Trading ohne Hebel? :rolleyes:

Indikator-Trading 14.08.20 06:13

:confused:
Naja, wenn dein Account gerade bei z.b. 0,56€ steht, dann kanns ja nicht mehr lange dauern bis du Millionär bist :rolleyes:

MA-EA 09.09.20 11:21

Hallo.

Brauch noch mal Mathe-Nachhilfe. :rolleyes:

Und zwar im Dividieren und Multiplizieren von Dezimalzahlen. Ich schnall das irgendwie nicht. :confused:




Z.B.

0.75 dividieren durch 5

0.75 dividieren durch 0.5

5 dividieren durch 0.75

0.75 multiplizieren mit 0.5

-0.75 multiplizieren mit 5.0


Ich versteh einfach nicht so ganz, wann das Divisionszeichen ( / ) und wann das Multiplikationszeichen ( * ) verwendet werden muss.


Nebenbei: Wie gesagt, was keinen Anfang hat, kann kein Ende haben, und umgedreht. Anfang eines Kreises ist vermutlich das Zentrum, sein Ende ist seine "Kante", um es mal so zu formulieren. Oder gibts irgendwas, das entsteht, indem es an nem Punkt ansetzt, und bis zu dessen anderen "Seite" ne Kurve zeichnet? Aber dazu sollte man vielleicht mal nen extra Thema anfangen. ;) :cool:


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:13 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum