Стандартная сетка графика имеет ряд особенностей, не позволяющих с одного взгляда определить движение цены котировки: шаг сетки динамически меняется при переключении таймфрейма, шаг не привязан к базовым уровням, например к 1.12000, как на скриншоте ниже. Скрипт Price Lines размечает уровни цен на графике и служит дополнением к...
Стандартная сетка графика имеет ряд особенностей, не позволяющих с одного взгляда определить движение цены котировки: шаг сетки динамически меняется при переключении таймфрейма, шаг не привязан к базовым уровням, например к 1.12000, как на скриншоте ниже. Скрипт Price Lines размечает уровни цен на графике и служит дополнением к сетке графика...
Yine de, bir Uzman Danışman birkaç çift üzerinde çalıştığında, Bakiyeden elde edilen kâr gerekli bir işlevdir.
Bu çifti kapatmak ve diğer çiftleri etkilememek için Kar ve Zarar üzerinde yeniden çalışıldı
Kar ve Zarar, tutar (örneğin, para biriminizin 1 birimi) 1000000 ayarında yazılır - para biriminizin bir milyonunu alana kadarpozisyonu kapatır
#özellik sürümü "1.015"
bu fonksiyon biraz düzeltildi ( Kar ve Zarar) - sonuçta, bir çiftte, bir yönde birkaç pozisyon açabilirsiniz - şimdi toplam tutar kadar kapanacak, bir pozisyon artıda ve diğeri ekside olabilir, ancak toplam tutar, ayarlarda belirtilen miktara eşittir.
----------------------
işte fonksiyon (Kar ve Zarar)
//+------------------------------------------------------------------+//| Check for long position closing |//+------------------------------------------------------------------+bool ProfitOnTick( void )
{
bool res= false ;
double level;
double PROFIT_BUY= 0.00 ;
double PROFIT_SELL= 0.00 ;
for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--) // returns the number of current positionsif (m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif (m_position. Symbol ()==m_symbol.Name())
{
if (m_position.PositionType()== POSITION_TYPE_BUY )
{
PROFIT_BUY=PROFIT_BUY+ PositionGetDouble ( POSITION_PROFIT );
if (PROFIT_BUY<-TargetStopLoss || PROFIT_BUY>=TargetTakeProfit) // if the profitif (FreezeStopsLevels(level))
ClosePositions( POSITION_TYPE_BUY ,level);
}
elseif (m_position.PositionType()== POSITION_TYPE_SELL )
{
PROFIT_SELL=PROFIT_SELL+ PositionGetDouble ( POSITION_PROFIT );
if (PROFIT_SELL<-TargetStopLoss || PROFIT_SELL>=TargetTakeProfit) // if the profitif (FreezeStopsLevels(level))
ClosePositions( POSITION_TYPE_SELL ,level);
}
res= true ;
}
//--- resultreturn (res);
}
//+------------------------------------------------------------------+
bu fonksiyon biraz düzeltildi ( Kar ve Zarar) - sonuçta, bir çiftte, bir yönde birkaç pozisyon açabilirsiniz - şimdi toplam tutar kadar kapanacak, bir pozisyon artıda ve diğeri ekside olabilir, ancak toplam tutar, ayarlarda belirtilen miktara eşittir.
----------------------
işte fonksiyon (Kar ve Zarar)
Şimdi gerçek bir hesapta test ettim - iki açık pozisyondan küçük bir kar istedim, ayarlara 160 girdim, en büyük negatif pozisyondan kapanacağını düşündüm ama enfeksiyon yok, kapattım
karı 160 olan ve her iki pozisyonu da kapatan ve ben bir dulavratotuyum. Negatif ekleyerek ilk açık pozisyondan hesaplamanız gerektiği ortaya çıktı.
bu fonksiyon biraz düzeltildi ( Kar ve Zarar) - sonuçta, bir çiftte, bir yönde birkaç pozisyon açabilirsiniz - şimdi toplam tutar kadar kapanacak, bir pozisyon artıda ve diğeri ekside olabilir, ancak toplam tutar, ayarlarda belirtilen miktara eşittir.
----------------------
işte fonksiyon (Kar ve Zarar)
#özellik sürümü "1.016"
dürttü - herkes üzerinde denendi, ancak olması gerektiği gibi. Miktarı hemen ayarlarsam, çok fazla pozisyon açarsam - tam olarak o miktarı kapatır.
işte fonksiyon, biraz farklı
//+------------------------------------------------------------------+//| Check for long position closing |//+------------------------------------------------------------------+bool ProfitOnTick( void )
{
bool res= false ;
double level;
double PROFIT_BUY= 0.00 ;
double PROFIT_SELL= 0.00 ;
for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--) // returns the number of current positionsif (m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif (m_position. Symbol ()==m_symbol.Name())
{
if (m_position.PositionType()== POSITION_TYPE_BUY )
{
PROFIT_BUY=PROFIT_BUY+m_position.Commission()+m_position.Swap()+m_position.Profit();
if (PROFIT_BUY<-TargetStopLoss || PROFIT_BUY>=TargetTakeProfit) // if the profitif (FreezeStopsLevels(level))
ClosePositions( POSITION_TYPE_BUY ,level);
}
elseif (m_position.PositionType()== POSITION_TYPE_SELL )
{
PROFIT_SELL=PROFIT_SELL+m_position.Commission()+m_position.Swap()+m_position.Profit();
if (PROFIT_SELL<-TargetStopLoss || PROFIT_SELL>=TargetTakeProfit) // if the profitif (FreezeStopsLevels(level))
ClosePositions( POSITION_TYPE_SELL ,level);
}
res= true ;
}
//--- resultreturn (res);
}
//+------------------------------------------------------------------+
dürttü - herkes üzerinde denendi, ancak olması gerektiği gibi. Miktarı hemen ayarlarsam, çok fazla pozisyon açarsam - tam olarak o miktarı kapatır.
işte fonksiyon, biraz farklı
Test cihazında bu işlevi kontrol ettim - kar 300, zarar 10000 olarak belirledim. Açılış, 0.01 lot ile 100 kaldıraç 100 bakiyesi ile EURUSD H1 çifti üzerindeki göstergeden ( LeMan_BrainTrend1Sig ) geldi.
fonksiyonu Döviz cinsinden Kâr Kaybı - AL ve SAT aynı çiftte kâra sahiptir, (örneğin, ALIŞ kâr ederse, pozisyonlarını kapatır, SATIŞ kârını elde edene kadar kapanmaz)
Test cihazında bu işlevi kontrol ettim - kar 300, zarar 10000 olarak belirledim. Açılış, 0.01 lot ile 100 kaldıraç 100 bakiyesi ile EURUSD H1 çifti üzerindeki göstergeden ( LeMan_BrainTrend1Sig ) geldi.
fonksiyonu Döviz cinsinden Kâr Kaybı - AL ve SAT aynı çiftte kâra sahiptir, (örneğin, ALIŞ kâr ederse, pozisyonlarını kapatır, SATIŞ kârını elde edene kadar kapanmaz)
Bir özellik daha eklendi. Sadece terminalde gerçek zamanlı olarak kontrol etmeniz gerekiyor.
inputint limit_total_symbol = 3 ; // Кол-во Позиции при Убыткеinputdouble TargetOpenLot = 1000000 ; // Убыток на Позиции Открыть Позицию
bu sürüm öyle - Tester Play'de
//+------------------------------------------------------------------+//| Check for long position closing |//+------------------------------------------------------------------+bool OpenLotBuy( void )
{
bool res= false ;
double PROFIT_BUY= 0.00 ;
CloseTikB= iClose ( NULL , Period (), 0 );
OpenTikB= iOpen ( NULL , Period (), 0 );
//---int total= PositionsTotal (); // количество открытых позицийfor ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--) // returns the number of current positionsif (m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif (m_position. Symbol ()==m_symbol.Name())
{
if (total> 0 )
{
ulong position_ticket= PositionGetTicket (total- 1 ); // тикет позиции
}
if (total<limit_total_symbol) // количество открытых позиций
{
if (OpenTikB<CloseTikB)
{
if (m_position.PositionType()== POSITION_TYPE_BUY )
{
PROFIT_BUY=PROFIT_BUY+m_position.Commission()+m_position.Swap()+m_position.Profit();
if (PROFIT_BUY<-TargetOpenLot)
ExtNeedOpenBuy= true ;
if (LongObjOpened())
return (res);
}
res= true ;
}
}
}
//--- resultreturn (res);
}
//+------------------------------------------------------------------+//| Check for long position closing |//+------------------------------------------------------------------+bool OpenLotSell( void )
{
bool res= false ;
double PROFIT_SELL= 0.00 ;
CloseTikS= iClose ( NULL , Period (), 0 );
OpenTikS= iOpen ( NULL , Period (), 0 );
//---int total= PositionsTotal (); // количество открытых позицийfor ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--) // returns the number of current positionsif (m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif (m_position. Symbol ()==m_symbol.Name())
{
if (total> 0 )
{
ulong position_ticket= PositionGetTicket (total- 1 ); // тикет позиции
}
if (total<limit_total_symbol) // количество открытых позиций
{
if (OpenTikS>CloseTikS)
{
if (m_position.PositionType()== POSITION_TYPE_SELL )
{
PROFIT_SELL=PROFIT_SELL+m_position.Commission()+m_position.Swap()+m_position.Profit();
if (PROFIT_SELL<-TargetOpenLot)
ExtNeedOpenSell= true ;
if (ShortObjOpened())
return (res);
}
res= true ;
}
}
}
//--- resultreturn (res);
}
//+------------------------------------------------------------------+
#özellik sürümü "1.012"
İşlevi biraz geliştirdi
tetiklendiğinde, Yatay SATIŞ çizgisi pozisyonu açar ve Yatay ALIM çizgisini ayarlar ve bunun tersi de geçerlidir.
ve ayrıca, çizgi "0" veya " 0 " olarak ayarlanır ve mesafe Obj: Trailing Step MACD tarafından belirlenir
veya Yatay çizgiden "DÜŞÜK"
OnTimer'dan "DÜŞÜK Yukarı" "DÜŞÜK Aşağı" aynıdır, yalnızca mesafe ayarlanır ( giriş ushort InpObjTrailingStepCS = 5 ; // Obj: Son Adım, pip olarak (1.00045-1.00055=1 pip)
Göstergedeki yatay çizginin mesafesi nasıl bulunur Trolde ayarlanacak Low_Macd_Line.mq5 (her çiftte, farklı mesafe)
Yardımcı Programlar ayarlarında kopyalayıp yapıştırın
resimde " 0 " dan Yatay AL 0,0064'e ve Yatay DÜŞÜK'e dokunduğunda Yatay SAT'ı ayarlayın (yalnızca aşağıda " 0 " - 0.0064)
ÖNEMLİ!!! Utility'ye girdiğimiz sayıların önüne eksi ( - ) koymak imkansız
Seçeneklerden biri, bu işlev çalışır
Kar ve Zarar işlevi #özellik sürümü "1.013" değiştirildi
ulaşıldığında, her şey kapanacak ve silinecek ve tüm açık pencereleri belirtilen şablona değiştirecektir.
İşlev, Kâr veya Zarar'dan bir pozisyon açar
Utility Command.mq5'e bir Yardımcı Gösterge eklendi, çizgiler hareket ediyor ve onlardan komutlar ayarlayabilirsiniz. SEM ile kör etti
Aramada buldum https://www.mql5.com/ru/code/16269 Bunun MT4 ile bir komut dosyası olduğu ortaya çıktı Teşekkürler Yazar Alexey Volchanskiy Health! ve en iyisi!
Aramada buldum https://www.mql5.com/ru/code/16269 Bunun MT4 ile bir komut dosyası olduğu ortaya çıktı Teşekkürler Yazar Alexey Volchanskiy Health! ve en iyisi!
Sadece MT4 için değil MT5 için de script var https://www.mql5.com/ru/code/16262 Ustada Göstergede yaptım Teşekkürler Yazar Alexey Volchanskiy Health! ve en iyisi!
Kar ve Zarar işlevi #özellik sürümü "1.013" değiştirildi
ulaşıldığında, her şey kapanacak ve silinecek ve tüm açık pencereleri belirtilen şablona değiştirecektir.
#özellik sürümü "1.014"
Yine de, bir Uzman Danışman birkaç çift üzerinde çalıştığında, Bakiyeden elde edilen kâr gerekli bir işlevdir.
Bu çifti kapatmak ve diğer çiftleri etkilememek için Kar ve Zarar üzerinde yeniden çalışıldı
Kar ve Zarar, tutar (örneğin, para biriminizin 1 birimi) 1000000 ayarında yazılır - para biriminizin bir milyonunu alana kadar pozisyonu kapatır
#özellik sürümü "1.014"
Yine de, bir Uzman Danışman birkaç çift üzerinde çalıştığında, Bakiyeden elde edilen kâr gerekli bir işlevdir.
Bu çifti kapatmak ve diğer çiftleri etkilememek için Kar ve Zarar üzerinde yeniden çalışıldı
Kar ve Zarar, tutar (örneğin, para biriminizin 1 birimi) 1000000 ayarında yazılır - para biriminizin bir milyonunu alana kadar pozisyonu kapatır
#özellik sürümü "1.015"
bu fonksiyon biraz düzeltildi ( Kar ve Zarar) - sonuçta, bir çiftte, bir yönde birkaç pozisyon açabilirsiniz - şimdi toplam tutar kadar kapanacak, bir pozisyon artıda ve diğeri ekside olabilir, ancak toplam tutar, ayarlarda belirtilen miktara eşittir.
----------------------
işte fonksiyon ( Kar ve Zarar)
#özellik sürümü "1.015"
bu fonksiyon biraz düzeltildi ( Kar ve Zarar) - sonuçta, bir çiftte, bir yönde birkaç pozisyon açabilirsiniz - şimdi toplam tutar kadar kapanacak, bir pozisyon artıda ve diğeri ekside olabilir, ancak toplam tutar, ayarlarda belirtilen miktara eşittir.
----------------------
işte fonksiyon ( Kar ve Zarar)
Şimdi gerçek bir hesapta test ettim - iki açık pozisyondan küçük bir kar istedim, ayarlara 160 girdim, en büyük negatif pozisyondan kapanacağını düşündüm ama enfeksiyon yok, kapattım
karı 160 olan ve her iki pozisyonu da kapatan ve ben bir dulavratotuyum. Negatif ekleyerek ilk açık pozisyondan hesaplamanız gerektiği ortaya çıktı.
#özellik sürümü "1.015"
bu fonksiyon biraz düzeltildi ( Kar ve Zarar) - sonuçta, bir çiftte, bir yönde birkaç pozisyon açabilirsiniz - şimdi toplam tutar kadar kapanacak, bir pozisyon artıda ve diğeri ekside olabilir, ancak toplam tutar, ayarlarda belirtilen miktara eşittir.
----------------------
işte fonksiyon ( Kar ve Zarar)
#özellik sürümü "1.016"
dürttü - herkes üzerinde denendi, ancak olması gerektiği gibi. Miktarı hemen ayarlarsam, çok fazla pozisyon açarsam - tam olarak o miktarı kapatır.
işte fonksiyon, biraz farklı
#özellik sürümü "1.016"
dürttü - herkes üzerinde denendi, ancak olması gerektiği gibi. Miktarı hemen ayarlarsam, çok fazla pozisyon açarsam - tam olarak o miktarı kapatır.
işte fonksiyon, biraz farklı
Test cihazında bu işlevi kontrol ettim - kar 300, zarar 10000 olarak belirledim. Açılış, 0.01 lot ile 100 kaldıraç 100 bakiyesi ile EURUSD H1 çifti üzerindeki göstergeden ( LeMan_BrainTrend1Sig ) geldi.
fonksiyonu Döviz cinsinden Kâr Kaybı - AL ve SAT aynı çiftte kâra sahiptir, (örneğin, ALIŞ kâr ederse, pozisyonlarını kapatır, SATIŞ kârını elde edene kadar kapanmaz)
Test cihazında bu işlevi kontrol ettim - kar 300, zarar 10000 olarak belirledim. Açılış, 0.01 lot ile 100 kaldıraç 100 bakiyesi ile EURUSD H1 çifti üzerindeki göstergeden ( LeMan_BrainTrend1Sig ) geldi.
fonksiyonu Döviz cinsinden Kâr Kaybı - AL ve SAT aynı çiftte kâra sahiptir, (örneğin, ALIŞ kâr ederse, pozisyonlarını kapatır, SATIŞ kârını elde edene kadar kapanmaz)
Bir özellik daha eklendi. Sadece terminalde gerçek zamanlı olarak kontrol etmeniz gerekiyor.
bu sürüm öyle - Tester Play'de