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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43267
Benutzer: 7.220
Aktive Benutzer: 82
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 2 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 260
Gesamt: 260
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 05.05.14
Neues Mitglied
 
Registriert seit: Feb 2014
Beiträge: 8
tenchinhan befindet sich auf einem aufstrebenden Ast
Standard Hilfe bei nachkomma Programieren

Hallo,
ich habe ein Indikator der auch super bei 5 Digits(Nachkommerstellen) funktioniert,
jetzt bin ich mit einem Standard Konto am testen wo es allerdings nur 4 nachkommastellen gibt und ich finde keine Lösung wie ich das in den Indikator einbaue bzw. verändere!
Vielleicht kann mir jemand einen tipp geben oder hat eine einfache Lösung für das Problem!
Hier der entsprechende Code:

//+------------------------------------------------------------------+
//| Linesetter |
//| By Björn Boumanns |
//+------------------------------------------------------------------+
#property copyright "Björn Boumanns"
#property link "http://Tenchinhan.de"

#property indicator_chart_window
extern int GridSpace=50;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
double shift=0;
double HighPrice=0;
double LowPrice=0;

double Divisor = 0.1/Point;

HighPrice = MathRound(High[Highest(NULL,0,2, Bars - 2, 2)] * Divisor);
//SL = High[Highest(MODE_HIGH, SLLookback, SLLookback)];
LowPrice = MathRound(Low[Lowest(NULL,0,1, Bars - 1, 2)] * Divisor);
for(shift=LowPrice;shift<=HighPrice;shift++)
{
ObjectDelete("Grid"+shift);
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double I=0;
double HighPrice=0;
double LowPrice=0;
int GridS=0;
int SL=0;
//----

double Divisor = 0.1/Point;

HighPrice = MathRound(High[Highest(NULL,0,MODE_HIGH, Bars - 2, 2)] * Divisor);
//SL = High[Highest(MODE_HIGH, SLLookback, SLLookback)];
LowPrice = MathRound(Low[Lowest(NULL,0,MODE_LOW, Bars - 1, 2)] * Divisor);
GridS = GridSpace / 12.5;

for(I=LowPrice;I<=HighPrice;I++)
{
//Print("mod(I, GridSpace): " + MathMod(I, GridS) + " I= " + I);
//Print(LowPrice + " " + HighPrice);
if (MathMod(I, GridS) == 0)
{
if (ObjectFind("Grid"+I) != 0)
{
ObjectCreate("Grid"+I, OBJ_HLINE, 0.1, Time[1], I/Divisor);
ObjectSet("Grid"+I, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("Grid"+I, OBJPROP_COLOR, MediumSeaOrange);
}
//MoveObject(I + "Grid", OBJ_HLINE, Time[Bars - 2], I/1000, Time[1], I/1000, MediumSeaOrange, 1, STYLE_SOLID);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+




MfG
Björn
  #2 (permalink)  
Alt 05.05.14
Benutzerbild von Crashbulle
Elite Mitglied
 
Registriert seit: Sep 2011
Ort: Voreifel
Beiträge: 584
Crashbulle befindet sich auf einem aufstrebenden Ast
Crashbulle eine Nachricht über MSN schicken Crashbulle eine Nachricht über Skype™ schicken
Standard

Hallo Björn,

das liegt an der fehlenden DIGIT-Abfrage, wenn es im 5-Digit lief und in 4er nicht.
Unten hast du eine Standartabfrage, welches aber aus einem 5-Digit Account ein 4er macht.
Dafür läuft er aber mit 4-Digiteinstellungen, ohne Änderung auch auf 5 und 3 Digitwerten.
Du kannst aber auch eine Digitabfrage, bei allen relevanten Werte einfügen. Der Nachteil ist hierbei, das du in deinen Settings immer darauf achten mußt, bei welchen DIGITgrößen du gerade den EA aktivierst.

Ein Beispiel siehst du unten:

//---
stop_loss = STOP_LOSS;
take_profit = TAKE_PROFIT;
inside_level = INSIDE_LEVEL;
trailing_level = TRAILING_STOP;
trailing_step = TRAILING_STEP;
slippage = SLIPPAGE;
order_step = ORDER_STEP;

//--- If the price includes 3 / 5 decimal places
if(Digits == 4) Multiplier = 1;
if(Digits == 3 || Digits == 5) Multiplier = 10;
{
stop_loss = stop_loss * 10;
take_profit = take_profit * 10;
inside_level = inside_level * 10;
trailing_level = trailing_level * 10;
trailing_step = trailing_step * 10;
slippage = slippage * 10;
order_step = order_step * 10;
}
__________________
Was hoch aufsteigt, fällt tief herunter
Portfolio
Portfolio_1
  #3 (permalink)  
Alt 05.05.14
Neues Mitglied
 
Registriert seit: Feb 2014
Beiträge: 8
tenchinhan befindet sich auf einem aufstrebenden Ast
Standard

Hallo
danke für deine Antwort aber wenn ich das richtig verstanden habe,
soll der erweiterte Code dafür sein das er in 4 bzw. 5 Digit läuft!

Mein Problem ist aber nicht das er nicht Lauft ,
das Problem ist das er gar keine nach Komma Einstellungen an nimmt!
Bei 5 Digit kein Problem da kann ich z.b. für 12,5 Pips einfach 125 in den Einstellungen eingeben bei 4 Digit müsste es allerdings 12,5 heißen aber das will einfach nicht klappen!

MfG Björn
  #4 (permalink)  
Alt 05.05.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

ändere extern int GridSpace=50; in
extern double GridSpace=50;

dann kannst' Nachkommastellen eingeben bis der Arzt kommt
__________________
krank im Kopf aber sonst ganz nett
build 509 mql4 editor download
  #5 (permalink)  
Alt 05.05.14
Neues Mitglied
 
Registriert seit: Feb 2014
Beiträge: 8
tenchinhan befindet sich auf einem aufstrebenden Ast
Standard

@fxdaytrader
Super Danke klappt jetzt wie es soll
Noch 1-2 Jahre dann Lache ich über solche Probleme dann Kann ich auch Programieren ohne das mir schon der Kopf Qualmt wenn ich nur den Code seh
  #6 (permalink)  
Alt 05.05.14
Benutzerbild von Crashbulle
Elite Mitglied
 
Registriert seit: Sep 2011
Ort: Voreifel
Beiträge: 584
Crashbulle befindet sich auf einem aufstrebenden Ast
Crashbulle eine Nachricht über MSN schicken Crashbulle eine Nachricht über Skype™ schicken
Standard

Das kommt dabei heraus, wenn man nur die Fehlerbeschreibung liest und den Rest überfliegt.
Allerdings bin ich etwas irritiert, das die "int"-Funktion in 5-Digit funktionieren soll und bei der 4-Digit nicht !!
__________________
Was hoch aufsteigt, fällt tief herunter
Portfolio
Portfolio_1
  #7 (permalink)  
Alt 05.05.14
Neues Mitglied
 
Registriert seit: Feb 2014
Beiträge: 8
tenchinhan befindet sich auf einem aufstrebenden Ast
Standard

@crashbull
Ich hatte mich vielleicht etwas falsch ausgedrückt gelaufen hat der Indikator auf beiden egal ob 4 oder5 digit mein Problem war nur das bei 5 digit eine Stelle mehr ist das heißt für eine Linie bei 12,5 muss ich 125 angeben also kein Problem aber bei 4 digit muss ich 12,5 angeben und das wollte der Indikator nicht das Macht er jetzt mit der Änderung in Double!

Sorry die schreibst benutze grad das Handy!

Mit freundlichen Grüßen
Björn
  #8 (permalink)  
Alt 06.05.14
Neues Mitglied
 
Registriert seit: Feb 2014
Beiträge: 8
tenchinhan befindet sich auf einem aufstrebenden Ast
Standard

Hallo alle zusammen,
ich stehe jetzt vor dem nächsten Problem dank der Änderung von ini zu double kann ich jetzt bei den Einstellungen auch Nachkomma Stellen eingeben,
aber aus irgendeinem Grund macht er bei z.b. 12,5(4 Digit) bzw. 125 (5 Digit) trotzdem nur 12er bzw. 120er Schritte!
Ich hoffe ihr könnt mit dabei weiter helfen!

MfG
Björn
  #9 (permalink)  
Alt 07.05.14
Benutzerbild von Crashbulle
Elite Mitglied
 
Registriert seit: Sep 2011
Ort: Voreifel
Beiträge: 584
Crashbulle befindet sich auf einem aufstrebenden Ast
Crashbulle eine Nachricht über MSN schicken Crashbulle eine Nachricht über Skype™ schicken
Standard

Dies hängt wahrscheinlich mit den Digits zusammen. In einer 12m Garage kannst du kein 12,5m langes Gefährt unterbringen. Mit den 12,5 versuchst du aus dem 4-Digit ein gewaltsames 5-Digit zu machen. Dieses, Komma irgendwas, kann zwar eingegeben werden, fällt aber später fort, da es nicht akzeptiert wird.

Zum 5-Digit-Fall vermute ich, das es im EA eine Verwirrung in den Berechnungen mit 5 und 4-Digit gibt, welches aber aus dem vorhandenem Code nicht ersichtbar ist. Auch hier wären " init und Double" Anweisungen genau zu untersuchen.
__________________
Was hoch aufsteigt, fällt tief herunter
Portfolio
Portfolio_1
  #10 (permalink)  
Alt 07.05.14
Neues Mitglied
 
Registriert seit: Feb 2014
Beiträge: 8
tenchinhan befindet sich auf einem aufstrebenden Ast
Standard

danke für deine Antwort dann muss ich wohl mal schauen wie ich das hin bekomme auf ganze zahlen ist da ja schon ein netter Indikator ist immer so lästig die ganzen Linien von Hand einzugeben
Thema geschlossen

Lesezeichen

Stichworte
4 digits, 5 digits, digits, indikator, metatarder indikator, mql4, 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 00:11 Uhr.





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