Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
mladen besteht die Hoffnung, dass Sie mir mit dem Indikator helfen können?
Keine Notwendigkeit für zusätzliche Beiträge Hier ist eine Version mit Alarmen (6 mögliche Arten von Alarmen hinzugefügt) : MASO 2_1 + alerts.mq4
Zusätzliche Beiträge sind nicht erforderlich Hier ist eine Version mit Warnungen (6 mögliche Arten von Warnungen hinzugefügt) : MASO 2_1 + alerts.mq4
sehr gut, tolle Arbeit, danke
mladen
und kann eine weitere Anfrage, um Pfeile zu machen, nur die Bar geschlossen? und wenn es eine neutrale Bar, behandeln sie als eine Änderung der Tendenz
Mit dem MASO-Indikator sieht es nach einer Menge von Warnmeldungen aus.
Ist das nicht zu viel? Wie kann man ihn für den normalen Handel verwenden?
für binäre Optionen, mit einer bestimmten Strategie, mit martingail
Hallo Mladen,
Haben Sie einen Indikator, der die Kerzenfarbe des Vortages anzeigt?
Ich arbeite mit 5-Minuten-Charts und visuell Backtesting wird es verwirrend Swapping, um die Kerzenfarbe am Vortag zu überprüfen. Es wäre toll, wenn ich einen Balken entlang der Unterseite in einem neuen Fenster entweder rot oder grün zu zeigen, Vortag Kerzenfarbe - ich möchte den Handel in die gleiche Richtung zu erkunden.
Ein Balken wie dieser im Anhang. Ist dies möglich?
Also wenn close > open dann grün, sonst rot denke ich?
Vielen Dank wie immer für Ihre Hilfe :-)
PGhöflicher Bump :-)
höflich stoßen :-)
wenn dies Ihnen helfen wird ? allerdings nicht in sw.
#property copyright ""
#property link ""
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Crimson
#property indicator_color2 DodgerBlue
#property indicator_color3 clrBlue
int price = PRICE_OPEN;
extern int zBar = 1000;
extern int LengthB=12;
extern int LengthK=12;
extern int sCCI=2;
extern int sRSI=2;
int SoundAlertMode = 0;
int Soundonly = 0;
int Barcount;
double RSI;
double CCI;
datetime TimeBar;
double previ;
double ExtMapBuffer2[];
double alertBar1;
int sim=0;
double alertBar;
extern bool DoAlert=true;
extern bool alertMail=false;
datetime lastAlertTime;
//---- buffers
double b1[],b2[];double Gd_188;
double f0_3() {
double Ld_ret_0;
if (Digits < 4) Ld_ret_0 = 0.01;
else Ld_ret_0 = 0.0001;
return (Ld_ret_0);
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(2);
IndicatorShortName("Investor");
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,0);
SetIndexArrow(0,234);
SetIndexBuffer(0,b1);
SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,0);
SetIndexArrow(1,233);
SetIndexBuffer(1,b2);
SetIndexEmptyValue(2,0.0);
SetIndexDrawBegin(2, zBar);
SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,2);
SetIndexArrow(2,158);
SetIndexBuffer(2,ExtMapBuffer2);
Gd_188 = f0_3();
Barcount = 0;
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
if(counted_bars>0) limit++;
string sAlertMsg;
/*// TImes
int Li_unused_8;
string Ls_28;
int Li_unused_36;
double Ld_0 = (Ask - Bid) / Gd_188;
if (Ld_0 > 1.0 && Ld_0 <= 10.0) Li_unused_8 = 4;
int Li_12 = Time[0] + 60 * Period() - TimeCurrent();
double Ld_16 = Li_12 / 60.0;
int Li_24 = Li_12 % 60;
Li_12 = (Li_12 - Li_12 % 60) / 60;
if (Li_24 <= 9) Ls_28 = "0";
if (Li_12 >= 1 && Li_12 <= 9) Li_unused_36 = -10;
else {
if (Li_12 >= 10 && Li_12 <= 99) Li_unused_36 = -13;
else {
if (Li_12 >= 100 && Li_12 <= 999) Li_unused_36 = -16;
else {
if (Li_12 >= 1000 && Li_12 <= 9999) Li_unused_36 = -24;
else
if (Li_12 >= 10000 && Li_12 <= 99999) Li_unused_36 = -29;
}
}
}
Comment("", "" + Li_12 + ":" + Ls_28 + "" + Li_24 + "",
"\n", "=======",
"\n", "" + Symbol() + "", " " + Period() + "",
"\n", "Spread : " + DoubleToStr(Ld_0, 1) + "",
"\n",
"\n", "",
"\n", "");
*/
// Arrows
for(i=0; i<limit; i++)
{
RSI=iRSI(NULL,0,sRSI,price,i);
CCI=iCCI(NULL,0,sCCI,price,i+1);
//double zz1 = iCustom(NULL,0,"Zigzag_v.2",zBar,LengthB,LengthK,1,i);
//double zz2 = iCustom(NULL,0,"Zigzag_v.2",zBar,LengthB,LengthK,0,i);
//if (zz1 != 0) {
if ( RSI > 80.0 && CCI < 50.0 &&
Open > Close && //bear
Open < Close && //bull
High - Close > High - Close )
{
b1 = High+Point*5;
}
//if (zz2 != 0) {
if ( RSI 50.0 &&
Open < Close && //bull
Open > Close && //bear
High - Close < High - Close )
{
b2 = Low-Point*5;
}
if (DoAlert && b2[1]!=0 && lastAlertTime!=Time[0])
{
sAlertMsg=" Alert - "+Symbol()+" "+TF2Str(Period())+"";
if (DoAlert) Alert(sAlertMsg);
lastAlertTime = Time[0];
if (alertMail) SendMail(sAlertMsg, "Alert!\n" + TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS )+"\n"+sAlertMsg);
}
else
if (b1[1]!=0 && lastAlertTime!=Time[0])
{
sAlertMsg=" Alert - "+Symbol()+" "+TF2Str(Period())+"";
if (DoAlert) Alert(sAlertMsg);
lastAlertTime = Time[0];
if (alertMail) SendMail(sAlertMsg, "Alert!\n" + TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS )+"\n"+sAlertMsg);
}
//}
//}
}
sinyal();
//-------------------------------------------------------------------+
return(0);
}
//+------------------------------------------------------------------+
string TF2Str(int iPeriod) {
switch(iPeriod) {
case PERIOD_M1: return("M1");
case PERIOD_M5: return("M5");
case PERIOD_M15: return("M15");
case PERIOD_M30: return("M30");
case PERIOD_H1: return("H1");
case PERIOD_H4: return("H4");
case PERIOD_D1: return("D1");
case PERIOD_W1: return("W1");
case PERIOD_MN1: return("MN1");
default: return("M"+iPeriod);
}
}
void sinyal(){
int shifti,Swingi,Swing_ni,uzli,ii,zui,zdi,mvi;
double LLi,HHi,BHi,BLi;
double Uzeli[10000][3];
// loop from first bar to current bar (with shift=0)
Swing_ni=0;Swingi=0;uzli=0;
BHi =High[zBar];BLi=Low[zBar];zui=zBar;zdi=zBar;
for (shifti=zBar;shifti>=0;shifti--) {
LLi=10000000;HHi=-100000000;
for (ii=shifti+LengthB;ii>=shifti+1;ii--) {
if (Low< LLi) {LLi=Low;}
if (High>HHi) {HHi=High;}
}
if (Low[shifti]HHi){
Swingi=2;
if (Swing_ni==1) {zui=shifti+1;}
if (Swing_ni==-1) {zdi=shifti+1;}
} else {
if (Low[shifti]<LLi) {Swingi=-1;}
if (High[shifti]>HHi) {Swingi=1;}
}
if (Swingi!=Swing_ni && Swing_ni!=0) {
if (Swingi==2) {
Swingi=-Swing_ni;BHi = High[shifti];BLi = Low[shifti];
}
uzli=uzli+1;
if (Swingi==1) {
Uzeli[1]=zdi;
Uzeli[2]=BLi;
}
if (Swingi==-1) {
Uzeli[1]=zui;
Uzeli[2]=BHi;
}
BHi = High[shifti];
BLi = Low[shifti];
}
if (Swingi==1) {
if (High[shifti]>=BHi) {BHi=High[shifti];zui=shifti;}}
if (Swingi==-1) {
if (Low[shifti]<=BLi) {BLi=Low[shifti]; zdi=shifti;}}
Swing_ni=Swingi;
}
for (ii=1;ii<=uzli;ii++) {
mvi=StrToInteger(DoubleToStr(Uzeli[1],0));
ExtMapBuffer2[mvi]=Uzeli[2];
previ=Uzeli[2];
}
}
Bitte helfen Sie ....
bei diesem Indikator erscheint das Signal nicht zum richtigen Zeitpunkt
ich muss das Diagramm jedes Mal aktualisieren
und bitte beheben Sie auch den Alarm
Danke
#property copyright ""
#property link ""
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Crimson
#property indicator_color2 DodgerBlue
#property indicator_color3 clrBlue
int price = PRICE_OPEN;
extern int zBar = 1000;
extern int LengthB=12;
extern int LengthK=12;
extern int sCCI=2;
extern int sRSI=2;
int SoundAlertMode = 0;
int Soundonly = 0;
int Barcount;
double RSI;
double CCI;
datetime TimeBar;
double previ;
double ExtMapBuffer2[];
double alertBar1;
int sim=0;
double alertBar;
extern bool DoAlert=true;
extern bool alertMail=false;
datetime lastAlertTime;
//---- buffers
double b1[],b2[];double Gd_188;
double f0_3() {
double Ld_ret_0;
if (Digits < 4) Ld_ret_0 = 0.01;
else Ld_ret_0 = 0.0001;
return (Ld_ret_0);
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(2);
IndicatorShortName("Investor");
SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,0);
SetIndexArrow(0,234);
SetIndexBuffer(0,b1);
SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,0);
SetIndexArrow(1,233);
SetIndexBuffer(1,b2);
SetIndexEmptyValue(2,0.0);
SetIndexDrawBegin(2, zBar);
SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,2);
SetIndexArrow(2,158);
SetIndexBuffer(2,ExtMapBuffer2);
Gd_188 = f0_3();
Barcount = 0;
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
if(counted_bars>0) limit++;
string sAlertMsg;
/*// TImes
int Li_unused_8;
string Ls_28;
int Li_unused_36;
double Ld_0 = (Ask - Bid) / Gd_188;
if (Ld_0 > 1.0 && Ld_0 <= 10.0) Li_unused_8 = 4;
int Li_12 = Time[0] + 60 * Period() - TimeCurrent();
double Ld_16 = Li_12 / 60.0;
int Li_24 = Li_12 % 60;
Li_12 = (Li_12 - Li_12 % 60) / 60;
if (Li_24 <= 9) Ls_28 = "0";
if (Li_12 >= 1 && Li_12 <= 9) Li_unused_36 = -10;
else {
if (Li_12 >= 10 && Li_12 <= 99) Li_unused_36 = -13;
else {
if (Li_12 >= 100 && Li_12 <= 999) Li_unused_36 = -16;
else {
if (Li_12 >= 1000 && Li_12 <= 9999) Li_unused_36 = -24;
else
if (Li_12 >= 10000 && Li_12 <= 99999) Li_unused_36 = -29;
}
}
}
Comment("", "" + Li_12 + ":" + Ls_28 + "" + Li_24 + "",
"\n", "=======",
"\n", "" + Symbol() + "", " " + Period() + "",
"\n", "Spread : " + DoubleToStr(Ld_0, 1) + "",
"\n",
"\n", "",
"\n", "");
*/
// Arrows
for(i=0; i<limit; i++)
{
RSI=iRSI(NULL,0,sRSI,price,i);
CCI=iCCI(NULL,0,sCCI,price,i+1);
//double zz1 = iCustom(NULL,0,"Zigzag_v.2",zBar,LengthB,LengthK,1,i);
//double zz2 = iCustom(NULL,0,"Zigzag_v.2",zBar,LengthB,LengthK,0,i);
//if (zz1 != 0) {
if ( RSI > 80.0 && CCI < 50.0 &&
Open > Close && //bear
Open < Close && //bull
High - Close > High - Close )
{
b1 = High+Point*5;
}
//if (zz2 != 0) {
if ( RSI 50.0 &&
Open < Close && //bull
Open > Close && //bear
High - Close < High - Close )
{
b2 = Low-Point*5;
}
if (DoAlert && b2[1]!=0 && lastAlertTime!=Time[0])
{
sAlertMsg=" Alert - "+Symbol()+" "+TF2Str(Period())+"";
if (DoAlert) Alert(sAlertMsg);
lastAlertTime = Time[0];
if (alertMail) SendMail(sAlertMsg, "Alert!\n" + TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS )+"\n"+sAlertMsg);
}
else
if (b1[1]!=0 && lastAlertTime!=Time[0])
{
sAlertMsg=" Alert - "+Symbol()+" "+TF2Str(Period())+"";
if (DoAlert) Alert(sAlertMsg);
lastAlertTime = Time[0];
if (alertMail) SendMail(sAlertMsg, "Alert!\n" + TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS )+"\n"+sAlertMsg);
}
//}
//}
}
sinyal();
//-------------------------------------------------------------------+
return(0);
}
//+------------------------------------------------------------------+
string TF2Str(int iPeriod) {
switch(iPeriod) {
case PERIOD_M1: return("M1");
case PERIOD_M5: return("M5");
case PERIOD_M15: return("M15");
case PERIOD_M30: return("M30");
case PERIOD_H1: return("H1");
case PERIOD_H4: return("H4");
case PERIOD_D1: return("D1");
case PERIOD_W1: return("W1");
case PERIOD_MN1: return("MN1");
default: return("M"+iPeriod);
}
}
void sinyal(){
int shifti,Swingi,Swing_ni,uzli,ii,zui,zdi,mvi;
double LLi,HHi,BHi,BLi;
double Uzeli[10000][3];
// loop from first bar to current bar (with shift=0)
Swing_ni=0;Swingi=0;uzli=0;
BHi =High[zBar];BLi=Low[zBar];zui=zBar;zdi=zBar;
for (shifti=zBar;shifti>=0;shifti--) {
LLi=10000000;HHi=-100000000;
for (ii=shifti+LengthB;ii>=shifti+1;ii--) {
if (Low< LLi) {LLi=Low;}
if (High>HHi) {HHi=High;}
}
if (Low[shifti]HHi){
Swingi=2;
if (Swing_ni==1) {zui=shifti+1;}
if (Swing_ni==-1) {zdi=shifti+1;}
} else {
if (Low[shifti]<LLi) {Swingi=-1;}
if (High[shifti]>HHi) {Swingi=1;}
}
if (Swingi!=Swing_ni && Swing_ni!=0) {
if (Swingi==2) {
Swingi=-Swing_ni;BHi = High[shifti];BLi = Low[shifti];
}
uzli=uzli+1;
if (Swingi==1) {
Uzeli[1]=zdi;
Uzeli[2]=BLi;
}
if (Swingi==-1) {
Uzeli[1]=zui;
Uzeli[2]=BHi;
}
BHi = High[shifti];
BLi = Low[shifti];
}
if (Swingi==1) {
if (High[shifti]>=BHi) {BHi=High[shifti];zui=shifti;}}
if (Swingi==-1) {
if (Low[shifti]<=BLi) {BLi=Low[shifti]; zdi=shifti;}}
Swing_ni=Swingi;
}
for (ii=1;ii<=uzli;ii++) {
mvi=StrToInteger(DoubleToStr(Uzeli[1],0));
ExtMapBuffer2[mvi]=Uzeli[2];
previ=Uzeli[2];
}
}
Bitte helfen Sie ....
bei diesem Indikator erscheint das Signal nicht zum richtigen Zeitpunkt
ich muss das Diagramm jedes Mal aktualisieren
und bitte beheben Sie auch den Alarm
dankecebrez
Das ist ein Indikator, der aus dekompilierten und einigen anderen Teilen zusammen gepatcht wurde, und als Ergebnis haben Sie ein Durcheinander erhalten, das ein repainting indicator 101 ist
Am besten vergessen Sie es
cebrez
Das ist ein Indikator, der aus dekompilierten und einigen anderen Teilen zusammengefügt wurde, und als Ergebnis hat man ein Chaos, das ein Repainting-Indikator 101 ist
Am besten vergessen Sie esaber ich habe gute Ergebnisse mit diesem Indikator Sir und ja seine repaints aber kein Problem für mich ... bitte Sir
Ich füge einige andere Teile namens ZigZag_v.2 hier >>> https://www.mql5.com/en/forum/174385/page417
Danke