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

 
7777877:

Подскажите пожалуйста, если есть способы, как сбросить сюда код размером более 4 Мб (или сбрасывать его сюда по частям?) ?

Весь мой код созданный за пять лет составляет 22 мегабайта. Это несколько тысяч индикаторов, советников и скриптов
 
Мой код составляет 15 кБ (размер файла mq4), но при попытке его отправить (с помощью ссылки srs, к-я указана в строке с интсрументами), мне выдается собщение, что мое сообщение превышает положенный размер и сообщение не отправляется. Т.к. внизу указано, что аксимальный размер файла равен 4 Мб, то я и подумал, что каким-то образом при обработке моего вопроса, происходит увеличение размера файла
 
7777877:
Мой код составляет 15 кБ (размер файла mq4), но при попытке его отправить (с помощью ссылки srs, к-я указана в строке с интсрументами), мне выдается собщение, что мое сообщение превышает положенный размер и сообщение не отправляется. Т.к. внизу указано, что аксимальный размер файла равен 4 Мб, то я и подумал, что каким-то образом при обработке моего вопроса, происходит увеличение размера файла

Используйте ссылку внизу Прикрепить файл
 
Vinin:

Используйте ссылку внизу Прикрепить файл
Файлы:
rsis.mq4  16 kb
 
TarasBY:

Данная задача требует уточнения:

  • Ваши вводимые параметры (STPOLOSS, TAKEPROFIT и т.д.) должны быть введены с учётом 4\2-ёх знаков!!!

Igor и Viktor, большое Вам спасибо!
 
7777877:
Почитайте про массивы в документации. Один вариант - сделать статический массив, т.е. массив с заранее объявленным размером: double a[55443], другой - массив динамический, т.е. объявить массив неопределенного размера double a[], а затем в коде программы определить/рассчитать нужный нам размер: ArrayResize(a,N)
 

Помогите пожалуйста разобраться:)
Как передвинуть отложенный ордер?
Пробовал сначала удалять и ставить новый,но что-то не получается

int NewOrder(int Cmd,double Lot){

...

TP=PR+TakeProfit*Point;

SL=PR-StopLoss*Point;

Proverka();

tic=OrderSend(Symbol(),Cmd,Lot,PR,5,TP,SL,0,1,0,CLR_NONE);

if(tic<0) {Print("Ошибка открытия ордера: ",GetLastError());

return(0);}

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

void Proverka()

{

for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер

{

if (OrderSelect(i-1,SELECT_BY_POS)==true)

{

if (OrderSymbol()!= Symbol()) continue;

if (OrderType() == OP_BUY || OrderType() == OP_SELL) continue;

int tic=OrderTicket();

OrderDelete(tic);Print("Delet",tic);

}

}


}

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

 
Ali007:

Помогите пожалуйста разобраться:)
Как передвинуть отложенный ордер?
Пробовал сначала удалять и ставить новый,но что-то не получается

Если тип Вашего ордера не меняется, то его можно передвинуть, выделив по OrderTicket(), функцией OrderModify(), где указать новые значения цены открытия и СТОПов.

...и значения переменных, передаваемые в торговые функции, нужно нормализовать (цену, СТОПы). А этот цикл перебор ордеров:

for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер

лучше заменить на обратный:

for(int i=OrdersTotal() - 1; i >= 0; i--) // Цикл перебора ордер
{
   if (OrderSelect (i, SELECT_BY_POS)==true) 

Также не правильно организовано формирование стопов:

TP=PR+TakeProfit*Point;
SL=PR-StopLoss*Point;

Для разных типов отложенных ордеров СТОПы будут рассчитываться по-разному.

СОВЕТ! Если самому пока тяжело, возьмите ЛЮБОЙ работающий с отложенниками советник и оттуда возьмите или функции для работы с ордерами или расчёты их СТОПов.

 
TarasBY:

Если тип Вашего ордера не меняется, то его можно передвинуть, выделив по OrderTicket(), функцией OrderModify(), где указать новые значения цены открытия и СТОПов.

...и значения переменных, передаваемые в торговые функции, нужно нормализовать (цену, СТОПы). А этот цикл перебор ордеров:

лучше заменить на обратный:

Также не правильно организовано формирование стопов:

Для разных типов отложенных ордеров СТОПы будут рассчитываться по-разному.

Спасибо,понял)))
 

Здравствуйте! Помогите, пожалуйста, разобраться:

Как работает виртуальный трейлинг стоп?

Чем он лучше обыкновенного?

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

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