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
Hallo!
Ich habe ein Problem mit meinem Indikator. Dieser Code funktioniert sehr gut:
//| RSMA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Tartut"
#property link ""
#property indicator_separate_window
#property indicator_minimum -40
#property indicator_maximum 100
#property indicator_level1 19
#property indicator_level2 -19
#property indicator_level3 0
#property indicator_buffers 3
#property indicator_color1 Lime
#property indicator_color2 Yellow
#property indicator_color3 MediumOrchid
extern int RSI_Period = 9;
extern int RSI_Applied_Price = 0;//0=close, 1=open, 2=high, 3=low, 4=(high+low)/2, 5=(high+low+close)/3, 6=(high+low+close+close)/4
extern int MA_Period = 12;
extern int MA_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
double MA_Array[],RSI[], Histo[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators setting
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName("RSMA");
SetIndexBuffer(0,Histo);
SetIndexLabel(0,"RSMA");
SetIndexBuffer(1,MA_Array);
SetIndexLabel(1,"MA("+MA_Period+")");
SetIndexBuffer(2,RSI);
SetIndexLabel(2,"RSI("+RSI_Period+")");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit = Bars - IndicatorCounted() - 1;
//---- indicator calculation
ArrayResize(RSI,limit+1);
ArrayResize(MA_Array,limit+1);
for(int i=limit; i>=0; i--)
{
RSI= iRSI(NULL,0,RSI_Period,RSI_Applied_Price,i);
}
for(i=limit; i>=0; i--)
{
MA_Array = iMAOnArray(RSI,0,MA_Period,0,MA_Method,i);
}
for(i=limit; i>=0; i--)
{
Histo = RSI-MA_Array;
}
//----
return(0);
}
//+------------------------------------------------------------------+Ich möchte RSI und EMA Linie zu löschen, aber wenn ich es tun, Histogramm Wert ändern :/
Ich habe zwei Indikatoren angehängt. Bitte helfen Sie mir!
Sorry für mein Englisch.
Hi,
Ich habe ein Problem mit meinem Indikator. Dieser Code funktioniert sehr gut:
//| RSMA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Tartut"
#property link ""
#property indicator_separate_window
#property indicator_minimum -40
#property indicator_maximum 100
#property indicator_level1 19
#property indicator_level2 -19
#property indicator_level3 0
#property indicator_buffers 3
#property indicator_color1 Lime
#property indicator_color2 Yellow
#property indicator_color3 MediumOrchid
extern int RSI_Period = 9;
extern int RSI_Applied_Price = 0;//0=close, 1=open, 2=high, 3=low, 4=(high+low)/2, 5=(high+low+close)/3, 6=(high+low+close+close)/4
extern int MA_Period = 12;
extern int MA_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
double MA_Array[],RSI[], Histo[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators setting
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName("RSMA");
SetIndexBuffer(0,Histo);
SetIndexLabel(0,"RSMA");
SetIndexBuffer(1,MA_Array);
SetIndexLabel(1,"MA("+MA_Period+")");
SetIndexBuffer(2,RSI);
SetIndexLabel(2,"RSI("+RSI_Period+")");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit = Bars - IndicatorCounted() - 1;
//---- indicator calculation
ArrayResize(RSI,limit+1);
ArrayResize(MA_Array,limit+1);
for(int i=limit; i>=0; i--)
{
RSI= iRSI(NULL,0,RSI_Period,RSI_Applied_Price,i);
}
for(i=limit; i>=0; i--)
{
MA_Array = iMAOnArray(RSI,0,MA_Period,0,MA_Method,i);
}
for(i=limit; i>=0; i--)
{
Histo = RSI-MA_Array;
}
//----
return(0);
}
//+------------------------------------------------------------------+[/CODE]
I would like delete RSI and EMA line, but when I do it, histogram change value. :/
I add attachment two indicators. Help me!
Sorry for my English.Ändern Sie den Anfang zu diesem :
[CODE]//+------------------------------------------------------------------+
//| RSMA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Tartut"
#property link ""
#property indicator_separate_window
#eigenschaft indicator_minimum -40
#eigenschaft indicator_maximum 100
#eigenschaft indicator_level1 19
#eigenschaft indicator_level2 -19
#Eigenschaft indicator_level3 0
#Eigenschaft indicator_buffers 1
#Eigenschaft indicator_color1 Lime
extern int RSI_Periode = 9;
extern int RSI_Applied_Price = 0;//0=schließen, 1=öffnen, 2=hoch, 3=niedrig, 4=(hoch+niedrig)/2, 5=(hoch+niedrig+schließen)/3, 6=(hoch+niedrig+schließen+schließen)/4
extern int MA_Period = 12;
extern int MA_Methode = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
double MA_Array[],RSI[], Histo[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers)3);
//---- Einstellung der IndikatorenÄndern Sie den Anfang in dies:
//| RSMA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Tartut"
#property link ""
#property indicator_separate_window
#property indicator_minimum -40
#property indicator_maximum 100
#property indicator_level1 19
#property indicator_level2 -19
#property indicator_level3 0
#property indicator_buffers 1
#property indicator_color1 Lime
extern int RSI_Period = 9;
extern int RSI_Applied_Price = 0;//0=close, 1=open, 2=high, 3=low, 4=(high+low)/2, 5=(high+low+close)/3, 6=(high+low+close+close)/4
extern int MA_Period = 12;
extern int MA_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
double MA_Array[],RSI[], Histo[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers)3);
//---- indicators settingJawohl! Es klappt. Danke!
Ich habe folgendes Problem. Mein Indikator nicht ändern Wert aktuellen bar. Ich muss Chart aktualisieren.
//| RSMA Histogram.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Tartut"
#property link ""
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Lime
#property indicator_minimum -35
#property indicator_maximum 35
#property indicator_level1 19
#property indicator_level2 -19
#property indicator_level3 0
//#property indicator_color2 Yellow
//#property indicator_color3 MediumOrchid
extern double OverSold=-19.0;
extern double OverBought=19.0;
extern int RSI_Period=9;
extern int RSI_Applied_Price=0;
extern int MA_Period=12;
extern int MA_Method=1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
extern bool ShowArrows=true;
extern color OverSoldColor=Gold;
extern color OverBoughtColor = Gold;
extern string arrowsIdentifier = "RSMA arrows";
extern int arrowsWidth = 1;
extern int IDWindow=1;
extern string _Divergence="<>";
extern string _CBars="<>";
extern int CBars=99;
extern bool CheckDivergence=false;
extern bool CheckSlowDownMomentum=false;
extern string DivergenceIndentifier="RSMA Divergence";
double MA_Array[],RSI[],Histo[];
int trend[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(3);
//---- indicators setting
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName("RSMA Histogram");
SetIndexBuffer(0,Histo);
SetIndexLabel(0,"RSMA");
SetIndexBuffer(1,MA_Array);
SetIndexLabel(1,"MA("+MA_Period+")");
SetIndexBuffer(2,RSI);
SetIndexLabel(2,"RSI("+RSI_Period+")");
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
deleteArrows();
fnDeleteAllDivergence();
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit=Bars-IndicatorCounted();
if(limit<0) return(-1);
if(limit>0) limit--;
//---- indicator calculation
ArrayResize(trend,limit+1);
ArrayResize(RSI,limit+1);
ArrayResize(MA_Array,limit+1);
for(int i=0; i<limit; i++)
{
RSI=iRSI(NULL,0,RSI_Period,RSI_Applied_Price,i);
}
for(i=0; i<limit; i++)
{
MA_Array=iMAOnArray(RSI,0,MA_Period,0,MA_Method,i);
}
for(i=0; i<limit; i++)
{
Histo=RSI-MA_Array;
if(Histo>OverBought)
trend=1;
else if(Histo<OverSold)
trend=-1;
manageArrow(i);
}
if(CheckDivergence==true)
{
int x= CBars/3;
for(i=0; i<x; i++)
{
double open0=iOpen(NULL,0,i);
double close0= iClose(NULL,0,i);
double open1 = iOpen(NULL,0,i+1);
double close1= iClose(NULL,0,i+1);
double open2 = iOpen(NULL,0,i+2);
double close2 = iClose(NULL, 0, i+2);
bool momentum = true;
if(CheckSlowDownMomentum==true)
{
double bar0 = MathAbs(open0-close0);
double bar1 = MathAbs(open1-close1);
double bar2 = MathAbs(open2-close2);
if(bar0<bar1 && bar1<bar2)
momentum=true;
else
momentum=false;
}
//PUT
if(Histo<Histo && Histo<Histo && open0<close0 && open1<close1 && open2<close2 && momentum==true)
{
double high0 = iHigh(NULL, 0, i);
double high2 = iHigh(NULL, 0, i+2);
TrendCreate(DivergenceIndentifier+"Sub"+i,Time,Histo,Time,Histo,Red,STYLE_SOLID,1,IDWindow);
TrendCreate(DivergenceIndentifier+"Main"+i,Time,high2,Time,high0,Red,STYLE_SOLID,1,0);
}
else if(Histo>Histo && Histo>Histo && open0>close0 && open1>close1 && open2>close2 && momentum==true)
{
double low0 = iLow(NULL, 0, i);
double low2 = iLow(NULL, 0, i+2);
TrendCreate(DivergenceIndentifier+"Sub"+i,Time,Histo,Time,Histo,Red,STYLE_SOLID,1,IDWindow);
TrendCreate(DivergenceIndentifier+"Main"+i,Time,low2,Time,low0,Red,STYLE_SOLID,1,0);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
void manageArrow(int i)
{
if(ShowArrows)
{
deleteArrow(Time);
if(trend ==-1) drawArrow(i,OverBoughtColor,159,false);
if(trend == 1) drawArrow(i,OverSoldColor ,159,true );
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void fnDeleteAllDivergence()
{
string lookFor=DivergenceIndentifier;
string objectName;
int lookForLength=StringLen(lookFor);
for(int i=ObjectsTotal()-1; i>=0; i--)
{
objectName=ObjectName(i);
if(StringSubstr(objectName,0,lookForLength)==lookFor) ObjectDelete(objectName);
}
}
//
//
//
//
//
void drawArrow(int i,color theColor,int theCode,bool up)
{
string name=arrowsIdentifier+":"+Time;
double gap=3.0*iATR(NULL,0,10,i)/4.0; //20
//
//
//
//
//
ObjectCreate(name,OBJ_ARROW,0,Time,0);
ObjectSet(name,OBJPROP_ARROWCODE,theCode);
ObjectSet(name,OBJPROP_COLOR,theColor);
ObjectSet(name,OBJPROP_WIDTH,arrowsWidth);
if(up)
ObjectSet(name,OBJPROP_PRICE1,High+gap);
else ObjectSet(name,OBJPROP_PRICE1,Low-gap);
}
//
//
//
//
//
void deleteArrows()
{
string lookFor = arrowsIdentifier+":";
int lookForLength = StringLen(lookFor);
for(int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName=ObjectName(i);
if(StringSubstr(objectName,0,lookForLength)==lookFor) ObjectDelete(objectName);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void deleteArrow(datetime time)
{
string lookFor=arrowsIdentifier+":"+time; ObjectDelete(lookFor);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//
bool TrendCreate(string name="Line1",
datetime time1=0, // first point time
double price1=0, // first point price
datetime time2=0, // second point time
double price2=0, // second point price
const color clr=clrRed, // line color
const ENUM_LINE_STYLE style=STYLE_SOLID, // line style
const int width=1,
const int window=0 // line width // highlight to move
)
{
//--- reset the error value
ResetLastError();
//--- create a trend line by the given coordinates
if(!ObjectCreate(name,OBJ_TREND,window,time1,price1,time2,price2))
{
Print(__FUNCTION__,": failed to create a trend line! Error code = ",GetLastError());
return(false);
}
//--- set line color
ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- set line display style
ObjectSetInteger(0,name,OBJPROP_STYLE,style);
//--- set line width
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ObjectSetInteger(0,name,OBJPROP_SELECTED,false);
//--- enable (true) or disable (false) the mode of continuation of the line's display to the right
ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false);
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CleanPoint(int i,double &first[],double &second[])
{
if((second!=EMPTY_VALUE) &&(second !=EMPTY_VALUE))
second=EMPTY_VALUE;
else
if((first!=EMPTY_VALUE) && (first!=EMPTY_VALUE) && (first==EMPTY_VALUE))
first=EMPTY_VALUE;
}
//
//
//
//
//
void PlotPoint(int i,double &first[],double &second[],double &from[])
{
if(first==EMPTY_VALUE)
{
if(first==EMPTY_VALUE)
{
first = from;
first = from;
second = EMPTY_VALUE;
}
else
{
second = from;
second = from;
first = EMPTY_VALUE;
}
}
else
{
first = from;
second = EMPTY_VALUE;
}
}
//+------------------------------------------------------------------+
//---
Ich habe folgendes Problem. Mein Indikator ändert den Wert des aktuellen Balkens nicht. Ich muss Chart aktualisieren.
Versuchen Sie es so:
//| RSMA Histogram.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "Tartut"
#property link ""
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Lime
#property indicator_minimum -35
#property indicator_maximum 35
#property indicator_level1 19
#property indicator_level2 -19
#property indicator_level3 0
//#property indicator_color2 Yellow
//#property indicator_color3 MediumOrchid
extern double OverSold=-19.0;
extern double OverBought=19.0;
extern int RSI_Period=9;
extern int RSI_Applied_Price=0;
extern int MA_Period=12;
extern int MA_Method=1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
extern bool ShowArrows=true;
extern color OverSoldColor=Gold;
extern color OverBoughtColor = Gold;
extern string arrowsIdentifier = "RSMA arrows";
extern int arrowsWidth = 1;
extern int IDWindow=1;
extern string _Divergence="<>";
extern string _CBars="<>";
extern int CBars=99;
extern bool CheckDivergence=false;
extern bool CheckSlowDownMomentum=false;
extern string DivergenceIndentifier="RSMA Divergence";
double MA_Array[],RSI[],Histo[];
double trend[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(4);
//---- indicators setting
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName("RSMA Histogram");
SetIndexBuffer(0,Histo);
SetIndexLabel(0,"RSMA");
SetIndexBuffer(1,MA_Array);
SetIndexLabel(1,"MA("+MA_Period+")");
SetIndexBuffer(2,RSI);
SetIndexLabel(2,"RSI("+RSI_Period+")");
SetIndexBuffer(3,trend);
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
deleteArrows();
fnDeleteAllDivergence();
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
//---- indicator calculation
Comment(limit);
for(int i=0; i<limit; i++)
{
RSI=iRSI(NULL,0,RSI_Period,RSI_Applied_Price,i);
}
for(i=0; i<limit; i++)
{
MA_Array=iMAOnArray(RSI,0,MA_Period,0,MA_Method,i);
}
for(i=0; i<limit; i++)
{
Histo=RSI-MA_Array;
if(Histo>OverBought)
trend=1;
else if(Histo<OverSold)
trend=-1;
manageArrow(i);
}
if(CheckDivergence==true)
{
int x= CBars/3;
for(i=0; i<x; i++)
{
double open0=iOpen(NULL,0,i);
double close0= iClose(NULL,0,i);
double open1 = iOpen(NULL,0,i+1);
double close1= iClose(NULL,0,i+1);
double open2 = iOpen(NULL,0,i+2);
double close2 = iClose(NULL, 0, i+2);
bool momentum = true;
if(CheckSlowDownMomentum==true)
{
double bar0 = MathAbs(open0-close0);
double bar1 = MathAbs(open1-close1);
double bar2 = MathAbs(open2-close2);
if(bar0<bar1 && bar1<bar2)
momentum=true;
else
momentum=false;
}
//PUT
if(Histo<Histo && Histo<Histo && open0<close0 && open1<close1 && open2<close2 && momentum==true)
{
double high0 = iHigh(NULL, 0, i);
double high2 = iHigh(NULL, 0, i+2);
TrendCreate(DivergenceIndentifier+"Sub"+i,Time,Histo,Time,Histo,Red,STYLE_SOLID,1,IDWindow);
TrendCreate(DivergenceIndentifier+"Main"+i,Time,high2,Time,high0,Red,STYLE_SOLID,1,0);
}
else if(Histo>Histo && Histo>Histo && open0>close0 && open1>close1 && open2>close2 && momentum==true)
{
double low0 = iLow(NULL, 0, i);
double low2 = iLow(NULL, 0, i+2);
TrendCreate(DivergenceIndentifier+"Sub"+i,Time,Histo,Time,Histo,Red,STYLE_SOLID,1,IDWindow);
TrendCreate(DivergenceIndentifier+"Main"+i,Time,low2,Time,low0,Red,STYLE_SOLID,1,0);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
void manageArrow(int i)
{
if(ShowArrows)
{
deleteArrow(Time);
if(trend ==-1) drawArrow(i,OverBoughtColor,159,false);
if(trend == 1) drawArrow(i,OverSoldColor ,159,true );
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void fnDeleteAllDivergence()
{
string lookFor=DivergenceIndentifier;
string objectName;
int lookForLength=StringLen(lookFor);
for(int i=ObjectsTotal()-1; i>=0; i--)
{
objectName=ObjectName(i);
if(StringSubstr(objectName,0,lookForLength)==lookFor) ObjectDelete(objectName);
}
}
//
//
//
//
//
void drawArrow(int i,color theColor,int theCode,bool up)
{
string name=arrowsIdentifier+":"+Time;
double gap=3.0*iATR(NULL,0,10,i)/4.0; //20
//
//
//
//
//
ObjectCreate(name,OBJ_ARROW,0,Time,0);
ObjectSet(name,OBJPROP_ARROWCODE,theCode);
ObjectSet(name,OBJPROP_COLOR,theColor);
ObjectSet(name,OBJPROP_WIDTH,arrowsWidth);
if(up)
ObjectSet(name,OBJPROP_PRICE1,High+gap);
else ObjectSet(name,OBJPROP_PRICE1,Low-gap);
}
//
//
//
//
//
void deleteArrows()
{
string lookFor = arrowsIdentifier+":";
int lookForLength = StringLen(lookFor);
for(int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName=ObjectName(i);
if(StringSubstr(objectName,0,lookForLength)==lookFor) ObjectDelete(objectName);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void deleteArrow(datetime time)
{
string lookFor=arrowsIdentifier+":"+time; ObjectDelete(lookFor);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//
//
//
//
//
bool TrendCreate(string name="Line1",
datetime time1=0, // first point time
double price1=0, // first point price
datetime time2=0, // second point time
double price2=0, // second point price
const color clr=clrRed, // line color
const ENUM_LINE_STYLE style=STYLE_SOLID, // line style
const int width=1,
const int window=0 // line width // highlight to move
)
{
//--- reset the error value
ResetLastError();
//--- create a trend line by the given coordinates
if(!ObjectCreate(name,OBJ_TREND,window,time1,price1,time2,price2))
{
Print(__FUNCTION__,": failed to create a trend line! Error code = ",GetLastError());
return(false);
}
//--- set line color
ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- set line display style
ObjectSetInteger(0,name,OBJPROP_STYLE,style);
//--- set line width
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ObjectSetInteger(0,name,OBJPROP_SELECTED,false);
//--- enable (true) or disable (false) the mode of continuation of the line's display to the right
ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false);
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CleanPoint(int i,double &first[],double &second[])
{
if((second!=EMPTY_VALUE) &&(second !=EMPTY_VALUE))
second=EMPTY_VALUE;
else
if((first!=EMPTY_VALUE) && (first!=EMPTY_VALUE) && (first==EMPTY_VALUE))
first=EMPTY_VALUE;
}
//
//
//
//
//
void PlotPoint(int i,double &first[],double &second[],double &from[])
{
if(first==EMPTY_VALUE)
{
if(first==EMPTY_VALUE)
{
first = from;
first = from;
second = EMPTY_VALUE;
}
else
{
second = from;
second = from;
first = EMPTY_VALUE;
}
}
else
{
first = from;
second = EMPTY_VALUE;
}
}
//+------------------------------------------------------------------+
//---Versuchen Sie es auf diese Weise:
Du bist der Beste Danke
Hallo an alle, kann jemand bitte diesen Indikator zu beheben, um rote Balken nach unten als auch zeigen, wie ich nur grüne ups sehen kann. Vielen Dank im Voraus. (Deltaforce Volumen)
Könnten Sie das bitte auch so ändern, dass ich die Dicke der Balken einstellen kann. (Deltaforce) Nochmals vielen Dank
Hallo Mladen und Mr. Tools
Ich habe ein Problem und ich habe keine Ahnung, wie man dies tun, vielleicht mit einem Indikator oder mit EA, aber ich brauche es wirklich, vielleicht können Sie mir helfen:
Ich brauche ein halbautomatisches Ordersystem, ich meine, ich erhalte manuell den ersten Trade, "Market Order" mit SL und TP, wenn der SL getroffen wird, erstellt das System eine neue Order in die entgegengesetzte Richtung mit SL (für die neue Order ist der Einstieg), der Einstieg des ersten Trades ist jetzt der SL und TP, der immer der gleiche Wert in Pips ist, aber ich möchte manuell in das Set-up setzen, wie viele Lots oder Mini-Lots im progressiven Trade geöffnet sein sollen, eine Art Martingale, aber nicht wirklich...., bis der TP erreicht ist, sollte das System neue Aufträge erstellen, wenn der TP erreicht ist, stoppt oder schließt das System, bis ich manuell den ersten Auftrag erneut eingebe. Ich hoffe, ich habe bei der Erklärung kein Durcheinander angerichtet! ;-)
Gibt es etwas in dieser Art, das ich verwenden kann?
Herzlichen Dank!
Hallo Mladen und Mr. Tools
Ich habe ein Problem, und ich habe keine Ahnung, wie man dies tun, vielleicht mit einem Indikator oder mit EA, aber ich brauche es wirklich, vielleicht können Sie mir helfen:
Ich brauche ein halbautomatisches Auftragssystem, ich meine, ich bekomme manuell den ersten Handel, "Marktauftrag" mit SL und TP, wenn der SL getroffen wird das System eine neue Bestellung in die entgegengesetzte Richtung mit SL erstellen (für die neue Bestellung ist der Eintrag), der Eintrag des ersten Handels ist jetzt die SL und TP, die immer den gleichen Wert in Pips ist, aber ich möchte manuell in der Einrichtung setzen, wie viele Lose oder Mini-Lose in der progressiven Handel geöffnet sein sollte, Art von Martingal, aber nicht wirklich...., bis der TP erreicht ist, sollte das System neue Aufträge erstellen, wenn der TP erreicht ist, stoppt oder schließt das System, bis ich manuell den ersten Auftrag erneut eingebe. Ich hoffe, ich habe bei der Erklärung kein Durcheinander angerichtet! ;-)
Gibt es so etwas, was ich verwenden kann?
vielen Danklaborax
Diese Regeln sind zu locker, um einen EA darauf aufzubauen und soweit mir bekannt ist, gibt es auch keinen solchen EA
Ich habe diesen EA gefunden, der genau das ist, wonach ich gesucht habe... was halten Sie davon?
https://www.mql5.com/en/forum/184476