Como eu monto meu conselheiro por tentativa e erro - página 48

 
Alexsandr San:

Consegui - tentei não me confundir, se alguém estiver interessado, por favor, pergunte, vamos resolver isso juntos.

Ainda estou procurando a maneira correta de colocá-los para trabalhar.

//+------------------------------------------------------------------+
//| Enum Lor or Risk                                                 |
//+------------------------------------------------------------------+
enum ENUM_TRADE_COMMAND
  {
   Line_Line=0,      // Line
   Line_buy=1,       // Line+Open Buy
   Line_sell=2,      // Line+Open Sell
   close_buys=3,     // Close All Buy's
   close_sells=4,    // Close All Sell's
   close_all=5,      // Close All Buy's and Sell's
   open_buy=6,       // Open Buy
   open_sell=7,      // Open Sell
   open_buy_sell=8,  // Open Buy and Sell
  };
//+------------------------------------------------------------------+


Aqui é onde você faz a ação, a qual você precisa definir a lógica para

   if(main[1]>signal[1])
     {
      switch(InpTradeCommandY)
        {
         case Line_Line:
            ExtNeedLine=true;
            if(Obj_line())
               break;
         case Line_buy:
            ExtNeedOpenBuy=true;
            if(LongObjOpened())
               ExtNeedLine=true;
            if(Obj_line())
               break;
         case Line_sell:
            ExtNeedOpenSell=true;
            if(ShortObjOpened())
               ExtNeedLine=true;
            if(Obj_line())
               break;
         case  close_buys:
            ExtNeedCloseBuy=true;
            if(LongObjClosed())
               break;
         case  close_sells:
            ExtNeedCloseSell=true;
            if(ShortObjClosed())
               break;
         case close_all:
            ExtNeedCloseAll=true;
            if(LongShortObjClosed())
               break;
         case open_buy:
            ExtNeedOpenBuy=true;
            if(LongObjOpened())
               break;
         case open_sell:
            ExtNeedOpenSell=true;
            if(ShortObjOpened())
               break;
         default:
            ExtNeedOpenBuySell=true;
            if(LongShortObjOpened())
               break;
        }
      PlaySound("ok.wav");
     }
   if(main[1]<signal[1])
     {
      switch(InpTradeCommandU)
        {
         case Line_Line:
            ExtNeedLine=true;
            if(Obj_line())
               break;
         case Line_buy:
            ExtNeedOpenBuy=true;
            if(LongObjOpened())
               ExtNeedLine=true;
            if(Obj_line())
               break;
         case Line_sell:
            ExtNeedOpenSell=true;
            if(ShortObjOpened())
               ExtNeedLine=true;
            if(Obj_line())
               break;
         case  close_buys:
            ExtNeedCloseBuy=true;
            if(LongObjClosed())
               break;
         case  close_sells:
            ExtNeedCloseSell=true;
            if(ShortObjClosed())
               break;
         case close_all:
            ExtNeedCloseAll=true;
            if(LongShortObjClosed())
               break;
         case open_buy:
            ExtNeedOpenBuy=true;
            if(LongObjOpened())
               break;
         case open_sell:
            ExtNeedOpenSell=true;
            if(ShortObjOpened())
               break;
         default:
            ExtNeedOpenBuySell=true;
            if(LongShortObjOpened())
               break;
        }
      PlaySound("ok.wav");
     }
//---
 

Não consigo entender - Aqui, duas linhas horizontais, quando o preço toca a primeira, seria apagado, e aqui, a segunda linha horizontal, permaneceria.

- Estou cutucando, estou cutucando e não estou! Ambos são deletados.

E estas linhas têm nomes diferentes.

1

input string   t0="----- Trailing Line: 1   -----";              //
input string   InpObjUpName                 = "TOP";             // Obj: TOP (Horizontal Line)
input int      InpStep1                     = 20;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommand    = close_sells;       // Obj:  command:
input string   InpObjDownName               = "LOWER";           // Obj: LOWER (Horizontal Line)
input int      InpStep2                     = 20;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommand     = close_buys;        // Obj:  command:
input ushort   InpObjTrailingStop           = 30;                // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStep           = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)

2

input string   t2="----- Trailing Line: 2   -----";              //
input string   InpObjUpNameG                = "TOP G";           // Obj: TOP (Horizontal Line)
input int      InpStep3                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommandG   = close_sells;       // Obj:  command:
input string   InpObjDownNameG              = "LOWER G";         // Obj: LOWER (Horizontal Line)
input int      InpStep4                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommandG    = close_buys;        // Obj:  command:
input ushort   InpObjTrailingStopG          = 50;                // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepG          = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)

Talvez precisemos de um comando diferente - este aqui.

                           ObjectsDeleteAll(0,InpObjUpName);

Foto por

Arquivos anexados:
 
Alexsandr San:

Não consigo entender - Aqui, duas linhas horizontais, quando o preço toca a primeira, seria apagado, e aqui, a segunda linha horizontal, permaneceria.

- Estou cutucando, estou cutucando e não estou! Ambos são deletados.

E estas linhas têm nomes diferentes.

1

2

Talvez eu precise de um comando diferente - este aqui.


Eu desenho manualmente uma linha horizontal, dou o nome "TOP" e o robô a desenha com o mesmo nome - como isso pode ser?

2 Linhas horizontais com o mesmo nome

Foto por

linha Horizontal desenhada manualmente - o robô não funcionou, mas o que ele definiu, funcionou e removeu ambas as linhas Horizontais com o mesmo nome"TOP".

 
Alexsandr San:

Não consigo entender - Aqui, duas linhas horizontais, quando o preço toca a primeira, seria apagado, e aqui, a segunda linha horizontal, permaneceria.

- Estou cutucando, estou cutucando e não estou! Ambos são deletados.

E estas linhas têm nomes diferentes.

1

2

Talvez eu precise de um comando diferente - este aqui.


Acontece que os nomes são muito semelhantes, por isso"TOP" e"TOP G" foram excluídos.

Eu dei os outros nomes nas configurações - agora é apagado como deveria ser

Instantâneo2

 
Alexsandr San:

Descobri que os nomes são muito parecidos, por isso"TOP" e"TOP G" foram apagados.

Eu lhe dei um nome diferente nas configurações - agora ele é apagado como deveria ser!


Sim! Funcionou! - Acontece que os nomes dos objetos devem ser definidos de forma que, para não ficar perto de objetos similares

Instantâneo3

 

O Perito executará qualquer comando, suas fantasias em um único Perito

SETTINGS-

//+------------------------------------------------------------------+
//| Enum Lor or Risk                                                 |
//+------------------------------------------------------------------+
enum ENUM_TRADE_COMMAND
  {
   Line1_Line1=0,    // Line: LOWER
   Line2_Line2=1,    // Line: TOP
   Line_Line=2,      // Line: LOWER+Line: TOP
   close_buys=3,     // Close All Buy's
   close_sells=4,    // Close All Sell's
   close_all=5,      // Close All Buy's and Sell's
   open_buy=6,       // Open Buy
   open_sell=7,      // Open Sell
   open_buy_sell=8,  // Open Buy and Sell
  };
//+------------------------------------------------------------------+
input string   t="-----  Parameters         -----";              //
input string   Template                     = "ADX";             // Имя шаблона(without '.tpl')
input double   TargetProfit                 = 999999.99;         // Цель Баланса(Ваш Баланс + сумма)
input uint     maxLimits                    = 1;                 // Кол-во Позиции Открыть в одну сторону
input double   InpLots                      = 0.01;              // Lots
input int      InpTakeProfit                = 100;               // Take Profit ("0"-No. 5<100)
input string   t0="----- Trailing Line: 1   -----";              //
input string   InpObjUpName                 = "TOP";             // Obj: TOP (Horizontal Line)
input int      InpStep1                     = 20;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommand    = open_sell;         // Obj:  command:
input string   InpObjDownName               = "LOWER";           // Obj: LOWER (Horizontal Line)
input int      InpStep2                     = 20;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommand     = open_buy;          // Obj:  command:
input ushort   InpObjTrailingStop           = 30;                // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStep           = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   t1="----- Line name: 1       -----";              //
input string   InpNameR                     = "LineR";           // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpTradeCommandR   = open_buy;          // Trade command:
input string   t2="----- Trailing Line: 2   -----";              //
input string   InpObjUpNameG                = "POT";             // Obj: TOP (Horizontal Line)
input int      InpStep3                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommandG   = close_sells;       // Obj:  command:
input string   InpObjDownNameG              = "REWOL";           // Obj: LOWER (Horizontal Line)
input int      InpStep4                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommandG    = close_buys;        // Obj:  command:
input ushort   InpObjTrailingStopG          = 50;                // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepG          = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   t3="----- Line name: 2       -----";              //
input string   InpNameS                     = "LineS";           // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpTradeCommandS   = open_sell;         // Trade command:
input string   t4="----- Indicators: SELL   -----";              //
input string   short_name                   = "LeMan_BrainTrend1Sig"; // Name Indicators "SELL"
input bool     InpIndicators                = true;              // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY   = Line2_Line2;       // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU   = Line1_Line1;       // Trade command: (SellBuffer Indicators)
input string   t5="----- Indicators: BUY    -----";              //
input string   short_name1                  = "LeMan_BrainTrend1Sig"; // Name Indicators "BUY"
input bool     InpIndicators1               = false;             // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY1  = close_buys;        // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU1  = Line1_Line1;       // Trade command: (SellBuffer Indicators)
input string   t6="----- Button:            -----";              //
input ENUM_TRADE_COMMAND InpTradeCommandBut = Line1_Line1;       // Obj(BUY):  command:Button: BUY
input ENUM_TRADE_COMMAND InTradeCommandBut  = Line2_Line2;       // Obj(SELL):  command:Button: SELL
input int      TrailingStop_STOP_LEVEL      = 36;                // Button: Trailing Stop LEVEL

Instantâneo2

No testador procurou por erros - bem, também o resultado padrão

Foto por

Arquivos anexados:
 

Adicionados mais comandos

//+------------------------------------------------------------------+
//| Enum Lor or Risk                                                 |
//+------------------------------------------------------------------+
enum ENUM_TRADE_COMMAND
  {
   Line1_Line1=0,    // Line: LOWER
   Line2_Line2=1,    // Line: TOP
   Line_Line=2,      // Line: LOWER+Line: TOP
   Line1_buys=3,     // Line: LOWER+Buy's
   Line2_sells=4,    // Line: TOP+Sell's
   close_buys=5,     // Close All Buy's
   close_sells=6,    // Close All Sell's
   close_all=7,      // Close All Buy's and Sell's
   open_buy=8,       // Open Buy
   open_sell=9,      // Open Sell
   open_buy_sell=10, // Open Buy and Sell
  };
//+------------------------------------------------------------------+

adicionou isto

   Line1_buys=3,     // Line: LOWER+Buy's
   Line2_sells=4,    // Line: TOP+Sell's
Arquivos anexados:
 

Utilidade dos especialistas -

Instruções - aqui é a coisa mais importante a ser lembrada.

input string   t0="----- Trailing Line: 1   -----";              //
input string   InpObjUpName                 = "TOP";             // Obj: TOP (Horizontal Line)
input int      InpStep1                     = 25;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommand    = open_sell;         // Obj:  command:
input string   InpObjDownName               = "LOWER";           // Obj: LOWER (Horizontal Line)
input int      InpStep2                     = 25;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommand     = close_buys;        // Obj:  command:
input ushort   InpObjTrailingStop           = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStep           = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   t1="----- Trailing Line: 2   -----";              //
input string   InpObjUpNameG                = "POT";             // Obj: TOP (Horizontal Line)
input int      InpStep3                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommandG   = close_sells;       // Obj:  command:
input string   InpObjDownNameG              = "REWOL";           // Obj: LOWER (Horizontal Line)
input int      InpStep4                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommandG    = close_buys;        // Obj:  command:
input ushort   InpObjTrailingStopG          = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepG          = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)

Estas linhas são desenhadas se você definir(etapa de grade, pontos ("0" -> falso)) e também traçadas (se 0 - não será)

----------------------------------------

Também a partir do indicador de sinal - você não precisa baixar estes indicadores, que eu anexei, você pode pegar o seu próprio.

input string   t2="----- Indicators: SELL   -----";              //
input string   short_name                   = "LeMan_BrainTrend1Sig"; // Name Indicators "SELL"
input bool     InpIndicators                = false;             // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY   = open_sell;         // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU   = close_sells;       // Trade command: (SellBuffer Indicators)
input string   t3="----- Indicators: BUY    -----";              //
input string   short_name1                  = "LeMan_BrainTrend1Sig"; // Name Indicators "BUY"
input bool     InpIndicators1               = false;             // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY1  = close_buys;        // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU1  = open_buy;          // Trade command: (SellBuffer Indicators)
Arquivos anexados:
 
Alexsandr San:

Utilidade dos especialistas -

Instruções - aqui é a coisa mais importante a ser lembrada.

Estas linhas são desenhadas se você definir(etapa de grade, pontos ("0" -> falso)) e também traçadas (se 0 - não será)

----------------------------------------

Também a partir do indicador de sinal - você não pode baixar estes indicadores, que eu anexei, você pode pegar o seu próprio.


Uma das configurações

Instantâneo3

Foto por

Instantâneo2

configurações no arquivo .set

Arquivos anexados:
demo.set  4 kb
 
#property version     "1.001"

adicionou alguns comandos

//+------------------------------------------------------------------+
//| ENUM_TRADE_COMMAND                                                 |
//+------------------------------------------------------------------+
enum ENUM_TRADE_COMMAND
  {
   Turn_Off=0,       // TURN OFF
   Line1_Line1=1,    // Line: LOWER
   Line2_Line2=2,    // Line: TOP
   Line_Line=3,      // Line: LOWER+Line: TOP
   Line1_buys=4,     // Line: LOWER+Buy's
   Line2_sells=5,    // Line: TOP+Sell's
   sells_Line1=6,    // Line: LOWER+Sell's
   buys_Line2=7,     // Line: TOP+Buy's
   close_buys=8,     // Close All Buy's
   close_sells=9,    // Close All Sell's
   close_all=10,     // Close All Buy's and Sell's
   open_buy=11,      // Open Buy
   open_sell=12,     // Open Sell
   close_open_b=13,  // Close Sell+Open Buy
   close_open_s=14,  // Close Buy+Open Sell
   open_buy_sell=15, // Open Buy and Sell
  };
//+------------------------------------------------------------------+
Arquivos anexados: