Ücretsiz bir danışman yazacağım - sayfa 112

 
Herkese sağlık! Sorumla ilgili forumdaki geri bildirimlere bakılırsa, grafikte bulunan olağan göstergelerden renkli çizgilere dayanarak bir baykuş yapmak mümkün mü, incelemelerden bunun mümkün olduğu anlaşıldı. Onlar. örneğin; yeşil maviyi, mavi kırmızıyı geçer, vb. ve bu koşullar eşleştiğinde, ilgili yönde bir sipariş verilir. Neden hat boyunca? Çünkü çok deneyen ve birçok teorisini kontrol eden acemi bir tüccar için, böyle bir danışman harika bir yardımcı ve çok fazla zaman ve sinir tasarrufu sağlayan gerçekten değerli bir danışman olacaktır. İtirazım neden burada, ücretsiz danışmanlar bölümünde? Çünkü herkes için olmasa da birçokları için kesinlikle faydalı olacaktır. Ve elbette bunu ücretsiz yapacak kibar bir insan var. Neden bahsettiğimi daha iyi anlamak için bir ekran görüntüsü ekliyorum.
Dosyalar:
o9b4dq-1.jpg  73 kb
 
Merhaba. Forex Academy SniperX stratejisini bir şekilde otomatikleştirebilir misiniz?
 
Herkese selam. lütfen bana şöyle bir şey söyleyin -- e-CloseByProfit - EA, belirtilen toplam kar veya zarar seviyesine ulaştıklarında tüm pozisyonları kapatır --- sadece MT5'te. Teşekkür ederim.
 

Merhaba. Zaman varsa bana yardımcı olabilir misiniz Soru şu ki, danışmana iki göstergenin her sinyali için bir sipariş açmam gerekiyor (belirli bir kombinasyonla bir sinyal veriyorlar) tek kelimeyle, satın alınacak birkaç sipariş olmalı veya göstergelerin sinyallerine göre sırasıyla piyasada satış yapın. Ve piyasada sadece bir emrim var ve o kapanana kadar bir sonraki açılmıyor ...... Emirleri saymakla mı ilgili? Lütfen bana söyle. Gerekirse kodu gönderebilirim.

                Şimdiden teşekkür ederim!

 
danil77783 :

Merhaba. Zaman varsa bana yardımcı olabilir misiniz Soru şu ki, danışmana iki göstergenin her sinyali için bir sipariş açmam gerekiyor (belirli bir kombinasyonla bir sinyal veriyorlar) tek kelimeyle, satın alınacak birkaç sipariş olmalı veya göstergelerin sinyallerine göre sırasıyla piyasada satış yapın. Ve piyasada sadece bir emrim var ve o kapanana kadar bir sonraki açılmıyor ...... Emirleri saymakla mı ilgili? Lütfen bana söyle. Gerekirse kodu gönderebilirim.

                Şimdiden teşekkür ederim!

Kod olmadan danışman düzeltilemez, ancak programlamayı kendiniz anlamaya başlayacaksınız. Büyük olasılıkla, Uzman Danışmanınız piyasada 1 sipariş içeren bir şablondan yazılmıştır ve bunu düzeltmek aslında çok zordur, çünkü birkaç siparişle ve hatta farklı kriterlere göre çalışmak önemli ölçüde farklıdır.

 
Pawel Egoshin :
Bir danışmana ihtiyacımız var, adım artışı olan sıradan bir martine.

Ve Ilan'a hiçbir seçenekle uymayan nedir? Genel olarak, açık kaynakta bu tür çok sayıda şerit var, ancak muhtemelen onları gümüş bir tepside sunmanız gerekiyor..

 
Sergey Martynov :

Tabii ki, çok zaman geçti, ancak kodun üstünkörü bir incelemesi, stratejiye bağlı olarak botu tekrar yazmanız gerektiğini söylüyor - çünkü türkiye'ye yapılan bu kadar çok çağrı, sonraki aramaların sonucundan beri bir anlam ifade etmiyor. 4 ondalık basamaklı bir araç için tasarlanmadıysa, karşılaştırma zaten çağrının içindedir...

 
yuriy kovalchuk :
Herkese selam. lütfen bana şöyle bir şey söyleyin -- e-CloseByProfit - EA, belirtilen toplam kar veya zarar seviyesine ulaştıklarında tüm pozisyonları kapatır --- sadece MT5'te. Teşekkür ederim.

Bunun gibi bir şey. Sadece bakiyenizi + istediğiniz kârı girmeniz yeterli

 //+------------------------------------------------------------------+
//|                                                  CloseEquity.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"

//+------------------------------------------------------------------+
//|                                          Close all if a loss.mq5 |
//|                              Copyright © 2020, Vladimir Karputov |
//|                     https://www.mql5.com/ru/market/product/43516 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2020, Vladimir Karputov"
#property link        "https://www.mql5.com/ru/market/product/43516"
#property version    "1.000"
/*
   barabashkakvn Trading engine 3.112
*/
#include <Trade\Trade.mqh>
#include <Trade\AccountInfo.mqh>
//---
CPositionInfo  m_position;                   // object of CPositionInfo class
CTrade         m_trade;                       // object of CTrade class
CAccountInfo   m_account;                     // object of CAccountInfo class
//--- input parameters
input double    InpProfit            = 150000 ;       // Profit Equity, in money
input bool      InpPrintLog          = false ;       // Print log
input ulong     InpMagic             = 42967428 ;     // Magic number
//---
bool      m_stop                     = false ;
int       ticks_to_close             = 1 ;           // количество тиков до снятия эксперта
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   m_trade.SetExpertMagicNumber(InpMagic);
   m_trade.SetMarginMode();
   m_trade.SetTypeFillingBySymbol( Symbol ());
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if ( AccountInfoDouble ( ACCOUNT_EQUITY )>InpProfit)
     {
       if (IsPositionExists())
        {
         CloseAllPositions();
         return ;
        }
       else
        {
         Alert ( "It is necessary to restart the adviser" );
         ExpertRemoves();
         m_stop= true ;
        }
     }
   if (m_stop)
       return ;
//---
  }
//+------------------------------------------------------------------+
//| Is position exists                                               |
//+------------------------------------------------------------------+
bool IsPositionExists( void )
  {
   for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--)
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         return ( true );
//---
   return ( false );
  }
//+------------------------------------------------------------------+
//| Close all positions                                              |
//+------------------------------------------------------------------+
void CloseAllPositions( void )
  {
   for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--) // returns the number of current positions
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if (!m_trade.PositionClose(m_position.Ticket())) // close a position by the specified m_symbol
             if (InpPrintLog)
               Print ( __FILE__ , " " , __FUNCTION__ , ", ERROR: " , "CTrade.PositionClose " ,m_position.Ticket());
  }
//+------------------------------------------------------------------+
//| start function                                                   |
//+------------------------------------------------------------------+
void ExpertRemoves( void )
  {
   static int tick_counter= 0 ;
//---
   tick_counter++;
   Comment ( "\nДо выгрузки эксперта " , __FILE__ , " осталось " ,
           (ticks_to_close-tick_counter), " тиков " );
//--- до
   if (tick_counter>=ticks_to_close)
     {
       ExpertRemove ();
       Print ( TimeCurrent (), ": " , __FUNCTION__ , " эксперт будет выгружен" );
     }
   Print ( "tick_counter = " ,tick_counter);
//---
  }
//+------------------------------------------------------------------+
Dosyalar:
CloseEquity.mq5  10 kb
 
Alexsandr San :

Bunun gibi bir şey. Bakiyenizi + istediğiniz kârı girmeniz yeterli


Hayır böyle daha güvenilir olur

 //+------------------------------------------------------------------+
//|                                                  CloseEquity.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"

//+------------------------------------------------------------------+
//|                                          Close all if a loss.mq5 |
//|                              Copyright © 2020, Vladimir Karputov |
//|                     https://www.mql5.com/ru/market/product/43516 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2020, Vladimir Karputov"
#property link        "https://www.mql5.com/ru/market/product/43516"
#property version    "1.000"
/*
   barabashkakvn Trading engine 3.112
*/
#include <Trade\Trade.mqh>
#include <Trade\AccountInfo.mqh>
//---
CPositionInfo  m_position;                   // object of CPositionInfo class
CTrade         m_trade;                       // object of CTrade class
CAccountInfo   m_account;                     // object of CAccountInfo class
//--- input parameters
input string    Template             = "ADX" ;       // Имя шаблона(without '.tpl')
input double    InpProfit            = 150000 ;       // Profit Equity, in money
input bool      InpPrintLog          = false ;       // Print log
input ulong     InpMagic             = 42967428 ;     // Magic number
//---
bool      m_stop                     = false ;
int       ticks_to_close             = 1 ;           // количество тиков до снятия эксперта
uint      SLEEPTIME                  = 1 ;           // Время паузы между повторами в секундах
ENUM_TIMEFRAMES TimeFrame;                         // Change TimeFrame - Current = dont changed
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   m_trade.SetExpertMagicNumber(InpMagic);
   m_trade.SetMarginMode();
   m_trade.SetTypeFillingBySymbol( Symbol ());
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if ( AccountInfoDouble ( ACCOUNT_EQUITY )>InpProfit)
     {
       if (IsPositionExists())
        {
         CloseAllPositions();
         Sleep (SLEEPTIME* 1000 );
         CloseAllPositions();
         return ;
        }
       else
        {
         Alert ( "It is necessary to restart the adviser" );
         ExpertRemoves();
         DeleteChart();
         m_stop= true ;
        }
     }
   if (m_stop)
       return ;
//---
  }
//+------------------------------------------------------------------+
//| Is position exists                                               |
//+------------------------------------------------------------------+
bool IsPositionExists( void )
  {
   for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--)
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         return ( true );
//---
   return ( false );
  }
//+------------------------------------------------------------------+
//| Close all positions                                              |
//+------------------------------------------------------------------+
void CloseAllPositions( void )
  {
   for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--) // returns the number of current positions
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if (!m_trade.PositionClose(m_position.Ticket())) // close a position by the specified m_symbol
             if (InpPrintLog)
               Print ( __FILE__ , " " , __FUNCTION__ , ", ERROR: " , "CTrade.PositionClose " ,m_position.Ticket());
  }
//+------------------------------------------------------------------+
//| start function                                                   |
//+------------------------------------------------------------------+
void ExpertRemoves( void )
  {
   static int tick_counter= 0 ;
//---
   tick_counter++;
   Comment ( "\nДо выгрузки эксперта " , __FILE__ , " осталось " ,
           (ticks_to_close-tick_counter), " тиков " );
//--- до
   if (tick_counter>=ticks_to_close)
     {
       ExpertRemove ();
       Print ( TimeCurrent (), ": " , __FUNCTION__ , " эксперт будет выгружен" );
     }
   Print ( "tick_counter = " ,tick_counter);
//---
  }
//+------------------------------------------------------------------+
//| start function                                                   |
//+------------------------------------------------------------------+
void DeleteChart( void )
  {
   long currChart,prevChart= ChartFirst ();
   int i= 0 ,limit= 100 ;
   bool errTemplate;
   while (i<limit)
     {
      currChart= ChartNext (prevChart);
       if (TimeFrame!= PERIOD_CURRENT )
        {
         ChartSetSymbolPeriod (prevChart, ChartSymbol (prevChart),TimeFrame);
        }
      errTemplate= ChartApplyTemplate (prevChart,Template+ ".tpl" );
       if (!errTemplate)
        {
         Print ( "Error " , ChartSymbol (prevChart), "-> " , GetLastError ());
        }
       if (currChart< 0 )
         break ;
       Print (i, ChartSymbol (currChart), " ID =" ,currChart);
      prevChart=currChart;
      i++;
     }
  }
//+------------------------------------------------------------------+
Dosyalar:
 

Hayır böyle daha güvenilir olur


TEŞEKKÜR EDERİM

Neden: