Старт распродаж! Черная пятница - 50%


Новые сообщения · Участники · Правила форума · Поиск · RSS · Вход · Регистрация ·

Страница 4 из 5«12345»
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Исправление ошибок в советниках на новых билдах (Помощь в исправлении)
Исправление ошибок в советниках на новых билдах

expforexДата: Четверг, 04.09.2014, 12:55 | Сообщение # 1
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


[Бонусы за сообщения ]


Исправление ошибок в советниках. Ошибки при компиляции? Мы постараемся Вам помочь.

С начала 2014 года компания MetaQuotes выпустила большое обновление для терминалов MetaTrader4.

В связи с этим, у трейдеров, которые не умеют программировать, возникли серьезные проблемы - советники попросту перестали работать.
Причина всему этому - более сложный язык программирования.
Эксперты, которые изначально были написаны правильно, не подвергаются такой проблеме. Но немало советников и индикаторов, которые изначально написаны неверно, вовсе отказались работать.
Есть несколько способов решения данной проблемы, от попросту - "забить" до исправления ошибок на профессиональном уровне.

Мы написали статью по стандартным ошибкам в старых экспертах, которые можно исправить:
Новый язык программирования, Исправление ошибок при компиляции экспертов

Но если у Вас возникли трудности с исправлением ошибок, мы постараемся Вам помочь.

Для того чтобы Вам помогли в данной ветке, выполните несколько шагов:

  • 1. Прикрепите эксперт в открытом коде с ошибками (Декомпил не приветствуется)
  • 2. Прикрепите информацию по данному эксперту, первоначальное ТЗ на разработку, либо документацию, что эксперт должен делать
  • 3. Прикрепите картинку с графика, где стоит эксперт, если он работает но не так.
  • 4. Опишите проблемы, которые возникли с экспертом на новом билде.
    Мы постараемся помочь Вам в решении данных проблем.




Прикрепления: 0900205.jpg(24Kb)


Программирование на заказ || Наши Разработки

 
Сообщение

Исправление ошибок в советниках. Ошибки при компиляции? Мы постараемся Вам помочь.

С начала 2014 года компания MetaQuotes выпустила большое обновление для терминалов MetaTrader4.

В связи с этим, у трейдеров, которые не умеют программировать, возникли серьезные проблемы - советники попросту перестали работать.
Причина всему этому - более сложный язык программирования.
Эксперты, которые изначально были написаны правильно, не подвергаются такой проблеме. Но немало советников и индикаторов, которые изначально написаны неверно, вовсе отказались работать.
Есть несколько способов решения данной проблемы, от попросту - "забить" до исправления ошибок на профессиональном уровне.

Мы написали статью по стандартным ошибкам в старых экспертах, которые можно исправить:
Новый язык программирования, Исправление ошибок при компиляции экспертов

Но если у Вас возникли трудности с исправлением ошибок, мы постараемся Вам помочь.

Для того чтобы Вам помогли в данной ветке, выполните несколько шагов:

  • 1. Прикрепите эксперт в открытом коде с ошибками (Декомпил не приветствуется)
  • 2. Прикрепите информацию по данному эксперту, первоначальное ТЗ на разработку, либо документацию, что эксперт должен делать
  • 3. Прикрепите картинку с графика, где стоит эксперт, если он работает но не так.
  • 4. Опишите проблемы, которые возникли с экспертом на новом билде.
    Мы постараемся помочь Вам в решении данных проблем.





Автор - expforex
Дата добавления - 04.09.2014 в 12:55

NazarДата: Вторник, 16.12.2014, 16:36 | Сообщение # 31
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 12
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Здравствуйте! Советник открывает одновременно две-три позиции на BUY или SELL и выставляет им одинаковые SL\TP.
У меня вопрос как сделать чтобы размер SL и TP можно было менять для каждого ордера чтобы не были одинаковыми??
Нужно присвоить каждой из позиций свой магик?



Сообщение отредактировал Nazar - Вторник, 16.12.2014, 16:38
 
СообщениеЗдравствуйте! Советник открывает одновременно две-три позиции на BUY или SELL и выставляет им одинаковые SL\TP.
У меня вопрос как сделать чтобы размер SL и TP можно было менять для каждого ордера чтобы не были одинаковыми??
Нужно присвоить каждой из позиций свой магик?

Автор - Nazar
Дата добавления - 16.12.2014 в 16:36

expforexДата: Среда, 17.12.2014, 22:54 | Сообщение # 32
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

Nazar, приветствую, 
если Вы хотите поставить каждому свой сл и тп можно вывести в настройки например стоплоссы ордеров, например для первого второго третьего и так далее
одинаковые всмысле по одной цене или одинаковые пункты?
магик лучше не трогать, я думаю советник завязан то на магике



Программирование на заказ || Наши Разработки

 
СообщениеNazar, приветствую, 
если Вы хотите поставить каждому свой сл и тп можно вывести в настройки например стоплоссы ордеров, например для первого второго третьего и так далее
одинаковые всмысле по одной цене или одинаковые пункты?
магик лучше не трогать, я думаю советник завязан то на магике

Автор - expforex
Дата добавления - 17.12.2014 в 22:54

NazarДата: Четверг, 18.12.2014, 16:18 | Сообщение # 33
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 12
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Наверное надо разные магики для каждого ордера. Советник использует режим спрятаных SL/TP и модифицирует за магиком.а магик здесь только один

 
СообщениеНаверное надо разные магики для каждого ордера. Советник использует режим спрятаных SL/TP и модифицирует за магиком.а магик здесь только один

Автор - Nazar
Дата добавления - 18.12.2014 в 16:18

expforexДата: Четверг, 18.12.2014, 18:15 | Сообщение # 34
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

Nazar, я не знаю конструкции советники что он делает и особенно как он работает с магиком. Поэтому не могу дать однозначный ответ



Программирование на заказ || Наши Разработки

 
СообщениеNazar, я не знаю конструкции советники что он делает и особенно как он работает с магиком. Поэтому не могу дать однозначный ответ

Автор - expforex
Дата добавления - 18.12.2014 в 18:15

John174Дата: Понедельник, 29.12.2014, 16:27 | Сообщение # 35
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 4
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Привет всем!
помогите исправить ошибки!
советник торгует только на SELL,даже где должен открывать BUY

Советник писал по индикатору TMA with Distances.mq4
Он должен открывать ордер на продажу по пересечению верхней линии индикатора,и ордер на покупку по пересечению нижней линии индикатора.

Помогите его заставить открывать второй ордерSELL на месте TP (первого ордера SELL),но с другим лотом,и чтоб выстовлял SL по цене открытия первого ордераSELL, а TP выставлял когда советник откроет ордер на BUY на уровне SL(BUY), и TP ордера BUY выстовлял по уровню  SL второго ордера на SELL

Код
//+------------------------------------------------------------------+
//| Сова TMA Probnik.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict

extern double Lots = 0.01;
extern int TakeProfit = 15;
extern int StopLoss = 15;
extern int Slippage = 5;
extern string comment = "Tma bot";
extern int Megic = 012;
extern string Indi = "Данные индикатора";
extern string TimeFrame = "current time frame";
extern int HalfLength = 56;
extern int Price = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern int ATRPeriod = 100;
extern bool Interpolate = true;

double PRICE_HIGH,PRICE_LOW,SL,TP,SL1,TP1;

int ticket;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
if(Digits==3 || Digits==5)
{
TakeProfit *= 10;
StopLoss *= 10;
Slippage *= 10;
}

return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
PRICE_HIGH= iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,1,0);
PRICE_LOW = iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,2,0);

if(Bid>=PRICE_HIGH && CountSell()==0)
{
{
SL = NormalizeDouble(Bid + StopLoss * Point, Digits);
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);

ticket=OrderSend(Symbol(),OP_SELL,0.04,Bid,Slippage,0,0,comment,Megic,0,Magenta);
if(ticket>=0)

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
}

}

if(Ask<=PRICE_LOW && CountBuy()==0)
{
SL = NormalizeDouble(Ask - StopLoss * Point, Digits);
TP = NormalizeDouble(PRICE_HIGH * Point, Digits);

ticket=OrderSend(Symbol(),OP_BUY,0.06,Ask,Slippage,0,0,comment,Megic,0,Blue);
if(ticket<=0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
}

}

if(Ask<=PRICE_LOW && CountSell()>0)
{
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderMagicNumber()==Megic && OrderType()==OP_SELL)
bool close=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Black);
}
}
}

if(Bid>=PRICE_HIGH && CountBuy()>0)
{
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderMagicNumber()==Megic && OrderType()==OP_BUY)
bool close=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Black);
}
}
}

return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountSell()
{
int count=0;
for(int trade=OrdersTotal()-1; trade>=0; trade--)
{
bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
{
if(OrderType()==OP_SELL)
count++;
}
}

return(count);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountBuy()
{
int count=0;
for(int trade=OrdersTotal()-1; trade>=0; trade--)
{
bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
{
if(OrderType()==OP_BUY)
count++;
}
}

return(count);
}
//+------------------------------------------------------------------+

 
СообщениеПривет всем!
помогите исправить ошибки!
советник торгует только на SELL,даже где должен открывать BUY

Советник писал по индикатору TMA with Distances.mq4
Он должен открывать ордер на продажу по пересечению верхней линии индикатора,и ордер на покупку по пересечению нижней линии индикатора.

Помогите его заставить открывать второй ордерSELL на месте TP (первого ордера SELL),но с другим лотом,и чтоб выстовлял SL по цене открытия первого ордераSELL, а TP выставлял когда советник откроет ордер на BUY на уровне SL(BUY), и TP ордера BUY выстовлял по уровню  SL второго ордера на SELL

Код
//+------------------------------------------------------------------+
//| Сова TMA Probnik.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict

extern double Lots = 0.01;
extern int TakeProfit = 15;
extern int StopLoss = 15;
extern int Slippage = 5;
extern string comment = "Tma bot";
extern int Megic = 012;
extern string Indi = "Данные индикатора";
extern string TimeFrame = "current time frame";
extern int HalfLength = 56;
extern int Price = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern int ATRPeriod = 100;
extern bool Interpolate = true;

double PRICE_HIGH,PRICE_LOW,SL,TP,SL1,TP1;

int ticket;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
if(Digits==3 || Digits==5)
{
TakeProfit *= 10;
StopLoss *= 10;
Slippage *= 10;
}

return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
PRICE_HIGH= iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,1,0);
PRICE_LOW = iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,2,0);

if(Bid>=PRICE_HIGH && CountSell()==0)
{
{
SL = NormalizeDouble(Bid + StopLoss * Point, Digits);
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);

ticket=OrderSend(Symbol(),OP_SELL,0.04,Bid,Slippage,0,0,comment,Megic,0,Magenta);
if(ticket>=0)

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
}

}

if(Ask<=PRICE_LOW && CountBuy()==0)
{
SL = NormalizeDouble(Ask - StopLoss * Point, Digits);
TP = NormalizeDouble(PRICE_HIGH * Point, Digits);

ticket=OrderSend(Symbol(),OP_BUY,0.06,Ask,Slippage,0,0,comment,Megic,0,Blue);
if(ticket<=0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
}

}

if(Ask<=PRICE_LOW && CountSell()>0)
{
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderMagicNumber()==Megic && OrderType()==OP_SELL)
bool close=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Black);
}
}
}

if(Bid>=PRICE_HIGH && CountBuy()>0)
{
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderMagicNumber()==Megic && OrderType()==OP_BUY)
bool close=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Black);
}
}
}

return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountSell()
{
int count=0;
for(int trade=OrdersTotal()-1; trade>=0; trade--)
{
bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
{
if(OrderType()==OP_SELL)
count++;
}
}

return(count);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int CountBuy()
{
int count=0;
for(int trade=OrdersTotal()-1; trade>=0; trade--)
{
bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
{
if(OrderType()==OP_BUY)
count++;
}
}

return(count);
}
//+------------------------------------------------------------------+

Автор - John174
Дата добавления - 29.12.2014 в 16:27

expforexДата: Понедельник, 29.12.2014, 17:07 | Сообщение # 36
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

John174, попробуйте, я исправил только ошибки, без модификаций 


Код
//+------------------------------------------------------------------+  
//| Сова TMA Probnik.mq4 |  
//| Copyright 2014, MetaQuotes Software Corp. |  
//| https://www.mql5.com |  
//+------------------------------------------------------------------+  
#property copyright "Copyright 2014, MetaQuotes Software Corp."  
#property link "https://www.mql5.com"  
#property version "1.00"  
#property strict  

extern double Lots=0.01;
extern int TakeProfit=15;
extern int StopLoss = 15;
extern int Slippage = 5;
extern string comment="Tma bot";
extern int Megic=012;
extern string Indi="Данные индикатора";
extern string TimeFrame="current time frame";
extern int HalfLength=56;
extern int Price=PRICE_CLOSE;
extern double ATRMultiplier=2.0;
extern int ATRPeriod=100;
extern bool Interpolate=true;

double PRICE_HIGH2,PRICE_LOW2,SL,TP,SL1,TP1;

int ticket;
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int init()
   {
    if(Digits==3 || Digits==5)
      {
       TakeProfit*=10;
       StopLoss *= 10;
       Slippage *= 10;
      }

    return(0);
   }
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int start()
   {
    PRICE_HIGH2= iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,1,0);
    PRICE_LOW2 = iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,2,0);

    if(Bid>=PRICE_HIGH2 && CountSell()==0)
      {
         {
          SL = NormalizeDouble(Bid + StopLoss * Point, Digits);
          TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);

          ticket=OrderSend(Symbol(),OP_SELL,0.04,Bid,Slippage,0,0,comment,Megic,0,Magenta);
          if(ticket>=0)

             if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
                bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
         }

      }

    if(Ask<=PRICE_LOW2 && CountBuy()==0)
      {
       SL = NormalizeDouble(Ask - StopLoss * Point, Digits);
       TP = NormalizeDouble(Ask + TakeProfit * Point, Digits);

       ticket=OrderSend(Symbol(),OP_BUY,0.06,Ask,Slippage,0,0,comment,Megic,0,Blue);
       if(ticket<=0)
         {
          if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
             bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
         }

      }

    if(Ask<=PRICE_LOW2 && CountSell()>0)
      {
       for(int i=OrdersTotal()-1; i>=0; i--)
         {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
             if(OrderMagicNumber()==Megic && OrderType()==OP_SELL)
                bool close=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Black);
            }
         }
      }

    if(Bid>=PRICE_HIGH2 && CountBuy()>0)
      {
       for(int i=OrdersTotal()-1; i>=0; i--)
         {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
             if(OrderMagicNumber()==Megic && OrderType()==OP_BUY)
                bool close=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Black);
            }
         }
      }

    return(0);
   }
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int CountSell()
   {
    int count=0;
    for(int trade=OrdersTotal()-1; trade>=0; trade--)
      {
       bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
         {
          if(OrderType()==OP_SELL)
             count++;
         }
      }

    return(count);
   }
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int CountBuy()
   {
    int count=0;
    for(int trade=OrdersTotal()-1; trade>=0; trade--)
      {
       bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
         {
          if(OrderType()==OP_BUY)
             count++;
         }
      }

    return(count);
   }
//+------------------------------------------------------------------+



Программирование на заказ || Наши Разработки

 
СообщениеJohn174, попробуйте, я исправил только ошибки, без модификаций 

Код
//+------------------------------------------------------------------+  
//| Сова TMA Probnik.mq4 |  
//| Copyright 2014, MetaQuotes Software Corp. |  
//| https://www.mql5.com |  
//+------------------------------------------------------------------+  
#property copyright "Copyright 2014, MetaQuotes Software Corp."  
#property link "https://www.mql5.com"  
#property version "1.00"  
#property strict  

extern double Lots=0.01;
extern int TakeProfit=15;
extern int StopLoss = 15;
extern int Slippage = 5;
extern string comment="Tma bot";
extern int Megic=012;
extern string Indi="Данные индикатора";
extern string TimeFrame="current time frame";
extern int HalfLength=56;
extern int Price=PRICE_CLOSE;
extern double ATRMultiplier=2.0;
extern int ATRPeriod=100;
extern bool Interpolate=true;

double PRICE_HIGH2,PRICE_LOW2,SL,TP,SL1,TP1;

int ticket;
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int init()
   {
    if(Digits==3 || Digits==5)
      {
       TakeProfit*=10;
       StopLoss *= 10;
       Slippage *= 10;
      }

    return(0);
   }
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int start()
   {
    PRICE_HIGH2= iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,1,0);
    PRICE_LOW2 = iCustom(Symbol(),0,"Tma",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,2,0);

    if(Bid>=PRICE_HIGH2 && CountSell()==0)
      {
         {
          SL = NormalizeDouble(Bid + StopLoss * Point, Digits);
          TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);

          ticket=OrderSend(Symbol(),OP_SELL,0.04,Bid,Slippage,0,0,comment,Megic,0,Magenta);
          if(ticket>=0)

             if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
                bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
         }

      }

    if(Ask<=PRICE_LOW2 && CountBuy()==0)
      {
       SL = NormalizeDouble(Ask - StopLoss * Point, Digits);
       TP = NormalizeDouble(Ask + TakeProfit * Point, Digits);

       ticket=OrderSend(Symbol(),OP_BUY,0.06,Ask,Slippage,0,0,comment,Megic,0,Blue);
       if(ticket<=0)
         {
          if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
             bool modify=OrderModify(ticket,OrderOpenPrice(),SL,TP,0);
         }

      }

    if(Ask<=PRICE_LOW2 && CountSell()>0)
      {
       for(int i=OrdersTotal()-1; i>=0; i--)
         {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
             if(OrderMagicNumber()==Megic && OrderType()==OP_SELL)
                bool close=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Black);
            }
         }
      }

    if(Bid>=PRICE_HIGH2 && CountBuy()>0)
      {
       for(int i=OrdersTotal()-1; i>=0; i--)
         {
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
             if(OrderMagicNumber()==Megic && OrderType()==OP_BUY)
                bool close=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Black);
            }
         }
      }

    return(0);
   }
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int CountSell()
   {
    int count=0;
    for(int trade=OrdersTotal()-1; trade>=0; trade--)
      {
       bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
         {
          if(OrderType()==OP_SELL)
             count++;
         }
      }

    return(count);
   }
//+------------------------------------------------------------------+  
//| |  
//+------------------------------------------------------------------+  
int CountBuy()
   {
    int count=0;
    for(int trade=OrdersTotal()-1; trade>=0; trade--)
      {
       bool select=OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==Megic)
         {
          if(OrderType()==OP_BUY)
             count++;
         }
      }

    return(count);
   }
//+------------------------------------------------------------------+

Автор - expforex
Дата добавления - 29.12.2014 в 17:07

John174Дата: Понедельник, 29.12.2014, 17:38 | Сообщение # 37
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 4
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

всеравно открывает сделки только на SELL
я его тестил в тестери он открывает только селл и при tp в 200 и sl в 50, начиная с 30 баксов на gbp-usd что интересно он неплохо идет в плюс

Прикрепления: 8225266.gif(9Kb)


Сообщение отредактировал John174 - Понедельник, 29.12.2014, 18:05
 
Сообщениевсеравно открывает сделки только на SELL
я его тестил в тестери он открывает только селл и при tp в 200 и sl в 50, начиная с 30 баксов на gbp-usd что интересно он неплохо идет в плюс

Автор - John174
Дата добавления - 29.12.2014 в 17:38

expforexДата: Понедельник, 29.12.2014, 18:06 | Сообщение # 38
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

попробуйте на всех тиках. и пришлите журнал тестера



Программирование на заказ || Наши Разработки

 
Сообщениепопробуйте на всех тиках. и пришлите журнал тестера

Автор - expforex
Дата добавления - 29.12.2014 в 18:06

John174Дата: Понедельник, 29.12.2014, 18:14 | Сообщение # 39
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 4
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

дизинформация) там просто удачный ход цены был ,поставил на год он слил и на других валютах тоже слил,журнал наверное нет смысла присылать

 
Сообщениедизинформация) там просто удачный ход цены был ,поставил на год он слил и на других валютах тоже слил,журнал наверное нет смысла присылать

Автор - John174
Дата добавления - 29.12.2014 в 18:14

expforexДата: Понедельник, 29.12.2014, 18:16 | Сообщение # 40
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

John174wink



Программирование на заказ || Наши Разработки

 
СообщениеJohn174wink

Автор - expforex
Дата добавления - 29.12.2014 в 18:16
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Исправление ошибок в советниках на новых билдах (Помощь в исправлении)
Страница 4 из 5«12345»
Поиск:


WebMoney Яндекс цитирования.