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

 

Проблема последней сделки

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

Как заставить советника проверить текущий и предыдущий бар, чтобы узнать, закрылась ли убыточная сделка, и была ли она длинной или короткой?

(Если бы она закрылась убыточно в противоположном направлении, это было бы нормально).

Если можно, покажите код.

 
Big Be:
Я хочу не принимать сделку, если сделка только что закрылась убыточно в направлении, которое я рассматриваю.

Как заставить советника проверять текущий и предыдущий бар, чтобы узнать, закрылась ли убыточная сделка, и была ли она длинной или короткой?

(Если она закрылась прибыльно в противоположном направлении, то это нормально).

Покажите код, если можете.

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

void CheckOrderHistory(){

// orders history is most recent at the bottom

// zero based so OrdersHistoryTotal()-1

for(int i=OrdersHistoryTotal()-1; i > -1;i--){

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) break;

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC_NUMBER && (OrderType() == OP_SELL || OrderType() == OP_BUY)){

switch(OrderType()){

case OP_BUY:

// do something here...

return(0);

break;

case OP_SELL:

// do something here

return(0);

break;

default:

break;

}

}

}

}

 

запрос скрипта, который закрывает два последних ордера

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

Например, если текущий OP - sell, то если скрипт выполнится, то скрипт закроет две последние позиции buy, сделанные исторически в соответствии с временем их открытия.

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

 

Есть ли новости по этому поводу?

Это значение просадки является ключевым числом!

Есть ли у вас успешный скрипт / советник, который вычисляет и сохраняет это значение?

@all

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

Вопрос в максимальной отрицательной сумме против нас, начисленной во время торговли. Это и есть просадка.

Я ищу такой советник / скрипт.

 

в чем разница? между

val=High;

и

val=iHighest(NULL,PERIOD_H1,MODE_HIGH,20,4);

будет ли значение отличаться на каждом новом баре?

 
fercan:
в чем разница? между

val=High;

и

val=iHighest(NULL,PERIOD_H1,MODE_HIGH,20,4);

будет ли значение отличаться на каждом новом баре?

iHighest - номер бара с самой высокой ценой.

High - максимальная цена этого бара

 
Roger09:
iHighest - это номер бара с самой высокой ценой High - высокая цена этого бара

Исходя из моего примера, в чем разница между этими двумя вариантами?

 
fercan:
Исходя из моего примера, в чем разница между этими двумя функциями?

Как объяснялось выше, iHighest вернет сдвиг бара с наибольшим значением, а High сообщит вам фактическое максимальное значение бара.

Таким образом, если текущий бар имеет сдвиг 0, а вы спрашиваете iHighest, скажем, за последние 13 баров, результат может быть, например, 9, что означает, что 10-й бар назад имел самое высокое значение. Теперь, если вы хотите действительно узнать значение, вам нужно использовать функцию High.

Удачи

Lux

 
luxinterior:
Как объяснялось выше, iHighest вернет сдвиг бара с наибольшим значением, а High сообщит вам фактическое значение максимума бара.

Так, если текущий бар смещен на 0, а вы спрашиваете iHighest, скажем, за последние 13 баров, результат может быть, например, 9, что означает, что 10-й бар назад имел самое высокое значение. Теперь, если вы хотите действительно узнать значение, вам нужно использовать функцию High.

Удачи

Lux

Хорошо, спасибо, Люкс...

 

Суммарные длинные и короткие позиции

Привет всем,

Подскажите, пожалуйста, как программно найти общее количество открытых длинных позиций и общее количество открытых коротких позиций в MT4? Мне не нужно общее количество всех открытых позиций вместе. Мое требование заключается в том, чтобы я держал одинаковое количество открытых коротких и длинных позиций в одно и то же время. Например:

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

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