Ausgezeichneter Artikel - nur ein kleines Problem ist, dass ich Speicherlecks mit dem Beispielcode bekam
Ich fand heraus, dass das Löschen des Objekts in DeInit() dies behebt
//+------------------------------------------------------------------+ //|| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { delete Ichimoku; }
meine Meinung :
Zeichne spanB lindgrün wenn nahe > vergangene Wolken und nahe > vergangene tenkansen, nahe > vergangene kijunsen und nahe > gegenwärtige Wolken, spanA > spanB :
#include <Indikatoren/Trend.mqh>
CiIchimoku*Ichimoku;
//--- Indikatoreinstellungen
#property indicator_chart_window
#property indicator_buffers 9
#property indikator_plots 1
#property indikator_type1 DRAW_LINE
#property indicator_color1 Limonengrün
#property indikator_breite1 2
double sp1tl[];
double sp2tl[];
double trendtang[];
double tenqk[];
double kijqk[];
double sp1ht[];
double sp2ht[];
double sp1qk[];
double sp2qk[];
void OnInit()
{
Ichimoku = new CiIchimoku();
Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
SetIndexPuffer(0,trendtang,INDICATOR_DATA);
SetIndexBuffer(1,sp1tl,INDICATOR_DATA);
SetIndexBuffer(2,sp2tl,INDICATOR_DATA);
SetIndexBuffer(3,tenqk,INDICATOR_DATA);
SetIndexBuffer(4,kijqk,INDICATOR_DATA);
SetIndexBuffer(5,sp1ht,INDICATOR_DATA);
SetIndexBuffer(6,sp2ht,INDICATOR_DATA);
SetIndexBuffer(7,sp1qk,INDICATOR_DATA);
SetIndexBuffer(8,sp2qk,INDICATOR_DATA);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
//--- legt den ersten Balken fest, ab dem der Index gezeichnet werden soll
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,51);
//--- Linienverschiebung beim Zeichnen
PlotIndexSetInteger(0,PLOT_SHIFT,25);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &Volumen[],
const int &spread[])
{
int start;
//---
if(prev_calculated==0)
start=0;
sonst
start=vorher_berechnet-1;
//--- Hauptschleife
for(int i=start; i<rates_total && !IsStopped(); i++)
{
MqlRates PArray[];
int Data=CopyRates(_Symbol,_Periode,0,1,PArray);
Ichimoku.Refresh(-1);
double spanAtl= Ichimoku.SenkouSpanA(0);
double spanBtl= Ichimoku.SenkouSpanB(0);
double spanAht= Ichimoku.SenkouSpanA(-25);
double spanBht= Ichimoku.SenkouSpanB(-25);
double spanAqk= Ichimoku.SenkouSpanA(-51);
double spanBqk= Ichimoku.SenkouSpanB(-51);
double tenkanqk= Ichimoku.TenkanSen(-25);
double kijunqk= Ichimoku.KijunSen(-25);
sp1tl[i]=spanAtl;
sp2tl[i]=spanBtl;
tenqk[i]=tenkanqk;
kijqk[i]=kijunqk;
sp1ht[i]=spanAht;
sp2ht[i]=spanBht;
sp1qk[i]=spanAqk;
sp2qk[i]=spanBqk;
wenn(
sp1tl[i]>=sp2tl[i]
&& close[i]>tenqk[i]
&& close[i]>kijqk[i]
&& close[i]>sp1ht[i]
&& schliessen[i]>sp2ht[i]
&& close[i]>sp1qk[i]
&& schließen[i]>sp2qk[i]
)
{
trendtang[i]=sp2tl[i];
}
sonst
{
trendtang[i]=EMPTY_VALUE;
}
}
//---
return(rates_total);
}

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Lernen Sie, wie man ein Handelssystem mit Ichimoku entwirft :
Hier ist ein neuer Artikel in unserer Serie darüber, wie man ein Handelssystem mit den beliebtesten Indikatoren zu entwerfen. Wir werden über den Ichimoku-Indikator im Detail sprechen und wie man ein Handelssystem mit diesem Indikator entwirft.
In diesem Teil werden wir eine Blaupause für jede Strategie erstellen. Ich halte diesen Schritt für den wichtigsten in unserer Mission, ein Handelssystem zu erstellen, da er uns helfen wird, eine schrittweise Blaupause zu entwerfen, die uns helfen wird, zu verstehen, was wir genau tun wollen.
Auf der Grundlage dieser Strategie müssen wir ein Handelssystem entwickeln, das in der Lage ist, die Werte der Schlusskurse, der Senkou Span A und der Senkou Span B kontinuierlich zu überprüfen. Das Handelssystem muss einen Vergleich zwischen diesen Werten anstellen, um zu entscheiden, welcher Wert größer oder kleiner ist, um zu entscheiden, ob es einen Auf- oder Abwärtstrend gibt, und als Kommentar auf dem Chart mit den Werten des Schlusskurses und der Ichimoku-Linien erscheinen. Wenn der Schlusskurs größer als Span B und der Schlusskurs größer als Span A ist, dann ist der Trend aufwärts gerichtet. Wenn der Schlusskurs niedriger ist als Span B und der Schlusskurs niedriger als Span A, dann ist der Trend abwärts gerichtet.
Autor: Mohamed Abdelmaaboud