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


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

Страница 3 из 4«1234»
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » TRIX осцилятор, доработка (Triple Exponential Average)
TRIX осцилятор, доработка

expforexДата: Пятница, 25.10.2013, 17:23 | Сообщение # 21
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


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

exolon, в этом основная задача трейдера, не просто прочитать но и систематизировать. В общем, основные шаги я подсказал. будет интересная стратегия - пишите.



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

 
Сообщениеexolon, в этом основная задача трейдера, не просто прочитать но и систематизировать. В общем, основные шаги я подсказал. будет интересная стратегия - пишите.

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

exolonДата: Пятница, 25.10.2013, 19:19 | Сообщение # 22
Трейдер - Сержант
Группа: Пользователи
Сообщений: 23
Награды: 0
Статус: Offline


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

expforex, я как раз пытаюсь написать советник по своей стратегии, возникла такая проблема: нужно вывести сообщение с каждым новым баром

int start()
{
   int oldbars = Bars;
    .....

    if(oldbars<Bars)
   {
      Alert("ширина канала Боллинджера ",WidthCanalBands[0]);
      oldbars = Bars; 
   }
   return(0);


код не работает, во всяком случае сообщение не выводиться на экран, где ошибка

 
Сообщениеexpforex, я как раз пытаюсь написать советник по своей стратегии, возникла такая проблема: нужно вывести сообщение с каждым новым баром

int start()
{
   int oldbars = Bars;
    .....

    if(oldbars<Bars)
   {
      Alert("ширина канала Боллинджера ",WidthCanalBands[0]);
      oldbars = Bars; 
   }
   return(0);


код не работает, во всяком случае сообщение не выводиться на экран, где ошибка

Автор - exolon
Дата добавления - 25.10.2013 в 19:19

expforexДата: Пятница, 25.10.2013, 19:23 | Сообщение # 23
Главный Администартор
Группа: Администраторы
Сообщений: 8951
Награды: 29
Статус: Offline


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

ошибка здесь
int oldbars = Bars;

надо как минимум так:

Код
int oldbars = 0;
int start()
{

.....

if(oldbars<Bars)
{
Alert("ширина канала Боллинджера ",WidthCanalBands[0]);
oldbars = Bars;
}
return(0);
}



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

 
Сообщениеошибка здесь
int oldbars = Bars;

надо как минимум так:
Код
int oldbars = 0;
int start()
{

.....

if(oldbars<Bars)
{
Alert("ширина канала Боллинджера ",WidthCanalBands[0]);
oldbars = Bars;
}
return(0);
}

Автор - expforex
Дата добавления - 25.10.2013 в 19:23

exolonДата: Пятница, 25.10.2013, 21:20 | Сообщение # 24
Трейдер - Сержант
Группа: Пользователи
Сообщений: 23
Награды: 0
Статус: Offline


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



Код
extern int  CountBars = 60;

double LineUpperBands[];                             // верхняя линия Боллинджера
double LineLowerBands[];                             // нижнея линия Боллинджера
double LineCenterBands[];                            // среднея линия Боллинджера
double WidthCanalBands[];                            // ширина канала Боллинджера  

int oldbars=0;

int init()
   {

    return(0);
   }

int start()
   {
     
    int i,limit=CountBars;
     
    for(i=0;i<limit;i++)
    {
       LineUpperBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_UPPER,i);
       LineLowerBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_LOWER,i);
       LineCenterBands[i]=(LineUpperBands[i]+LineLowerBands[i])/2;  
       WidthCanalBands[i]=LineUpperBands[i]-LineLowerBands[i];      
    }   
    if(oldbars<Bars)
    {
       Alert("ширина канала Боллинджера ",WidthCanalBands[0]);
       oldbars = Bars;  
    }
    return(0);
   }


выводит ноль вместо моих расчетов

 
Сообщение
Код
extern int  CountBars = 60;

double LineUpperBands[];                             // верхняя линия Боллинджера
double LineLowerBands[];                             // нижнея линия Боллинджера
double LineCenterBands[];                            // среднея линия Боллинджера
double WidthCanalBands[];                            // ширина канала Боллинджера  

int oldbars=0;

int init()
   {

    return(0);
   }

int start()
   {
     
    int i,limit=CountBars;
     
    for(i=0;i<limit;i++)
    {
       LineUpperBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_UPPER,i);
       LineLowerBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_LOWER,i);
       LineCenterBands[i]=(LineUpperBands[i]+LineLowerBands[i])/2;  
       WidthCanalBands[i]=LineUpperBands[i]-LineLowerBands[i];      
    }   
    if(oldbars<Bars)
    {
       Alert("ширина канала Боллинджера ",WidthCanalBands[0]);
       oldbars = Bars;  
    }
    return(0);
   }


выводит ноль вместо моих расчетов

Автор - exolon
Дата добавления - 25.10.2013 в 21:20

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


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

в алерте выводит 0?



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

 
Сообщениев алерте выводит 0?

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

exolonДата: Суббота, 26.10.2013, 09:17 | Сообщение # 26
Трейдер - Сержант
Группа: Пользователи
Сообщений: 23
Награды: 0
Статус: Offline


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

Цитата expforex ()
в алерте выводит 0?
ага

 
Сообщение
Цитата expforex ()
в алерте выводит 0?
ага

Автор - exolon
Дата добавления - 26.10.2013 в 09:17

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


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

ну во первых ВЫ даже не инициализировали массивы. Им нужно присвоить количество ячеек. 

Код
extern int  CountBars = 60;  

double LineUpperBands[];                             // верхняя линия Боллинджера  
double LineLowerBands[];                             // нижнея линия Боллинджера  
double LineCenterBands[];                            // среднея линия Боллинджера  
double WidthCanalBands[];                            // ширина канала Боллинджера   

int oldbars=0;  

int init()  
    {  
ArrayResize(LineUpperBands,CountBars );
ArrayResize(LineLowerBands,CountBars );
ArrayResize(LineCenterBands,CountBars );
ArrayResize(WidthCanalBands,CountBars );
     return(0);  
    }  

int start()  
    {  
     
     int i,limit=CountBars;  
       
     for(i=0;i<limit;i++)  
     {  
        LineUpperBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_UPPER,i);  
        LineLowerBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_LOWER,i);  
        LineCenterBands[i]=(LineUpperBands[i]+LineLowerBands[i])/2;   
        WidthCanalBands[i]=LineUpperBands[i]-LineLowerBands[i];       
     }    
     if(oldbars<Bars)  
     {  
        Alert("ширина канала Боллинджера ",WidthCanalBands[0]);  
        oldbars = Bars;   
     }  
     return(0);  
    }



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

 
Сообщениену во первых ВЫ даже не инициализировали массивы. Им нужно присвоить количество ячеек. 

Код
extern int  CountBars = 60;  

double LineUpperBands[];                             // верхняя линия Боллинджера  
double LineLowerBands[];                             // нижнея линия Боллинджера  
double LineCenterBands[];                            // среднея линия Боллинджера  
double WidthCanalBands[];                            // ширина канала Боллинджера   

int oldbars=0;  

int init()  
    {  
ArrayResize(LineUpperBands,CountBars );
ArrayResize(LineLowerBands,CountBars );
ArrayResize(LineCenterBands,CountBars );
ArrayResize(WidthCanalBands,CountBars );
     return(0);  
    }  

int start()  
    {  
     
     int i,limit=CountBars;  
       
     for(i=0;i<limit;i++)  
     {  
        LineUpperBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_UPPER,i);  
        LineLowerBands[i]=iBands(NULL,0,24,2,0,PRICE_WEIGHTED,MODE_LOWER,i);  
        LineCenterBands[i]=(LineUpperBands[i]+LineLowerBands[i])/2;   
        WidthCanalBands[i]=LineUpperBands[i]-LineLowerBands[i];       
     }    
     if(oldbars<Bars)  
     {  
        Alert("ширина канала Боллинджера ",WidthCanalBands[0]);  
        oldbars = Bars;   
     }  
     return(0);  
    }

Автор - expforex
Дата добавления - 26.10.2013 в 11:25

exolonДата: Суббота, 26.10.2013, 12:51 | Сообщение # 28
Трейдер - Сержант
Группа: Пользователи
Сообщений: 23
Награды: 0
Статус: Offline


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

придется ждать до понедельника, чтоб проверить как работает. у тебя в статье по автолоту вот такая формула приводиться: 

Код
[b]Депозит USD  Обратная котировка:
Лот= Свободная маржа*Риск*Кредитное плечо/Ask/100/Размер контракта

как вычислить размер контракта, MODE_LOTSIZE - откуда эта переменная



Сообщение отредактировал exolon - Суббота, 26.10.2013, 12:52
 
Сообщениепридется ждать до понедельника, чтоб проверить как работает. у тебя в статье по автолоту вот такая формула приводиться: 
Код
[b]Депозит USD  Обратная котировка:
Лот= Свободная маржа*Риск*Кредитное плечо/Ask/100/Размер контракта

как вычислить размер контракта, MODE_LOTSIZE - откуда эта переменная

Автор - exolon
Дата добавления - 26.10.2013 в 12:51

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


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

exolon, можешь запустить тестер поставить любого эксперта и запустить в режиме визуализации сверху накинуть индюк, или же положить данный файл в папку экспертов и запустить тест. 

Цитата exolon ()
как вычислить размер контракта, MODE_LOTSIZE - откуда эта переменная
   MarketInfo



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

 
Сообщениеexolon, можешь запустить тестер поставить любого эксперта и запустить в режиме визуализации сверху накинуть индюк, или же положить данный файл в папку экспертов и запустить тест. 

Цитата exolon ()
как вычислить размер контракта, MODE_LOTSIZE - откуда эта переменная
   MarketInfo

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

exolonДата: Понедельник, 28.10.2013, 10:34 | Сообщение # 30
Трейдер - Сержант
Группа: Пользователи
Сообщений: 23
Награды: 0
Статус: Offline


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

expforex, что можно придумать, для того что бы 5 знаков после точки показывалось, а то у меня всего 4 знака выводиться

 
Сообщениеexpforex, что можно придумать, для того что бы 5 знаков после точки показывалось, а то у меня всего 4 знака выводиться

Автор - exolon
Дата добавления - 28.10.2013 в 10:34
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » TRIX осцилятор, доработка (Triple Exponential Average)
Страница 3 из 4«1234»
Поиск:


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