Можете стейт сделок выложить, если говорите что вручную торговали ??? и ще, какой фрейм использовать?
когда цена открытия и закрытия будущей свечи выше цены открытия и закрытия предыдущей свечи.
Вообще-то в момент появления свечи Open[0]=Close[ 0]
Написал советника. Слив на любом ТФ
//+------------------------------------------------------------------+ //| OpenCloseStoch.mq4 | //| Copyright © 2008 Gryb Alexander | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008 Gryb Alexander" #property link "" extern double lot = 0.1; extern double stopLoss = 10; extern double takeProfit = 15; datetime curTime; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(OrdersTotal()==0) { //Покупаем if((iStochastic(NULL,0,9,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,9,3,3,MODE_SMA,0,MODE_SIGNAL,0))&&(Open[0]>Open[1])) OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-stopLoss*Point,Ask+takeProfit*Point); //Продаем if((iStochastic(NULL,0,9,3,3,MODE_SMA,0,MODE_MAIN,0)<iStochastic(NULL,0,9,3,3,MODE_SMA,0,MODE_SIGNAL,0))&&(Open[0]<Open[1])) OrderSend(Symbol(),OP_SELL,lot,Bid,3,Ask+stopLoss*Point,Ask-takeProfit*Point); } else { //Закрываем OrderSelect(0,SELECT_BY_POS); if((OrderType()==OP_BUY)&&(iStochastic(NULL,0,9,3,3,MODE_SMA,0,MODE_MAIN,0)<iStochastic (NULL,0,9,3,3,MODE_SMA,0,MODE_SIGNAL,0))&&(Open[0]<Open[1])) OrderClose(OrderTicket(),OrderLots(),Bid,3); if((OrderType()==OP_SELL)&&(iStochastic(NULL,0,9,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic (NULL,0,9,3,3,MODE_SMA,0,MODE_SIGNAL,0))&&(Open[0]>Open[1])) OrderClose(OrderTicket(),OrderLots(),Ask,3); } //---- return(0); } //+------------------------------------------------------------------+
Для новеньких, - алгоритм стандартного советника должен бы сооответствовать следующей структуре.
1. Предваритальные ограничения (запреты по времени, запреты по номерам счетов, на Демо-Реал)
2. Расчитываем условия закрытия ордеров
3. Пересчитываем существующие ордера, если наступили условия закрытия данного ордера - закрываем его.
4. Расчитываем условия открытия ордеров.
5. Расчитываем лоты. Если денег не хватает, то ордера уже можно не открывать.
6. Открываем ордера.
Когда советник соответствует такой структуре, в нём не возникают ошибки ниоткуда...
Очень интересный советник... Попробовал на указанных ТФ - М1. Сливает очень хорошо. Начиная с М15 уже результат гораздо лучше. А вот на Н1 и медвежьем рынке поднимает депо в несколько раз! С 10 000 до 76 000 поднял на тесте. Поэтому очень заинтересовал.
Не мог понять одного - при всех тестах советник совершает ТОЛЬКО короткие сделки. Ни одной (!) сделки на покупку! Пока не смог найти причину...
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
open_close&stochastic_strategy:
Author: Ilnaz