Спрашивайте! - страница 138

 

Вы не совсем поняли, или я выразился недостаточно ясно.

luxinterior:
Прямо из файла справки...

int iLowest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

Returns the shift of the least value over a specific number of periods depending on type.

Lux

Привет, Лакс,

Спасибо за ваш вклад, но это не то, что мне нужно. Я знаю, что это возвращает самое низкое значение, и я уже включил его в свой сценарий.

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

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

 
Bill FX:
Привет, primajaya,

"CloseTrades_After_Account_Profit_Reached" - это советник (на прикрепленном файле). Я хочу объединить этот советник в другой советник.

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

Просто сделайте новую функцию в соответствии с советником... и поместите ее в функцию int start()...

Протестируйте это:

extern double My_Money_Profit_Target=300;

int start()

{

//Put The Close_Trade_Profit function just berfore return(0);

Close_Trade_Profit();

return(0);

}

void Close_Trade_Profit()

{

int Slippage=5;

int i;

if (AccountProfit()>= My_Money_Profit_Target)

{

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

{

OrderSelect(i, SELECT_BY_POS);

int type = OrderType();

bool result = false;

switch(type)

{

//Close opened long positions

case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink);

break;

//Close opened short positions

case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink);

}

if(result == false)

{

Sleep(3000);

}

}

Print ("Account Profit Reached. All Open Trades Have Been Closed");

return(0);

}

Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),

"\nMy Account Profit Target: ",My_Money_Profit_Target);

}

 
primajaya:
Просто сделайте новую функцию в соответствии с советником... и поместите ее в функцию int start()...

Привет, Примаджая,

Есть 1 ошибка " '}' - несбалансированные скобки " когда я вставляю это:

: //Поместите функцию Close_Trade_Profit прямо перед return(0);

Close_Trade_Profit();

return(0);

}

void Close_Trade_Profit()

{

int Slippage=5;

int i;

if (AccountProfit()>= My_Money_Profit_Target)

{

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

{

OrderSelect(i, SELECT_BY_POS);

int type = OrderType();

bool result = false;

switch(type)

{

// Закрытие открытых длинных позиций

case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink);

break;

// Закрытие открытых коротких позиций

case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink);

}

if(result == false)

{

Sleep(3000);

}

}

Print ("Прибыль по счету достигнута. Все открытые сделки закрыты");

return(0);

}

Comment("Баланс: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),

"\nМоя цель прибыли на счете: ",Мои_Деньги_Цель_Прибыли);

}

Что не так?

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

 

Откуда?

Здравствуйте. Я создал некоторый код

int start()

{

//----

Tick++; //Счетчик тиков

datetime time = MarketInfo("EURUSD",MODE_TIME); //Считывается каждый новый тик

Alert("*Tick No: ", Tick, "*Price: ", //со значением тика &

DoubleToStr(Close[0], Digits)," *Time: ", //time.

TimeCurrent());

return; // оператор выхода start()

Теперь мне нужно сохранить Тик 1, 2 и 3 (значение и время). На следующем тике 1,2 и 3 снова. Как мне сохранить данные для расчета позже в программе?

 
Bill FX:
Привет primajaya,

Есть 1 ошибка " '}'

-

несбалансированные круглые скобки"

, когда я ставлю это:

: //Поместите функцию Close_Trade_Profit непосредственно перед return(0);

Close_Trade_Profit();

return(0);

}

void Close_Trade_Profit()

{

int Slippage=5;

int i;

if (AccountProfit()>= My_Money_Profit_Target)

{

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

{

OrderSelect(i, SELECT_BY_POS);

int type = OrderType();

bool result = false;

switch(type)

{

// Закрытие открытых длинных позиций

case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink);

break;

// Закрытие открытых коротких позиций

case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink);

}

if(result == false)

{

Sleep(3000);

}

}

Print ("Прибыль по счету достигнута. Все открытые сделки закрыты");

return(0);

}

Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),

"\nМоя цель прибыли на счете: ",Мои_Деньги_Цель_Прибыли);

}

Что не так?

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

О, черт... Я уверен, что вы совсем новичок в кодировании ML4...

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

://Поместите функцию Close_Trade_Profit прямо перед return(0);

если все еще ошибка.........................................

Пожалуйста, загрузите свой первый советник... если хотите...

Если вы хотите сохранить его в тайне... просто напишите мне...

 
primajaya:
О, Боже... Я уверен, что вы совсем новичок в кодировании ML4...

Я боюсь, что этот комментарий и есть проблема..... просто удалите эту строку...

://Поместите функцию Close_Trade_Profit непосредственно перед return(0);

если все еще ошибка.........................................

Пожалуйста, загрузите свой первый советник... если хотите...

если вы хотите сохранить это в тайне... просто напишите мне...

Хорошо. Готово!

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

 

Двухцветная инди

Привет всем,

Инди внизу (Complex_Pairs1) имеет только один цвет. Может ли кто-нибудь помочь мне, и изменить его на 2 цвета вместо этого. Синий для движения вверх, и красный для движения вниз. Точно так же, как инди на графике (Execute Line).

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

После компиляции ошибок не было, но когда я пытаюсь открыть indi, ничего не происходит.

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

Спасибо!

Klondyke

Файлы:
 

Скользящее среднее по часовым поясам

Есть ли способ рассчитать скользящую среднюю в часовом поясе, отличном от вашего? Например, если ваше время GMT+1, можно ли рассчитать 40-дневную скользящую среднюю, используя цены закрытия GMT-7?

 

исходный код

Привет всем,

Мне нужен исходный код для добавления в мой советник для ограничения времени использования копий советника. Допустим, я дам свой советник кому-то, но я просто позволю ему использовать мой советник в течение 1 месяца, так что не могли бы вы дать мне исходный код, и я просто добавлю его в свой советник?

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

 
Bill FX:
Привет всем,

Мне нужен исходный код для добавления в мой советник лимита времени для использования копий советника. Допустим, я дам свой советник кому-то, но я просто позволю ему использовать мой советник в течение 1 месяца, так что не могли бы вы дать мне исходный код, и я просто добавлю его в свой советник?

Спасибо за вашу помощь,

Пожалуйста, посмотрите эти ссылки:

https://www.mql5.com/en/forum/174194

Защита программ MQL4! | www.metatrader.info

https://www.mql5.com/en/forum/175498

https://www.mql5.com/en/forum/general