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)
-   -   Pfeile im Chart einzeichnen (http://www.expert-advisor.com/forum/showthread.php?t=6883)

MarkusWilhelm89 09.01.21 10:51

Pfeile im Chart einzeichnen
 
Hi,
ich möchte mir gerne bei einem Ver-/Kaufsignal einen Pfeil ins Chart einzeichnen lassen. Leider habe ich trotz der Bibliotheken, YouTube etc. noch keine richtige Hilfe gefunden.

Ich möchte, dass bei jedem neuen Signal, wieder ein Pfeil eingezeichnet wird und die vorherigen natürlich bestehen bleiben.

Hier mal der ganz einfache Code

Code:

if(Close[1]>Close[2])  ObjectCreate(0,"ObjectBUY",OBJ_ARROW_UP,0,TimeCurrent(),Ask);
if(Close[1]<Close[2])  ObjectCreate(0,"ObjectSELL",OBJ_ARROW_DOWN,0,TimeCurrent(),Bid);

Jetzt ist es aber so, dass er nur einmal, also wenn das Signal das erste mal kommt, einen Pfeil einzeichnet und danach nicht mehr... was mache ich denn falsch??:confused:

AVT 09.01.21 13:46

Zitat:

Zitat von MarkusWilhelm89 (Beitrag 44940)
Hi,
ich möchte mir gerne bei einem Ver-/Kaufsignal einen Pfeil ins Chart einzeichnen lassen. Leider habe ich trotz der Bibliotheken, YouTube etc. noch keine richtige Hilfe gefunden.

Ich möchte, dass bei jedem neuen Signal, wieder ein Pfeil eingezeichnet wird und die vorherigen natürlich bestehen bleiben.

Hier mal der ganz einfache Code

Code:

if(Close[1]>Close[2])  ObjectCreate(0,"ObjectBUY",OBJ_ARROW_UP,0,TimeCurrent(),Ask);
if(Close[1]<Close[2])  ObjectCreate(0,"ObjectSELL",OBJ_ARROW_DOWN,0,TimeCurrent(),Bid);

Jetzt ist es aber so, dass er nur einmal, also wenn das Signal das erste mal kommt, einen Pfeil einzeichnet und danach nicht mehr... was mache ich denn falsch??:confused:

Du mußt jedem Objekt einen eindeutigen Namen geben. So wie Du es jetzt geschrieben hast, gibt es insgesamt nur 2 Objektenamen, ein "ObjectBUY" und ein "ObjectSELL".
Wenn Du die alten behalten willst, könntest Du den Namen für jedes Objekt z.B. mit Zeitstempel erweitern, etwa so:
"ObjectBUY"+TimeToString(TimeCurrent(),TIME_DATE|T IME_MINUTE)

Hoffe, das hilft Dir. AVT

MarkusWilhelm89 09.01.21 16:34

noch eine weitere Frage...

hast du einen Tipp wie der Code lauten würde, wenn ich nur bei einem Signalwechsel einen neuen Pfeil möchte?


In etwa:
Code:

if(lastObject==OBJ_ARROW_UP  && signal=="verkaufen")      ObjectCreate(0,"ObjectSELL, "+TimeToString(TimeCurrent()),OBJ_ARROW_DOWN,0,TimeCurrent(),Bid)

else if(lastObject==OBJ_ARROW_DOWN && signal=="kaufen")        ObjectCreate(0,"ObjectBUY, " +TimeToString(TimeCurrent()),OBJ_ARROW_UP,0,TimeCurrent(),Ask);


Indikator-Trading 09.01.21 17:04

Ich habe hier im Forum schon mal jemanden bei einem gleichen/ähnlichen Problem geholfen.
http://www.expert-advisor.com/forum/...te-voegen.html

MarkusWilhelm89 09.01.21 19:22

danke, leider kapiere ich das nicht was in dem Thema von dir gepostet wurde

Ich hab aktuell, ganz simpel
Code:

double  MovingAverage        =  iMA(_Symbol,_Period,50,0,MODE_EMA,PRICE_CLOSE,0);

static string signal="";
  if(Close[1]>MovingAverage)  signal="kaufen";
  if(Close[1]<MovingAverage)  signal="verkaufen";


if(signal == "kaufen")    ObjectCreate(0,"BUY, "+TimeToString(TimeCurrent()),OBJ_ARROW_UP,0,TimeCurrent(),Ask);
if(signal == "verkaufen")  ObjectCreate(0,"SELL,"+TimeToString(TimeCurrent()),OBJ_ARROW_DOWN,0,TimeCurrent(),Bid);

Aber da zeichnet er bei jedem Tick dann einen Pfeil ein...
Ich suche die Lösung, dass er nur bei einem signal-Wechsel einen Pfeil einzeichnet


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:30 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