Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Merhaba,
Göstergemle ilgili bir sorunum var. Bu kod çok iyi çalışıyor:
//| 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);
}
//+------------------------------------------------------------------+RSI ve EMA satırını silmek istiyorum ama yaptığımda histogram değeri değişiyor. :/
Ek iki gösterge ekliyorum. Bana yardım et!
İngilizcem için üzgünüm.
Merhaba,
Göstergemle ilgili bir sorunum var. Bu kod çok iyi çalışıyor:
//| 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.Başlangıcı şu şekilde değiştirin:
[KOD]//+-------------------------------------------- ----------------------+
//| RSMA.mq4 |
//| |
//| |
//+------------------------------------------- -------------------+
#mülkiyet telif hakkı "Tartut"
#özellik bağlantısı ""
#özellik göstergesi_separate_window
#özellik göstergesi_minimum -40
#özellik göstergesi_maksimum 100
#özellik göstergesi_level1 19
#özellik göstergesi_level2 -19
#özellik göstergesi_level3 0
#özellik göstergesi_tamponları 1
#özellik göstergesi_color1 Kireç
harici int RSI_Period = 9;
extern int RSI_Applied_Price = 0;//0=kapat, 1=açık, 2=yüksek, 3=düşük, 4=(yüksek+düşük)/2, 5=(yüksek+düşük+kapat)/3, 6=(yüksek +düşük+kapat+kapat)/4
harici int MA_Period = 12;
extern int MA_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
double MA_Array[],RSI[], Histo[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
GöstergeTamponları)3));
//---- gösterge ayarıBaşlangıcı şu şekilde değiştirin:
//| 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 settingEvet! Çalışıyor. Teşekkürler.
Bir sonraki sorunum var. Göstergem mevcut çubuğun değerini değiştirmiyor. Grafiği yenilemeliyim.
//| 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;
}
}
//+------------------------------------------------------------------+
//---
Bir sonraki sorunum var. Göstergem mevcut çubuğun değerini değiştirmiyor. Grafiği yenilemeliyim.
Şu şekilde deneyin:
//| 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;
}
}
//+------------------------------------------------------------------+
//---Şu şekilde deneyin:
Sen en iyisin teşekkürler
Herkese selam, lütfen biri bu göstergeyi kırmızı çubukları aşağı gösterecek şekilde düzeltebilir mi, ayrıca sadece yeşilleri görebiliyorum. Şimdiden teşekkürler. (Deltaforce Hacmi)
Ayrıca çubukların kalınlığını ayarlayabilmem için lütfen bunu düzeltir misiniz? (Deltaforce) Tekrar teşekkürler
Merhaba Mladen ve Bay Tools
Bir sorunum var ve bunu nasıl yapacağım hakkında hiçbir fikrim yok, belki bir göstergeyle ya da EA ile ama gerçekten buna ihtiyacım var, belki bana yardım edebilirsin:
Yarı otomatik emir sistemine ihtiyacım var yani ilk ticareti SL ve TP ile “piyasa emri”ni manuel alıyorum, SL vurulursa sistem SL ile ters yönde yeni bir emir oluştur (yeni emir için) giriştir), ilk ticaretin girişi şimdi SL ve TP'dir ve bu her zaman pip cinsinden aynı değerdir, ancak kurulumda manuel olarak girmek istiyorum, kaç lot veya mini lot açık olmalıdır aşamalı ticaret, bir tür martingale, ama gerçekten değil ..., TP isabet edene kadar sistem yeni emirler oluşturmalıdır, TP'ye basıldığında sistem dur veya kapat, ben ilk emri tekrar manuel olarak verene kadar. Umarım açıklamalarda bir karışıklık yaratmamışımdır! ;-)
Kullanabileceğim böyle bir şey var mı?
Çok teşekkürler
Merhaba Mladen ve Bay Tools
Bir sorunum var ve bunu nasıl yapacağım hakkında hiçbir fikrim yok, belki bir göstergeyle ya da EA ile ama gerçekten buna ihtiyacım var, belki bana yardım edebilirsin:
Yarı otomatik emir sistemine ihtiyacım var yani ilk ticareti SL ve TP ile “piyasa emri”ni manuel alıyorum, SL vurulursa sistem SL ile ters yönde yeni bir emir oluştur (yeni emir için) giriştir), ilk ticaretin girişi şimdi SL ve TP'dir ve bu her zaman pip cinsinden aynı değerdir, ancak kurulumda manuel olarak girmek istiyorum, kaç lot veya mini lot açık olmalıdır aşamalı ticaret, bir tür martingale, ama gerçekten değil ..., TP isabet edene kadar sistem yeni emirler oluşturmalıdır, TP'ye basıldığında sistem dur veya kapat, ben ilk emri tekrar manuel olarak verene kadar. Umarım açıklamalarda bir karışıklık yaratmamışımdır! ;-)
Kullanabileceğim böyle bir şey var mı?
Çok teşekkürleremek
Bu kurallar buna dayalı bir EA yapmak için çok gevşek ve bildiğim kadarıyla böyle bir EA yok
Bu EA'yı buldum, aradığım şey buydu... Bu konuda ne düşünüyorsunuz?
https://www.mql5.com/en/forum/184476