Попробуй отфильтровать через pz swing, пока он красный, открываемся только от верхней границы тма(шортим), зеленый, от нижней(покупаем), таймфрейм часовой. Стоп, переворот в обратную сторону pz swing.
Привет можете мне помочь с кодом
//+------------------------------------------------------------------+
// --- Входные параметры эксперта
input int MA_Period = 20; // Период скользящей средней
input double LotSize = 0.1; // Размер лота
// --- Переменные эксперта
double MA; // Значение скользящей средней
double MaxPrice; // Максимальная цена бычьей свечи
double MinPrice; // Минимальная цена медвежьей свечи
//+------------------------------------------------------------------+
//| Инициализация эксперта |
//+------------------------------------------------------------------+
int OnInit()
{
// Установить значение скользящей средней
MA = iMA(NULL, 0, MA_Period, 0, MODE_SMA, PRICE_CLOSE, 0);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Обработка тика |
//+------------------------------------------------------------------+
void OnTick()
{
// Определить текущую цену
double price = SymbolInfoDouble(_Symbol, SYMBOL_BID);
// Определить цену закрытия предыдущей свечи
double prev_close = iClose(NULL, 0, 1);
// Определить минимальную цену медвежьей свечи находящейся перед текущей свечей
double prev_min = iLow(NULL, 0, 2);
// Определить максимальную цену бычьей свечи находящейся перед текущей свечей
double prev_max = iHigh(NULL, 0, 2);
// Определить тип текущей свечи (бычья или медвежья)
bool bullish = price > prev_close;
bool bearish = price < prev_close;
// Проверить сигнал на покупку
if (bullish && price > MA && prev_close < prev_min)
{
// Открыть сделку на покупку
OrderSend(_Symbol, OP_BUY, LotSize, price, 3, 0, 0, "Paradox", 0, 0, Green);
}
// Проверить сигнал на продажу
if (bearish && price < MA && prev_close > prev_max)
{
// Открыть сделку на продажу
OrderSend(_Symbol, OP_SELL, LotSize, price, 3, 0, 0, "Paradox", 0, 0, Red);
}
}
//+------------------------------------------------------------------+
//| Закрытие эксперта |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
// Ничего не делать
}