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

 

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

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

"invalid ticket for OrderDelete function".

Как это решить?

Вот часть кода:

{

int OrderCnt;

for(OrderCnt=0;OrderCnt<total;OrderCnt++)

if(Bid>iBuyPrice){closing = true; OrderDelete(OrderTicket());return(0);}

if(Ask<iSellPrice){closing = true; OrderDelete(OrderTicket());return(0);}

{

OrderSelect(OrderCnt,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderMagicNumber()== magicnumber && OrderType()== OP_BUYSTOP) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderMagicNumber() == magicnumber && OrderType() == OP_SELLSTOP) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderMagicNumber() == magicnumber && OrderType() == OP_SELLLIMIT) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderMagicNumber() == magicnumber && OrderType() ==OP_BUYLIMIT) OrderDelete(OrderTicket());

}

if(!ContinueTrading) Enter=false;

}

return(0);

 

MA Cross со скальпингом и хеджированием

дело закрыто...

 

Вопрос по вычитанию при кодировании советника

Я знаю, что если я хочу сказать 80 пипсов, то я закодирую как 80 * Point.

Но если я хочу закодировать результирующий пипс от вычитания двух валютных значений, должен ли я закодировать A=1.4290-1.4210 / Point? чтобы получить 80 как значение A?

Буду признателен за помощь.

Дэйв

 

не забудьте "()"

должно быть "(1.4290-1.4210 )/ точка".

 

Параметры ICustom

У меня есть два вопроса по поводу ICustom.

Во-первых, если вы не включаете все параметры индикатора в вызов ICustom, правильно ли я понимаю, что недостающие параметры устанавливаются по умолчанию в индикаторе?

Другой вопрос заключается в том, что если в качестве параметра используется неверный тип, выдается ли какое-либо сообщение об ошибке, которое можно определить в stdlib?

Заранее спасибо за ответ

 

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

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

Удачи

Lux

 

Как это сделать

открываем сделку, если сделка проигрывает, добавляем 15 трейлинг стоп, оставляем сделку открытой и открываем новую сделку (советник имеет только 1 открытую сделку в любой момент времени), так что советник теперь работает только с новой сделкой

 

Скрипт для добавления лотов к открытым ордерам в профите

Здравствуйте, кодерсгуру,

Я только что прочитал ваш курс по MT4 и попытался составить скрипт, который

добавляет лоты к открытым ордерам, которые находятся в прибыли.

Также большое спасибо за учебник, он хорошо написан и довольно юморной.....

Вот код:

#property show_inputs

#include

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

//| функция запуска скриптовой программы |

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

int start()

{

int total,cnt,err;

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderProfit() >= 15) // прибыль больше 15 пунктов

if(OrderType()==OP_BUY)

OrderSend(OrderSymbol(),OP_BUY, 0.1, MarketInfo(OrderSymbol(),MODE_ASK), 2, NULL, NULL, NULL, NULL, NULL, CLR_NONE);

else

OrderSend(OrderSymbol(),OP_SELL, 0.1, MarketInfo(OrderSymbol(),MODE_BID), 2, NULL, NULL, NULL, NULL, NULL, CLR_NONE);

err=GetLastError();

Print("error(",err,"): ",ErrorDescription(err));

Sleep(1000);

}

//----

//----

return(0);

}

Есть ли в этом толк, кодерсгуру?

Заранее спасибо, очень признателен...

Будь здоров

Джефф

 

Привет всем

Кто-нибудь может мне помочь. Мне прислали файл и сказали, что я должен сначала "декомпилировать" его в окне metatrader, а затем загрузить индикаторы на график! Что такое компиляция и декомпиляция? Как мне это сделать, а также есть ли pdf с пошаговыми инструкциями о том, как ориентироваться в таких вещах, как загрузка советников и т.д. и других подобных вещах для mt4. Я в порядке с некоторыми вещами в mt4 сейчас, т.е. загрузка индикаторов достаточно проста, но мне нужно понять больше об этом. Большое спасибо.

 

Я думаю - вам нужна компиляция.

Декомпиляция незаконна, как и взлом.

Потому что файлы ex4 загружаются/прикрепляются к окну/графику. Компиляция делается в MetaEditor.

Прочитайте эту тему с самого начала о том, как это сделать.

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