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

 

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

Привет CodersGuru, Не могли бы вы сообщить мне, как код скрипта или советника для OP_SELL или OP_BUY для нескольких пар одновременно в почти то же время.

Например: я хотел бы открыть BUY или SELL EURUSD и USDJPY в то же время.

Спасибо

 

Сделки не закрываются

Кажется, что код прост, но мои сделки не закрываются, когда должны.

В данном примере сделки должны закрываться на пересечении нижнего таймфрейма.

if (CloseSell1_1 > CloseSell1_2) Order = SIGNAL_CLOSESELL;

Файлы:
close.jpg  170 kb
 

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

Спасибо

 
 

Вот как закрыть все открытые ордера

Эта функция закроет все открытые сделки.

int orders = OrdersTotal();

void CloseAll()

{

if (orders>0)

{

for (int cnt = 0 ; cnt < orders ; cnt++)

{

OrderSelect(0,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber() == MagicNumber)

if(OrderType()==OP_BUY)

OrderClose(OrderTicket(),OrderLots(),Bid,3, Violet);

if(OrderType()==OP_SELL)

OrderClose(OrderTicket(),OrderLots(),Ask,3, Violet);

if(OrderType()==OP_BUYLIMIT)

OrderDelete(ticket,Black);

if(OrderType()==OP_SELLLIMIT)

OrderDelete(ticket,Black);

}

}

}

 

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

Спасибо

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

Как насчет того, чтобы добавить код ниже перед кодом takis:

if (TimeCurrent( ) == (время, которое вы хотите закрыть))

не совсем уверен, но это может сработать...

 

Хорошо, также как я могу проверить текущий или предыдущий бар, если была открыта сделка?

Спасибо

 

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

Мне нужен код, который бы делал только один ордер на покупку и на продажу на одном баре на одном ТФ и открывался, если он находится на другом баре. Я могу иметь покупку и продажу на одном и том же баре.

Иногда у меня есть 3 сигнала на 3 разных TF. Я хочу взять все ордера, но я хочу только один ордер на TF и я могу взять другой ордер на другом TF, если он все еще открыт, но на другом баре.

пример:

1 сигнал на 4h

1 сигнал в 1 час, но он падает в баре на 4 часа

1 сигнал в 30 мин, но только один бар для 1ч и 4ч.

3 сигнала будут открыты.

Я не против использования магического числа в качестве фильтра.

Кто-нибудь может мне помочь? Большое спасибо.

Пока что вот что я думаю:

30 минут

if (magicnumber == 123)

{

if (iTime(OrderOpenTime()) != iTime(Symbol(),PERIOD_M30,0))

{//код моего ордера}

}

У меня нет MT4, но я знаю, что что-то не так в логике или коде. Так что ребята, пожалуйста, помогите мне.

Также я думаю, что у нас есть похожая проблема с Matrixebiz.

 

Я добавил уровни к HMA:

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 Black

#property indicator_color2 Red

#property indicator_width1 2

#property indicator_minimum 0

#property indicator_maximum 100

#property indicator_level1 80

#property indicator_level2 60

#property indicator_level3 40

#property indicator_level4 20

#property indicator_levelcolor DarkSlateGray

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