Доработка ботов (советников, индикаторов) vol. 2

1_Lexa

Активный участник
Что тут надо изменить?
/////////////////////////////////////////////////
// Close the order but only if it is in profit //
/////////////////////////////////////////////////

void CloseIfInProfit(string symb , int index)
{
for (int i = 0;i <= OrdersTotal();i++)
{
if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )
{
if( OrderSymbol() == symb )
{
double profit = ( OrderProfit() - OrderCommission () - OrderSwap() );
if( ( OrderType() == OP_BUY || OrderType() == OP_SELL) && ( profit >= 0 ) && (OrderMagicNumber() == MAGIC) )
{
OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Close any open orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket()); // Delete any pending orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
}
}
}
partial[index] = false;
}
 

1_Lexa

Активный участник
Пытаюсь редактировать, но выходит ещё хуже
 

Вложения

  • A72D861C-0634-413A-AFBB-E8E6BF3C0250.jpeg
    A72D861C-0634-413A-AFBB-E8E6BF3C0250.jpeg
    558,8 КБ · Просмотры: 29

AlexeNP

Гуру форума
Что тут надо изменить?
вроде был же разговор о правильных ценах открытия и закрытия ордеров... даже ссылка была вроде по этой теме... стоит ли тратить время и силы на советник в котором допущены такие грубые ошибки?

Код:
/////////////////////////////////////////////////
// Close the order but only if it is in profit //
/////////////////////////////////////////////////
void CloseIfInProfit(string symb, int index)
  {
   for(int i = OrdersTotal()-1; i >= 0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol() == symb && OrderMagicNumber() == MAGIC)
           {
            double profit = OrderProfit() - OrderCommission() + OrderSwap();
            if(OrderType() == OP_BUY  && profit >= 0)
              {
               OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Close any open orders !!! правильная цена закрытия
               ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message. Вот вся эта переписка какую нагрузку несет?
              }

            if(OrderType() == OP_SELL && profit >= 0)
              {
               OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_ASK),100,Red); // Close any open orders !!! правильная цена закрытия
               ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
              }
            if(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
              {
               OrderDelete(OrderTicket()); // Delete any pending orders
               ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
              }
           }
        }
     }
   partial[index] = false;//это что, куда, зачем?
  }
 

1_Lexa

Активный участник
Не знаю что с ним делать
 

Вложения

  • 8BF209E3-A444-4A26-9038-90C59260FF54.jpeg
    8BF209E3-A444-4A26-9038-90C59260FF54.jpeg
    455,9 КБ · Просмотры: 18

1_Lexa

Активный участник
вроде был же разговор о правильных ценах открытия и закрытия ордеров... даже ссылка была вроде по этой теме... стоит ли тратить время и силы на советник в котором допущены такие грубые ошибки?

Код:
/////////////////////////////////////////////////
// Close the order but only if it is in profit //
/////////////////////////////////////////////////
void CloseIfInProfit(string symb, int index)
  {
   for(int i = OrdersTotal()-1; i >= 0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol() == symb && OrderMagicNumber() == MAGIC)
           {
            double profit = OrderProfit() - OrderCommission() + OrderSwap();
            if(OrderType() == OP_BUY  && profit >= 0)
              {
               OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Close any open orders !!! правильная цена закрытия
               ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message. Вот вся эта переписка какую нагрузку несет?
              }

            if(OrderType() == OP_SELL && profit >= 0)
              {
               OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_ASK),100,Red); // Close any open orders !!! правильная цена закрытия
               ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
              }
            if(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
              {
               OrderDelete(OrderTicket()); // Delete any pending orders
               ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
              }
           }
        }
     }
   partial[index] = false;//это что, куда, зачем?
  }
partial[index] = false;//это что, куда, зачем?- Я его удаляю, или пишу что-то другое, появляется куча ошибок
 

AlexeNP

Гуру форума
partial[index] = false;//это что, куда, зачем?- Я его удаляю, или пишу что-то другое, появляется куча ошибок
да весь этот советник и состоит из кучи мелких ошибок собранных в одну большую... брось ты это гиблое дело - проще новый написать, чем этот до ума довести
 

BonGo71

Активный участник
Доброго! Выкладываю самый лучший индикатор из всех, что видел и тестировал, но он компилируется с ошибками, не выводит алерты( Возможно можно еще что-то выжать из него, модифицировать.
 

Вложения

  • adaptive Gann High-Low activator jma Heiken Ashi arrows-1_2.0.mq4
    18,6 КБ · Просмотры: 77

1_Lexa

Активный участник
Он по этим индикаторам работает, к чему их можно прикрепить?
 

Вложения

  • MetaNeural Dashboard.mq4
    31,7 КБ · Просмотры: 44
  • MetaNeural_VSA_SR.mq4
    8,7 КБ · Просмотры: 45

Sapper

......
Доброго! Выкладываю самый лучший индикатор из всех, что видел и тестировал, но он компилируется с ошибками, не выводит алерты( Возможно можно еще что-то выжать из него, модифицировать.
Попробуйте эти.
 

Вложения

  • Adaptive Gann High-Low activator jma Heiken Ashi arrows-1_2.0.mq4
    18,6 КБ · Просмотры: 114
  • Adaptive Gann High-Low activator jma Heiken Ashi arrows-2 nmc.mq4
    18 КБ · Просмотры: 168

vladradon

Программист
Он по этим индикаторам работает, к чему их можно прикрепить?
Он не работает по ним - у него все расчеты внутри. Он работает в оба направления - просто у него расчеты на вход такие, что некоторые пары торгуют только в одном направлении в основном. Если EURUSD он в этом году только в селл торгует, то на USDCHF, которая отрицательно коррелирует с EURUSD, он торгует только в бай (см. скрин). Код немного подремонтировал.
 

Вложения

  • MND.png
    MND.png
    32,4 КБ · Просмотры: 311
  • MetaNeural SuperDash v1.4 .mq4
    113,9 КБ · Просмотры: 85

1_Lexa

Активный участник
Он не работает по ним - у него все расчеты внутри. Он работает в оба направления - просто у него расчеты на вход такие, что некоторые пары торгуют только в одном направлении в основном. Если EURUSD он в этом году только в селл торгует, то на USDCHF, которая отрицательно коррелирует с EURUSD, он торгует только в бай (см. скрин). Код немного подремонтировал.
Спасибо, что обратили на этот советник внимание. Он на селл начал торговать, после небольших изменений. До этого торговал только в бай
 

Вложения

  • 841FDBF0-5D53-4113-B897-3B2F3864A53C.jpeg
    841FDBF0-5D53-4113-B897-3B2F3864A53C.jpeg
    666,6 КБ · Просмотры: 127
  • 29A82F4E-3ED3-4951-BE11-848952A67D2A.jpeg
    29A82F4E-3ED3-4951-BE11-848952A67D2A.jpeg
    226,7 КБ · Просмотры: 128

1_Lexa

Активный участник
Просто у меня есть некоторые вопросы, что и как исправить, но похоже от меня уже устали
 

1_Lexa

Активный участник
Он не работает по ним - у него все расчеты внутри. Он работает в оба направления - просто у него расчеты на вход такие, что некоторые пары торгуют только в одном направлении в основном. Если EURUSD он в этом году только в селл торгует, то на USDCHF, которая отрицательно коррелирует с EURUSD, он торгует только в бай (см. скрин). Код немного подремонтировал.
Ещё раз спасибо, что исправили ошибки
 

1_Lexa

Активный участник
Снова ошибки
 

Вложения

  • 2397702F-E813-4CF9-A5B4-F5281218BCA3.jpeg
    2397702F-E813-4CF9-A5B4-F5281218BCA3.jpeg
    345,4 КБ · Просмотры: 101

vladradon

Программист
Это ошибки истории котировок - к сову не имеют отношения. Те изменения, которые вы для селла делали я не делал - я взял первоначальный вариант. Просто скомпилировал его с жесткими условиями и в нем появилась куча ошибок, из-за которых он просто вылетал на старте.
 

Sapper

......
Что тут надо изменить?
/////////////////////////////////////////////////
// Close the order but only if it is in profit //
/////////////////////////////////////////////////

void CloseIfInProfit(string symb , int index)
{
for (int i = 0;i <= OrdersTotal();i++)
{
if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )
{
if( OrderSymbol() == symb )
{
double profit = ( OrderProfit() - OrderCommission () - OrderSwap() );
if( ( OrderType() == OP_BUY || OrderType() == OP_SELL) && ( profit >= 0 ) && (OrderMagicNumber() == MAGIC) )
{
OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Close any open orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket()); // Delete any pending orders
ObjectSetText("Txt2"+symb,"",TextSize,"Arial"); // Gets rid of entry criteria message.
}
}
}
}
partial[index] = false;
}
Изменить надо тему.
Вам сюда:
https://forexsystemsru.com/threads/izuchaem-jazyk-programmirovanija-mql4.87869/page-16
или сюда:
 

1_Lexa

Активный участник
До изменения торговал в плюс, и после редактирования стал торговать в минус
 

Вложения

  • FEC62ABF-C8D9-4B80-8A41-F0E30A561BAA.jpeg
    FEC62ABF-C8D9-4B80-8A41-F0E30A561BAA.jpeg
    666,6 КБ · Просмотры: 91
  • E5574432-EA0C-4A5D-96D2-6C8554C55CDB.jpeg
    E5574432-EA0C-4A5D-96D2-6C8554C55CDB.jpeg
    632,2 КБ · Просмотры: 91
Верх