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

 

Теперь он у меня работает.

 
hedge4x:
Эта строка while(!IsAllClosed) {CloseAllTrades(); return;}

в основном запуске закроет все открытые позиции, если MT упадет

и я запущу его снова. Есть ли способ поместить эту строку

в функцию closealltrades, чтобы она не закрывала все открытые позиции

после перезапуска MT4?

спасибо.

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

bool IsAllClosed = true ; //Global variable[/PHP]

Then it becomes even better to define a extern variable, so you can keep the control :[PHP]extern bool CloseAll = false ; //Global variable

void CloseAllTrades()

{

int cnt;

CloseAll = false;

for(cnt=OrdersTotal()-1;cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderMagicNumber()==GetMagicNumber())

CloseAll = CloseAll || !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow);

}

}

void start()

{

while(CloseAll) {CloseAllTrades(); return;}

...

Главное преимущество этого метода в том, что советник пытается закрыть каждую позицию на каждом тике, пока все не будут закрыты.

 

нужна помощь с моим полупрофессиональным первым советником

Привет всем...

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

так что если кто-нибудь может помочь улучшить этот советник?

подробно о советнике...

Советник основан на двух индекаторах, один из которых мой, а другой можно найти на bublic fourms " zero lag macd ".

Сейчас эксперт работает все время входить в покупку потом закрываться и разворачиваться на продажу и так далее ...

Мне нужно сделать так, чтобы он работал только в особые моменты времени, добавить money managemint и последнее, что мне нужно, чтобы отложить выделение покупки или продажи со следующей "1 минутной" свечой, но советник работает на 1H свече на самом деле ...

так что надеюсь найти, как можно помочь в этом.

Спасибо всем

с наилучшими пожеланиями

Тамер

Файлы:
 

как ссылаться на имя файла, который я запускаю?

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

Я хочу знать, как я могу ссылаться на имя файла, который я запускаю.

Например, если я запускаю скрипт supertrader.mq4 и хочу открыть файл журнала supertrader_logfile из скрипта supertrader.

Есть ли переменная, которая хранит имя файла, который я запускаю?

Спасибо.

 
star90:
Привет,

Я хочу знать, как я могу ссылаться на имя файла, который я запускаю.

Например, если я запускаю скрипт под названием supertrader.mq4 и хочу открыть файл журнала под названием supertrader_logfile из скрипта supertrader.

Есть ли переменная, которая хранит имя файла, который я запускаю?

Спасибо.

Возможно, добавив в скрипт void Print( ...).

void Print( ...) Печатает сообщение в журнал экспертов.

 

К Адрии

Вы видели мое сообщение?

Большой Бе

 

Волчья волна. Мне нужна ваша помощь

Уважаемые Codersguru,

Я не программист и в моем стиле проб и ошибок, волна волка, которую я пытался улучшить, выдает сигнал "второй параметр, ObjectTextSetFunction должен быть строкой".

Пожалуйста, помогите мне исправить.

Спасибо в ожидании.

Файлы:
wolfwave.rar  3 kb
 

Привет, мне нужна функция bool, которая возвращает true, если прошло 5 минут, или 10 минут, или что-то еще. Я уже знаю, как проверить наличие нового бара, но это происходит недостаточно часто.

 
nittany1:
Привет, ребята, мне нужна функция bool, которая возвращает true, если прошло 5 минут, или 10 минут, или что-то еще. Я уже знаю, как проверить новый бар, но это происходит недостаточно часто.

Может быть

double LastRedraw = 0;

if(TimeLocal() - LastRedraw > 300)

{

Print();

ObjectsRedraw();

Print("ObjectsRedraw Done");

LastRedraw = TimeLocal();

}

 
Linuxser:
Может быть

double LastRedraw = 0;

if(TimeLocal() - LastRedraw > 300)

{

Print();

ObjectsRedraw();

Print("ObjectsRedraw Done");

LastRedraw = TimeLocal();

}

[/code]

Или вот это:

[CODE]

bool ElapsedTimeCheck(int MyMinutes)

{

static datetime OldTime;

if (OldTime == 0)

OldTime = TimeCurrent() + MyMinutes * 60; // инициализируется один раз...

if (TimeCurrent() >= OldTime)

{

OldTime = TimeCurrent() + MyMinutes * 60;

bool cond = true;

}

else cond = false;

return(cond);

}