Wie programmiert man? - Seite 243

 

Hilfe zur Verbesserung des ATR Indikators!!!

Ich versuche, eine verbesserte Version des ATR-Indikators zu programmieren. Ich möchte in der Lage sein, den ATR-Indikator zu haben, aber nur auf der Grundlage der Kerze von 2:00 Uhr bis 11:00 Uhr für einen Zeitraum P.

Zum Beispiel: Auf einem Stundenchart möchte ich die ATR über 120 Perioden (+/- 120 Stunden = 5 Tage) finden, aber nur mit den Balken zwischen 2:00 Uhr und 11:00 Uhr während dieser 120 Stunden.

Wenn jemand eine Idee hat, wie man den Standard-ATR-Code modifizieren kann, um das zu tun, was ich versuche zu tun... bitte antworten Sie auf diesen Beitrag mit Ihrem Code...

Danke...

 

Ea

Welcher Ausdruck kann verwendet werden, um den Eröffnungs- oder Höchstkurs einer Kerze zu erhalten, die X Bars von der letzten fraktalen Kerze entfernt ist? (Bitte schreiben Sie den vollständigen Ausdruck... Ich bitte nur um eine oder zwei Zeilen)

Vielen Dank

 
ak_marshal:
Welcher Ausdruck kann verwendet werden, um den Eröffnungs- oder Höchstkurs einer Kerze zu erhalten, die X Bars von der letzten fraktalen Kerze entfernt ist? (Bitte schreiben Sie den vollständigen Ausdruck... Ich bitte nur um eine oder zwei Zeilen) Danke

Zunächst müssen Sie prüfen, was der Index des fraktalen Balkens ist. Hierfür sollten Sie eine Schleife verwenden, die Sie mit "while" oder "for" ausführen können. Ich werde for verwenden.

for(int i = 0;i<Balken;i++)

{

double isfractal = Code zum Lesen von Fraktalen;

if(isfractal != 0)

{

double myOpen = Open;//das wird Ihr X sein, wobei XBarsAfterFractal eine ganze Zahl ist - x Bars vom fraktalen Bar.

break;//Verlassen der Schleife

}

}

 

Hilfe bei einem sehr einfachen Skript bitte

Hallo Leute,

Kann mir bitte jemand mit dem folgenden Skript von CoderGurus helfen.

Es funktioniert gut, wie es ist, aber ich wollte es so ändern, dass es den Stop-Loss und die Gewinnmitnahme auf der Grundlage des Eröffnungskurses des Handels stoppt, nicht die aktuellen Geld- und Briefkurse.

Wie gesagt, es funktioniert gut, wie es ist, ich dachte, ich müsste nur OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green); ändern in

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*StopLoss,OrderOpenPrice()+Point*TakeProfit,0,Green);

aber wenn ich versuche, es auszuführen, passiert nichts.

Kann mir bitte jemand die richtige Richtung zeigen?

Vielen Dank

Steve

//+------------------------------------------------------------------+

//| My_First_Script.mq4 |

//| Copyright Coders Guru |

//| https://www.mql5.com/en/forum |

//+------------------------------------------------------------------+

#Eigenschaft Copyright "Copyright Coders Guru"

#Eigenschaft link "https://www.forex-tsd.com"

#property show_inputs

#include

extern double TakeProfit=250;

extern double StopLoss=35;

//+------------------------------------------------------------------+

//| Skript Programmstartfunktion |

//+------------------------------------------------------------------+

int start()

{

int total,cnt,err;

double stop_verlust_wert;

double take_profit_value;

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY) // Long-Position wird eröffnet

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green);

err=GetLastError();

Print ("Hoch - ");

Print("Fehler(",err,"): ",ErrorDescription(err));

Sleep(1000);

}

if(OrderType()==OP_SELL) // Short-Position wird eröffnet

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*StopLoss,Ask-Point*TakeProfit,0,Red);

err=GetLastError();

Print("error(",err,"): ",ErrorDescription(err));

Sleep(1000);

}

}

return(0);

}

 

Wie kann ich eine Funktion als Schleife erstellen?

Ich möchte eine Funktion EA verwenden, die als Schleife wie diese funktioniert:

(im Moment benutze ich die Variable

INT Trend)

A >> B >> C >> D >> E

ich verwende A = neues Hoch + SMA30 > 80

ich "kaufe" Trend = 1

dann B = sma30 < 80

i "verkaufen" Trend = 2

dann C = sma30>80

i "kaufen" Trend = 3

bei C ist der Punkt, den ich überprüfen will

wenn er an einem beliebigen Punkt ein neues Hoch erreicht, möchte ich, dass der Trend auf 1 zurückgeht und eine Schleife bildet

Wenn es kein neues Hoch gibt, wird es zu sma30 < 80 gehen

und gehen Sie zu trend = 4

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

das ist die Schleife, die ich will, kann mir jemand sagen, Funktion zu verwenden (mein Weg, dass die Verwendung Variable nicht Funktion und weiß nicht, warum)

Hoffnung für kluge Beratung, thak you

 

Ich konnte Ihrer Logik nicht folgen, aber vielleicht kann Ihnen dieses Beispiel weiterhelfen:

MA30=iMA(NULL,0,30,0,0,0,0);

MA80=iMA(NULL,0,80,0,0,0,0);

if(Hoch[0]>Hoch[1] && MA30>MA80) A=1;

if(MA30<MA80) B=2;

wenn(MA30>MA80) C=3;

Vielleicht können Sie dies auf Ihr gewünschtes Schleifenergebnis ausdehnen.

 

Aktuelles Datum als externe Variable setzen?

Hallo alle ich war nach etwas Hilfe bei der Änderung einige Code. Das Problem ist jedes Mal, wenn ich diesen bestimmten EA öffnen, muss ich die Zeit und das Datum manuell ändern. Was ich wissen wollte, ist, ob es möglich war, diese automatische Aktualisierung jedes Mal, wenn der EA geöffnet wird, zu machen?

Um genauer zu sein, öffnet der EA ein Kauf- und Verkaufspending zu einer vorher festgelegten Zeit und einem vorher festgelegten Datum. Die Zeit zu ändern ist nicht so schlimm, aber wenn man den EA an 5 oder 6 Charts anhängt, kann es etwas lästig werden, und Kopieren/Einfügen wird es auf lange Sicht nicht schaffen

extern datetime NewsTime = D'05.08.2010 10:15'; ist der Code

Jede Hilfe wird geschätzt

 

Kann man ein Skript schreiben, das eine globale Variable mit einem neuen Datum setzt (GlobalVariableSet), und zum EA-Lesen dieser Variable hinzufügen (GlobalVariableGet)?

 

Könnte jemand den Parameter"Trade comment" ändern?

Hallo,

Ich habe einen Signal-Kopier-EA, der exakte Trade-Kommentare vom Master kopiert. Ich brauche, um eine Externe paramater zu diesem EA hinzufügen, die auf jede Trade-Kommentar, die ich will gesetzt werden kann. Ich wäre sehr dankbar, wenn mir jemand helfen könnte.

Danke

Dateien:
s-mtfx_s.mq4  27 kb
 
Ale:
Kann man ein Skript schreiben, das eine globale Variable mit einem neuen Datum setzt (GlobalVariableSet), und diese Variable in EA einlesen (GlobalVariableGet)?

Danke, aber ich dachte, das Problem ist, dass externe Variablen wie "NewsTime" nichts anderes als eine statische Variable akzeptieren.

man kann sie zwar über das Skript setzen, aber dann nicht mehr ändern?

Ist das richtig?

Grund der Beschwerde: