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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Nikolai_korzhok
61
Nikolai_korzhok  
Ребят, всем привет! Смотрите, например, я ставлю условие, если свеча закрывается за МА5 , то на следующей свече вход, стоп 100 пипсов. В тестере, при тестировании по ценам открытия все норм, а если в реале или тестировать по всем тикам, то после закрытия по стопу на той же свече, на какой и была открыта сделка, то опять открывается сделка, потому что условия все еще выполняются. Вот как сделать так, чтобы было также , как и при тестировании по ценам открытия, чтобы на одной свече открывалась только одна сделка, и не переоткрывалась , после закрытия по стопу на той же свече? Если не сложно - киньте ссылку на такую тему, если она уже есть. Заранее спасибо
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Технические индикаторы требуют для своих расчетов указания значений цен и/или значений объемов, на которых они будут считаться. Существуют 7 предопределенных идентификаторов перечисления ENUM_APPLIED_PRICE, для указания нужной ценовой базы расчетов. Если технический индикатор для своих расчетов использует ценовые данные, тип которых задается...
Maxim Kuznetsov
13789
Maxim Kuznetsov  
Nikolai_korzhok:
Ребят, всем привет! Смотрите, например, я ставлю условие, если свеча закрывается за МА5 , то на следующей свече вход, стоп 100 пипсов. В тестере, при тестировании по ценам открытия все норм, а если в реале или тестировать по всем тикам, то после закрытия по стопу на той же свече, на какой и была открыта сделка, то опять открывается сделка, потому что условия все еще выполняются. Вот как сделать так, чтобы было также , как и при тестировании по ценам открытия, чтобы на одной свече открывалась только одна сделка, и не переоткрывалась , после закрытия по стопу на той же свече?

этот вопрос на форуме затёрт до дыр :-)

чтобы открывалась только одна сделка на свече - просто не открывайте вторую сделку на свече.

эпос об искании текущих сделок и обретении индекса свечи, кратко дан в документации.

но если хотите, можем пересказать в лицах и с эмоциями :-)

Nikolai_korzhok
61
Nikolai_korzhok  
Maxim Kuznetsov:

этот вопрос на форуме затёрт до дыр :-)

чтобы открывалась только одна сделка на свече - просто не открывайте вторую сделку на свече.

эпос об искании текущих сделок и обретении индекса свечи, кратко дан в документации.

но если хотите, можем пересказать в лицах и с эмоциями :-)

Если не сложно- киньте ссылку, пожалуйста. или как нормально ее найти в поиске? 

Alexey Viktorov
28147
Alexey Viktorov  
Nikolai_korzhok:

Если не сложно- киньте ссылку, пожалуйста. или как нормально ее найти в поиске? 

Как определить новый бар. Или что-то похожее на эту фразу.

А движок форума сам вставил ссылку на статью.
Evgeniy Chumakov
2761
Evgeniy Chumakov  

1. Выбираешь последний закрытый ордер.

2. Узнаёшь время его закрытия datetime OrderCloseTime()

3. Получаешь номер бара по времени iBarShift()

4. Если номер бара = 0, ордер не открываем

Maxim Kuznetsov
13789
Maxim Kuznetsov  
Nikolai_korzhok:

Если не сложно- киньте ссылку, пожалуйста. или как нормально ее найти в поиске? 

вам уже ответили..

(не в ваш огород камешек) Есть ветки "вопросы новичков по MQL4/5", авторы и звездеющие(обретающие звёзды) там лица не удосужились сделать FAQ чтобы простые/типичные вопросы были на виду. Поэтому только поиск по сайту ;-)

Nikolai_korzhok
61
Nikolai_korzhok  
Evgeniy Chumakov:

1. Выбираешь последний закрытый ордер.

2. Узнаёшь время его закрытия datetime OrderCloseTime()

3. Получаешь номер бара по времени iBarShift()

4. Если номер бара = 0, ордер не открываем

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

Evgeniy Chumakov
2761
Evgeniy Chumakov  
Nikolai_korzhok:


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

Если только абсолютную разницу и сравнением полученных секунд с секундами таймфрейма

Nikolai_korzhok
61
Nikolai_korzhok  
Большое спасибо всем, буду пробовать!
Nikolai_korzhok
61
Nikolai_korzhok  
Evgeniy Chumakov:

Если только абсолютную разницу и сравнением полученных секунд с секундами таймфрейма

Я там там все так усложнил, сравнивал час с часом и число с числом,и из этого уже исходил, но ваш вариант в миллион раз проще и удобнее)

transcendreamer
6427
transcendreamer  
Nikolai_korzhok:
Ребят, всем привет! Смотрите, например, я ставлю условие, если свеча закрывается за МА5 , то на следующей свече вход, стоп 100 пипсов. В тестере, при тестировании по ценам открытия все норм, а если в реале или тестировать по всем тикам, то после закрытия по стопу на той же свече, на какой и была открыта сделка, то опять открывается сделка, потому что условия все еще выполняются. Вот как сделать так, чтобы было также , как и при тестировании по ценам открытия, чтобы на одной свече открывалась только одна сделка, и не переоткрывалась , после закрытия по стопу на той же свече? Если не сложно - киньте ссылку на такую тему, если она уже есть. Заранее спасибо

простейший вариант сделать такую проверку:

   if(Time[0]==saved_time)


при этом переменная saved_time должна быть либо static либо определена на глобальном уровне (не внутри функции)

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий