Einzelnen Beitrag anzeigen
  #10 (permalink)  
Alt 18.11.14
Auszubildender Auszubildender ist offline
Neues Mitglied
 
Registriert seit: Nov 2014
Beiträge: 26
Auszubildender befindet sich auf einem aufstrebenden Ast
Standard

Hallo
Hier das Erste Problem von 2, das ich einfach nicht Hinbekomme.

Habe eine Funktion Eingebaut um wählen zu können: Feste Position Größe oder Berechnung nach Konto Größe.

Bei GKFX und Charles FX werden nur Oder ausgeführt wenn ich eine feste Größe habe, jedoch nicht wenn ich die Größe Berechne lasse.
Mit den gleichen EA und den Einstellungen läuft es aber Fehlerfrei bei Aktiv Traders.
Und wiederum bei Q Trader läuft die Short Seite mit beiden Einstellungen aber nur mit fester Größe auf der Long Seite.

extern double Lot_Long= 0.8;// Feste Ordergröße auf der Short Seite.
extern bool Lot_Konto_Long= true; //Short Oder Größe nach Kontostand.
extern double Max_Ver_Long =0.5; //Der Max Short Verlust je Order in %.
extern double Lot_Short= 0.8;// Feste Ordergröße auf der Short Seite.
extern bool Lot_Konto_Short = true; //Short Oder Größe nach Kontostand.
extern double Max_Ver_Short =0.5; //Der Max Short Verlust je Order in %.

//Alle Werte füt Kontogröße Berechen
double Positions_Groesse;
double Positions_Groesse_Long;
double Positions_Groesse_Short;
double Stop_Loss_Long, Stop_Loss_Short;
double MeinePositionsGroesse;
double MiniLot;
double TickWert;
double LotSchritt;
double MiniLotWertjeTick;
double MiniLotWertJePunkt;
int Kerzen_Long =0;
int Kerzen_Short =0;
double Depotwert;
double MaxVerlustinEuro;
double MaxVerlustinEuro_Long;
double MaxVerlustinEuro_Short;
double EuroJePunkt;
double H=0,L=0;
double Lots_L, Lots_S;
double Tick_Groese;



//--------------------------------------------------------------------+
// Preis je kleinste Einheit auslesen, Grunddaten für Größe berechne. |
//--------------------------------------------------------------------+


Depotwert = AccountBalance(); //Depotgröße ermitteln

if (Lot_Konto_Long == true)
{
MaxVerlustinEuro_Long = (Depotwert /100) * Max_Ver_Long ; // Max. Verlust in Euro aus der angegebenen Prozentgröße Errechnen -- Beispiel 10.000 dav 2 % = 200€
}
if (Lot_Konto_Short == true)
{
MaxVerlustinEuro_Short = (Depotwert /100) *Max_Ver_Short ;
}
Tick_Groese = MarketInfo(Symbol(),MODE_TICKSIZE); // DAX z.B. 0.5, bei JPY 0,01 EUR 0,0001
if (Tick_Groese == 0.00001 || Tick_Groese ==0.001 ){ Tick_Groese =0.1; }
if (Tick_Groese == 0.5 ){ Tick_Groese =1; } //beim DAX
if (Tick_Groese == 0.1 ){ Tick_Groese =1; }
TickWert = MarketInfo(Symbol(),MODE_TICKVALUE); // Wert eines Ticks im DAX z.B. 12,5 Euro bei einem ganzen Lot
MiniLot = MarketInfo(Symbol(),MODE_MINLOT); // kleinste handelbare Größe
LotSchritt = MarketInfo(Symbol(),MODE_LOTSTEP); // Schrittgröße der Lots -

//--------------------------------------------------------------------+
// Ordergröße Long |
//--------------------------------------------------------------------+

if ((Lot_Konto_Long == true)&& (Long_zulassen==true))
{
EuroJePunkt =MaxVerlustinEuro_Long /Stop_Loss_Long ; // maximaler ererlaubter Verlust je Punkt -- Beispiel 2,50 Euro
MiniLotWertjeTick = TickWert * MiniLot; // 12,5 * 0,01 = 0,125 -- Sind also im DAX 12,5 Cent je halber Punkt
MiniLotWertJePunkt = (1/Tick_Groese) * MiniLotWertjeTick; //Wert je Punkt bei einem Minilot im DAX 0.25 -- 25 Cent
Positions_Groesse = (EuroJePunkt /MiniLotWertJePunkt)*LotSchritt; //Positionsgröße Berechnen Beispiel: 2,50/ 0,25 = 10 * 0,01 = 0,10
Positions_Groesse_Long =Positions_Groesse;
Positions_Groesse_Long = NormalizeDouble(Positions_Groesse,2); // Auf 2 Nachkommastellen reduzieren.
Lots_L =0;
Lots_L= Positions_Groesse_Long ;
}

//--------------------------------------------------------------------+
// Ordergröße Short. |
//--------------------------------------------------------------------+

if ((Lot_Konto_Short == true)&&(Short_zulassen==true))
{
EuroJePunkt = MaxVerlustinEuro_Short /Stop_Loss_Short ; // maximaler ererlaubter Verlust je Punkt -- Beispiel 2,50 Euro
MiniLotWertjeTick = TickWert * MiniLot; // 12,5 * 0,01 = 0,125 -- Sind also im DAX 12,5 Cent je halber Punkt
MiniLotWertJePunkt = (1/Tick_Groese) * MiniLotWertjeTick; //Wert je Punkt bei einem Minilot im DAX 0.25 -- 25 Cent
Positions_Groesse = (EuroJePunkt /MiniLotWertJePunkt)*LotSchritt; //Positionsgröße Berechnen Beispiel: 2,50/ 0,25 = 10 * 0,01 = 0,10
Positions_Groesse_Short =Positions_Groesse;
Positions_Groesse_Short = NormalizeDouble(Positions_Groesse,2); // Auf 2 Nachkommastellen reduzieren.
Lots_S =0;
Lots_S= Positions_Groesse_Short ;
}