Как кодировать? - страница 314

 

Советник с автономным графиком

Здравствуйте,

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

int init()

{

start();

return(0);

}

int start()

{

while (!IsStopped())

{

RefreshRates();

//код выполнения

Sleep(1000);

//вывод каждые 5 минут сообщения "я жив"

}

}

Через несколько минут сообщение "я жив" прекратилось.

Есть ли что-то, что я могу сделать с этим или, как я читал в некоторых других темах, это проблема каждого советника с автономным графиком?

Большое спасибо

 

как добавить новый барный звук?

Мне нужна простая настройка имеющегося у меня советника.

Это советник RangeBars EA и мне нужно вставить просто опцию, возможность воспроизведения звука, когда новый бар построен на графике.

Также мне нужна возможность включить/выключить эту функцию и выбрать имя файла для звука.

Пожалуйста, кто-нибудь может сказать мне, как это сделать?

rangebars.zip

Файлы:
rangebars.zip  11 kb
 

Использование информации с M15 для входа или выхода из сделки на M5

Я хочу рассчитать MA или другой технический индикатор на более высоком таймфрейме, чтобы принять решение о входе или выходе из сделки на более низком таймфрейме. Я не хочу указывать период в индикаторе. Я пытаюсь использовать PERIOD_M15 или другой, но значение не корректно по сравнению с реальным.

 

...

Если вы используете его следующим образом:

iMA(NULL,PERIOD_M15,CalculatingPeriod,0,CalculatingMethod,CalculationPrice,Shift);

[/PHP]

it has to return the correct value. Here is an example of a 15 minute 14 period EMA of close of the first closed bar

iMA(NULL,PERIOD_M15,14,0,MODE_EMA,PRICE_CLOSE,1);

If you want to use that from back-tests then you have to add one thing :

[PHP] y = iBarShift(NULL,PERIOD_M15,Time[shift]);

iMA(NULL,PERIOD_M15,14,0,MODE_EMA,PRICE_CLOSE,y+1);

где shift - номер бара тестируемого таймфрейма.

Premeus:
Я хочу рассчитать MA или другой технический индикатор на более высоком таймфрейме, чтобы принять решение о входе или выходе из сделки на более низком таймфрейме. Я не хочу указывать период в индикаторе. Я пытаюсь использовать PERIOD_M15 или другой, но значение не корректно по сравнению с реальным.
 

Спасибо, mladen, я не уверен, что это должно получить правильное значение или нет.

 

Buy_Script / Как кодировать

Привет кодеры

Что делать, когда у меня будет больше билетов?

где я должен вставить билет_2; билет_3 и ...

как кодировать?

//+------------------------------------------------------------------+

//| скрипт программы запускает функцию |

//+------------------------------------------------------------------+

int start()

{

int ticket_1;

if(Digits < 4)

{

PointValue = 0.01;

iDigits = 2;

}

else

{

PointValue = 0.0001;

iDigits = 4;

}

Спасибо за помощь

 

Как предотвратить работу советника во время запуска MT4

Здравствуйте, Младен,

Несколько дней назад после перезагрузки моего VPS я перезапустил MT4. Однако, советник на платформе случайно закрыл несколько сделок, которые не должны были быть закрыты, из-за нестабильных данных во время запуска MT4. Подскажите, пожалуйста, какие коды я могу вставить в советник, чтобы этого не происходило?

Заранее спасибо

пух

 

...

pooh123

Первое, что приходит в голову, это предотвратить его срабатывание при первом полученном тике.

Это можно сделать, если поместить что-то вроде этого в начало старта.

static bool firstTime=true; if (firstTime) { firstTime = false; return(0); }

Но я не уверен на 100%, что это предотвратит все ошибки, подобные той, что была у вас (когда он начинает загружать данные, например, это может затянуться - что тогда делать). Если у меня появится идея получше, я опубликую ее здесь.

pooh123:
Привет Младен,

Несколько дней назад после перезагрузки моего VPS я перезапустил MT4. Однако, советник на платформе случайно закрыл несколько сделок, которые не должны были быть закрыты, из-за нестабильных данных во время запуска MT4. Подскажите, пожалуйста, какие коды я могу вставить в свой советник, чтобы этого не происходило?

Заранее спасибо

пух
 
mladen:
pooh123

Первое, что приходит на ум, это предотвратить его срабатывание при первом полученном тике.

Это можно сделать, если поместить что-то вроде этого в начало старта.

static bool firstTime=true; if (firstTime) { firstTime = false; return(0); }
Но я не уверен на 100%, что это предотвратит все ошибки, подобные той, что была у вас (например, когда он начинает загружать данные, что может затянуться - что тогда делать). Если у меня появится идея получше, я опубликую ее здесь.

Спасибо, Младен, за быстрый ответ. Это полезно.

pooh

 

Здравствуйте.

Существует ли функция, позволяющая вычислить данную операцию?

x^0,5 (x= известное значение)

И еще вопрос.

У меня 5-ти значный брокер. Можно ли получить только первые 4 знака после запятой? Спасибо

Спасибо

Причина обращения: