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

 

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15*Point),Bid-(20*Point),Cyan); //Модифицируем стоп-лосс и тейк-профит

return(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Модифицируем стоп-лосс и тейк-профит

return(0);

}

return(0);

}

}

Все ближе, но не до конца! Это действительно испытывает мое терпение!

Дэйв

<<<

 

тогда добавьте следующее, может быть лучше

iscuba11:
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if( OrderOpenPrice() - Ask >= TrailingStop * Point)

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //Модифицируем стоп-лосс и тейк-профит

}

return(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if( Bid - OrderOpenPrice() >= TrailingStop * Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Модифицируем стоп-лосс и тейк-профит

}

return(0);

}

return(0);

}

}

Все ближе, но не совсем! Это действительно испытывает мое терпение!

Dave

<<<
 
Maji:
Пожалуйста, публикуйте свой код в кодах [PHP][/PHP]. Гораздо легче читать и отлаживать отформатированный код.

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

Дэйв <<<
 

тогда добавьте это, может быть лучше[/QUOTE

Это последний прогон бэктестера. Так близко, но так далеко. Напоминает мне мои вьетнамские дни. Посмотрите на прикрепленный .gif с результатами. Я в долгу перед вами за то, что вы по доброте душевной помогли мне пройти через этот трудный момент! Все еще кажется, что есть петля, которая не выходит, как показано в сделке на продажу.

Дэйв <<
 
iscuba11:
Я в долгу перед тобой за то, что ты по доброте душевной помог мне пережить этот тяжелый момент!
Дэйв <<

добро пожаловать!

 

У меня все еще есть петля - черт. Я собираюсь разбиться. Завтра будет еще один день. Этот низкоуровневый язык - самое то для изучения.

Дэйв <<<

/////////////////// ИЗМЕНИТЬ СТОП-ЛОСС И ТЕЙК-ПРОФИТ В НАЧАЛЕ ЦИКЛА СНА /////////////////

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderOpenPrice()-Ask>=TrailingStop*Point)

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15*Point),Bid-(20*Point),Cyan); //Модифицируем стоп-лосс и тейк-профит

}

return(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(Bid-OrderOpenPrice()>=TrailingStop*Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //Модифицируем стоп-лосс и тейк-профит

}

return(0);

}

return(0);

}

}

//////////////////////////////////////////////////////////////////////////////////////

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

 

или, возможно, я неправильно понял вашу цель.

для чего вам нужна функция OrderModify()?

сделать трейлинг стоп или что-то другое?

Пожалуйста, проясните еще раз

 

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

Вместо большого стоп-лосса в 40-50 пунктов и большого тейк-профита в 100 пунктов в каждой открытой сделке, я хотел, чтобы каждая открытая сделка была уменьшена до стоп-лосса в 15 пунктов, а тейк-профит в 100 пунктов был уменьшен до тейк-профита в 25 пунктов.

Затем программа перейдет в спящий режим (стоп), и открытые сделки будут работать без дальнейшего вмешательства программы (спящий режим) - каждая открытая сделка сделает либо 25 пунктов прибыли, либо 15 пунктов убытка и закроется.

Надеюсь, это поможет прояснить назначение модификаций стоп-лосса и тейк-профита. Прошу прощения за недопонимание. Пожалуйста, помогите, если хотите, выполнить эти модификации! Большое спасибо за вашу помощь до сих пор!

Боже, как же я нуждался в сне прошлой ночью!

Дэйв

<<<
 
iscuba11:
Я собираю эту программу по кусочкам. Я близок к ее завершению. К сожалению, по этому языку нет школ, а документация оставляет желать лучшего. Учитывая это, я не имею ни малейшего понятия, о чем вы говорите. Не обижайтесь!
Дэйв <<<

Когда вы собираетесь скопировать и вставить фрагмент кода, выберите маленькую кнопку "php" в верхней части экрана редактирования. В качестве альтернативы вы можете сначала набрать "[ PHP ]"

а затем завершить свой код, набрав "[ /PHP ]" без кавычек и удалив пробелы в квадратных скобках. Посмотрите, что получится

 
Maji:
Когда вы собираетесь скопировать и вставить фрагмент кода, выберите эту маленькую кнопку "php" в верхней части экрана редактирования. В качестве альтернативы вы можете сначала набрать "[ PHP ]", а затем завершить свой код, набрав "[ /PHP ]" без кавычек и удалив пробелы в квадратных скобках. Посмотрите, что получится

Кнопка PHP? Она находится на стороне форума или в редакторе MetaEditor, из которого я копирую код? Я не могу найти кнопку PHP в редакторе MetaEditor.

Dave <<<