[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 138

 
supernyb:

а для вывода, понял принт выдаёт только всегда 4-ре и меньше знака.

тогда если Print (DoubleToStr(Startprice,5)); // распечатаем Startprice

то выдаёт 5.

Но вот как время бара добавить 

Это строка не добавляет время бара?



string name="Pr1_";
string cur_name=name+Time[0];
 
supernyb:


если так

то не работает, ругается на '=' - incompatible types    C:\fortest\experts\sve.mq4 (34, 14)

Как правильно это можно записать? 

Спасибо что ответили, я над этим уже неделю бьюсь )


     Попробуй так:

 extern int MA_Period = 50;                   //периуд Ма
extern int MA_Method =MODE_SMA;               //Метод усреднения скользящего среднего. Может быть любым из значений методов скользящего среднего (Moving Average):
                              //*MODE_SMA 
                              
 extern int Maximum_History = 0;              //Ограничение истории для расчетов, если 0 то расчет всей истории
 
   
    
                                               //начало кода советника
int start()
{      
    double MA4;                                // Значение МА на 4 баре     
    double Startprice;
  
   MA4=iMA(NULL,0,MA_Period,0,MA_Method,PRICE_CLOSE,4); 
 
   
 if  (Low[4]< MA4 && MA4 < High[4])            //условия если 4-я свеча лежит в скользящей  
     {      
   Startprice=Close[0];
     }
       
   Print (DoubleToStr(Startprice,5));          // распечатаем Startprice
     
      
   datetime TmR1=Time[0];                      // запоминаем время текущего бара? 
   
       ObjectCreate("Rep1"+TmR1,OBJ_ARROW, 0, TmR1, Startprice); // создаем обьект 
       ObjectSet("Rep1", OBJPROP_COLOR, White); // устанавливаем обьект на график
       ObjectSet("Rep1", OBJPROP_ARROWCODE,71); 
      
     return(0); 
 }    
 
supernyb:

а для вывода, понял принт выдаёт только всегда 4-ре и меньше знака.

тогда если Print (DoubleToStr(Startprice,5)); // распечатаем Startprice

то выдаёт 5.

Но вот как время бара добавить 

Это строка не добавляет время бара?


 
Roger:
Покажите, как Вы получили bay_min.


 if (StochM < St_min && StochS < St_min) 
   bay_min = true;
 
r772ra:
if (bay_min == true)   datetime T=Time[0] //сработал сигнал на покупку запоминаем время  бара

if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
   {   
  if (Open[1]<Close[1] && Open[2]<Close[2] )   //и эти бары бычьи 
     { 
    // что-то делаем
     }
   }
   
// я думаю, как-то так.

Спасибо, логика ясна, но он перестал вообще открывать сделку
проблема в этой строчке
if(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
 
Подскажите пожалуйста. Мой индикатор по принципу ZigZag перерисовывается. Рисует определенный объект на график. После того как цена меняется и необходимо объект удалить, объект удаляется но значение буфера в чарте остается, как сделать чтоб то старое значение тоже удалялось, а не только графика? Если можете кодом или покажите где это в зигзаге осуществленно?
 
Dimka-novitsek:
Как научить комп выполнять строго данную задачу биз тормоза? А то рычажок тестера скорости реагирует, только если хочет! Задержка часто 3-8 секунд. Поминаю всех плохих женщин!
Доброго дня!
 
Dimka-novitsek:
Как научить комп выполнять строго данную задачу биз тормоза? А то рычажок тестера скорости реагирует, только если хочет! Задержка часто 3-8 секунд. Поминаю всех плохих женщин!


Сделать оптимальный вариант
 



Strategy Tester Report

subot11
(Build 438)

СимволEURUSD (Euro vs US Dollar)
Период1 Час (H1) 2005.01.24 00:00 - 2012.09.26 23:00 (2005.01.24 - 2012.09.27)
МодельВсе тики (наиболее точный метод на основе всех наименьших доступных таймфреймов)
ПараметрыПapаметры=" Советника"; lot=1; lot2=1; Magic_Number=68705; yroven=120; pr=50; sp=16; MA_Period=50; Maximum_History=0;

Баров в истории48438Смоделировано тиков62876826Качество моделирования90.00%
Ошибки рассогласования графиков0




Начальный депозит10000.00



Чистая прибыль7635.00Общая прибыль41380.00Общий убыток-33745.00
Прибыльность1.23Матожидание выигрыша16.71

Абсолютная просадка2271.00Максимальная просадка3769.00 (32.78%)Относительная просадка32.78% (3769.00)

Всего сделок457Короткие позиции (% выигравших)0 (0.00%)Длинные позиции (% выигравших)457 (24.29%)

Прибыльные сделки (% от всех)111 (24.29%)Убыточные сделки (% от всех)346 (75.71%)
Самая большаяприбыльная сделка600.00убыточная сделка-150.00
Средняяприбыльная сделка372.79убыточная сделка-97.53
Максимальное количествонепрерывных выигрышей (прибыль)5 (2020.00)непрерывных проигрышей (убыток)20 (-2114.00)
Максимальнаянепрерывная прибыль (число выигрышей)2098.00 (4)непрерывный убыток (число проигрышей)-2114.00 (20)
Среднийнепрерывный выигрыш2непрерывный проигрыш5




Получилось самому создать советника. Прогнал с фиксированым спредом 19. С 2005г. Стоп лост всегда. Тейк всегда. Не использует усреднений и мартина. Позиции закрываются внутри дня, т.е не переносятся на следующий день.

Но он только отражает принцип ( так как програмист из меня мягко говоря хреновый.

 
artmedia70:

Несколько дней отсутствовал... Я вот думаю - а те же параметры имеют машки, накинутые на график, что и машки, использующиеся в вычислениях? Может собака там порылась?

  Конечно, те же. Вот в режиме тестирования я свойства заданной МА открыл..

 Параметры МА

artmedia70:

(В код до сих пор некогда было вникать и разбирать).

Да там всё написано очень просто, что б любой мог понять сходу :)

artmedia70:

Я бы сделал функцию, например:

//-----------------------------------------------------------------------------+
double ma(int MAperiod, int MAmethod, int MAshift) {return (iMA(Symbol(), Period(), MAperiod, 0, MAmethod, PRICE_OPEN,MAshift));}
//-----------------------------------------------------------------------------+
и вызывал её для получения параметров


 Я думал над этим изначально, когда писал весь эксперт целиком, а не этот пробник. НО. iMA - это и так функция. Вызывая функцию iMA так и так вбиваются в неё параметры, какие-то с переменные объявленные глобально а какие-то по умолчанию, например. Суть в том, что какой резон вызывать из функции функцию, если это не придаст накакого смысла?
Причина обращения: