좋은 오후에요 여러분. 나는 Grail 기계를 다시 작성하고 있습니다 - 나는 돌아갈 방법이 없습니다 ;-) 모든 것이 시장 주문으로 잘 열립니다 - 오류 없음 ... 그러나 오류 130 및 4107 및 잘못된 가격(((.
나는 이렇게 개통 가격을 얻는다.
{ //--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+//-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+int max_bars= iHighest ( NULL , // ТЕКУЩИЙ СИМВОЛ
PeriodForWork_pending_orders, // ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРАMODE_HIGH , // ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ХАЙ
range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ
); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕdouble max_Price= iHigh ( Symbol (), // СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-)
PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА
max_bars // НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;)
);
if (max_Price-(Ask+ 2.2 *(Ask-Bid)) < 0.0 )
{
max_Price = Ask+ 2.2 *(Ask-Bid);
} else
max_Price = max_Price;
//КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ПОКУПАК//-------------------------------------------------------------------------------------------------+//----ПОЛУЧЕНИЕ ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПРОДАЖ//-------------------------------------------------------------------------------------------------+int min_bars= iLowest ( NULL , // ТЕКУЩИЙ СИМВОЛ
PeriodForWork_pending_orders, // ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРАMODE_LOW , // ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ЛОУ
range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ
); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕdouble min_Price= iLow ( Symbol (), // СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-)
PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА
min_bars // НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;)
); // --ПОЛУЧИЛ МИНИМАЛЬНУЮ ЦЕНУ ДЛЯ ОТКРЫТИЯ ОТЛОЖКИif (min_Price+(Ask- 2.2 *(Ask-Bid)) < 0.0 ) // ПРОВЕРКА ДЛЯ ИЗБЕЖАНИЯ ОШИБКИ 130
{
min_Price = Ask+ 2.2 *(Ask-Bid);
} else
min_Price = min_Price;
//-----ДОБАВЛЕНИЕ ФИЛЬТРА К ОТОЛЖКАМ ЕСЛИ ФИЛЬТР ВКЛЮЧЕНif (use_filter==en_c_filbtpom)
{ //ЕСЛИ ВКЛЮЧЕКНЫ ОТЛОЖКИ С ФИЛЬТРОМdouble filter_buy= Filter_buy* Point ; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР БАЙ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫdouble filter_sell= Filter_sell * Point ; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР СЕЛЛ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫ
filter_buy= NormalizeDouble (filter_buy, Digits ); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР БАЙ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ
filter_sell= NormalizeDouble (filter_sell, Digits ); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР СЕЛЛ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ
max_Price= max_Price+filter_buy; //МАКС ПРАЙС ПРИБАВИЛ ЗНАЧЕНИЯ ФИЛЬТРА, ЧТО БЫ ОТЛОЖКА ВСТАЛА ЧУТЬ ВЫШЕ НАЙДЕННОГО ХАЙ
min_Price= min_Price- filter_sell; // ОТ МИН ПРАЙС ОТНИМАЮ ЗНАЧЕНИЕ ФИЛЬТТР СЕЛ, ЧТОБЫ ОТЛОЖКА ВСТАЛА ЧУТЬ НИЖЕ НАЙДЕННОГО МИНИМУМА...
max_Price= NormalizeDouble (max_Price, Digits );
min_Price= NormalizeDouble (min_Price, Digits );
} //--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+//КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ОТОЛЖЕННЫХ ПРОДАЖ И ПОКУПАК//-------------------------------------------------------------------------------------------------+
Stop Loss and Profit I get this like
//+--- НАЧАЛО РАСЧЁТА STOPLOSS ----------------------------------------------------------------------------+if (tip_sl==en_po_atr) //ЕСЛИ ТИП СТОП ЛОССА СТОИТ ПО АТР ТО ВЫСЧИТЫВАЕМ ЕГО ИЗ АТР
{
sl= NormalizeDouble ( iATR ( NULL ,PeriodForWork_sl,atr_sl_period, 1 ), Digits ); // ПРИСВАЕВАЕМ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАif (sl<stoplevel) // ЕСЛИ СТОПОЛС МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
sl= NormalizeDouble (stoplevel* 1.5 , Digits ); //СТОП ЛОССУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
else// ИНАЧЕ- ТО ЕСТЬ ЕСЛИ СТОП ЛОСС ФИКСИРОВАННЫЙ В ПУНКТАХ
{
sl= NormalizeDouble (razmer_fikc_sl* Point , Digits ); // ПРИСВАЕВАЕМ ФИКСИРОВАНОНЕ ЗНАЧЕНИЕ СТОП ЛОССАif (sl<stoplevel) // ЕСЛИ СТОПОЛС МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
sl= NormalizeDouble (stoplevel* 1.5 , Digits ); //СТОП ЛОССУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
//+--- РАСЧЕТ STOPLOSS ЗАВЕРШЕН -------------------------------------------------------------------+//+--НАЧАЛО РАСЧЁТА ПРОФИТА---------------------------------------------------------------------- Разделитель ---+if (sl > 0 )
//{// НАЧАЛО ПРОВЕРКИ НА НОЛЬ
tp=sl*tp_v_R; // ВЫЧИСЛЯЕМ ПРОФИТ УМНОЖАЯ СТОП ЛОС НА КОЛИЧЕСТВО РИСКА
tp= NormalizeDouble (tp, Digits ()); // НОРМАЛИЗУЕМ ПРОФИТ, ЧТОБЫ РАБОТАЛО НА ЛЮБЫХ КАТИРОВКАХ// ПРОВЕРКА ТЕЙК ПРОФИТА НА СТОП ЛЕВЕЛ ОТ МАКАРА--if (tp<stoplevel) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
tp= NormalizeDouble (stoplevel* 1.5 , Digits ); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
//} // КОНЕЦ ПРОВЕРКИ НА НОЛЬ //+--КОНЕЦ РАСЧЁТА ПРОФИТА---------------------------------------------------------------------- Разделитель ---+
이 케이스를 받으면 스탑 레벨 패션에 체크가 있고 계산된 오픈 가격이 매도호가보다 높은지 확인합니다.
나는 이대로 구매 스톱을 엽니 다.
/*УСЛОВИЕ 1*///-------------------------------------------------------------------------------------------------+if (f_condition1())
{ // НАЧАЛО УСЛОВИЕ 1//-------------------------------------------------------------------------------------------------+if (ao_buy!= EMPTY_VALUE && count_orders_stop_buy == 0 && count_orders_market_buy == 0 && max_Price>Ask)
{ //НАЧАЛО ПРОВЕРКИ УСЛОВИЯ 1 НА ОТКРЫТИЕPrint ( "БАЙ СТОП ДИВЕРГЕНЦИЯ AO УСЛОВИЕ 1" );
if ( OrderSend ( Symbol (),OP_BUYSTOP,lot,max_Price,slippages,max_Price-sl,max_Price+tp , Coment,Magik_number, TimeCurrent ()+order_life_time)) Print ( "OPEN BUY STOP DIVERGENCE AO " ); // ОТКРЫВАЕМ ОТЛОЖЕННЫЙ БАЙ ОРДЕРif ( GetLastError ()== 141 ){ Alert ( GetLastError ()); ExpertRemove ();} // ПРОВЕРКА ОТ ДОЛБАНИЯ СЕРВЕРА И БАНА СЧЁТА
} //КОНЕЦ ПРОВЕРКИ УСЛОВИЯ 1 НА ОТКРЫТИЕ
} //--- КОНЕЦ УСЛОВИЕ1//-------------------------------------------------------------------------------------------------+
DanilaMactep : emayo- 무엇을 변경해야 하는지 따라잡을 수 없습니다. 녹색을 색상으로 강조 표시하고 녹색을 무엇으로 변경하려면 빨간색을 강조 표시할 수 있습니까?
{ //--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+//-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+int max_bars= iHighest ( NULL , // ТЕКУЩИЙ СИМВОЛ
PeriodForWork_pending_orders, // ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРАMODE_HIGH , // ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ХАЙ
range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ
); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕdouble max_Price= iHigh ( Symbol (), // СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-)
PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА
max_bars // НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;)
);
if (max_Price-(Ask+ 2.2 *(Ask-Bid)) < 0.0 )
{
max_Price = Ask+ 2.2 *(Ask-Bid);
} else
max_Price = max_Price;//КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ПОКУПАК//-------------------------------------------------------------------------------------------------+//----ПОЛУЧЕНИЕ ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПРОДАЖ//-------------------------------------------------------------------------------------------------+int min_bars= iLowest ( NULL , // ТЕКУЩИЙ СИМВОЛ
PeriodForWork_pending_orders, // ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРАMODE_LOW , // ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ЛОУ
range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ
); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕdouble min_Price= iLow ( Symbol (), // СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-)
PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА
min_bars // НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;)
); // --ПОЛУЧИЛ МИНИМАЛЬНУЮ ЦЕНУ ДЛЯ ОТКРЫТИЯ ОТЛОЖКИif (min_Price+(Ask- 2.2 *(Ask-Bid)) < 0.0 ) // ПРОВЕРКА ДЛЯ ИЗБЕЖАНИЯ ОШИБКИ 130
{
min_Price = Ask+ 2.2 *(Ask-Bid);
} else
min_Price = min_Price;//-----ДОБАВЛЕНИЕ ФИЛЬТРА К ОТОЛЖКАМ ЕСЛИ ФИЛЬТР ВКЛЮЧЕНif (use_filter==en_c_filbtpom)
{ //ЕСЛИ ВКЛЮЧЕКНЫ ОТЛОЖКИ С ФИЛЬТРОМdouble filter_buy= Filter_buy* Point ; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР БАЙ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫdouble filter_sell= Filter_sell * Point ; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР СЕЛЛ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫ
filter_buy= NormalizeDouble (filter_buy, Digits ); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР БАЙ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ
filter_sell= NormalizeDouble (filter_sell, Digits ); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР СЕЛЛ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ
max_Price= max_Price+filter_buy; //МАКС ПРАЙС ПРИБАВИЛ ЗНАЧЕНИЯ ФИЛЬТРА, ЧТО БЫ ОТЛОЖКА ВСТАЛА ЧУТЬ ВЫШЕ НАЙДЕННОГО ХАЙ
min_Price= min_Price- filter_sell; // ОТ МИН ПРАЙС ОТНИМАЮ ЗНАЧЕНИЕ ФИЛЬТТР СЕЛ, ЧТОБЫ ОТЛОЖКА ВСТАЛА ЧУТЬ НИЖЕ НАЙДЕННОГО МИНИМУМА...
max_Price= NormalizeDouble (max_Price, Digits );
min_Price= NormalizeDouble (min_Price, Digits );
} //--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+
네. EA는 H1 시간에 작동하며 10:17에 위치를 열 수 있습니다. 11:00 이전에 완료되어야 합니다. 즉, 현재 막대에서 더 이상 열리지 않습니다.
00.00이 아니라 특정 시간(스크롤하는 옵션 제외)부터 디버깅을 시작할 수 있습니까? 아시는 분 계시면 방법 좀 알려주세요?
디버그 모드 에서 수동으로 거래할 수 있습니까? 예를 들어 올빼미와 함께 미결 주문을 수동으로 닫을 수 있습니까?
좋은 오후에요 여러분. 나는 Grail 기계를 다시 작성하고 있습니다 - 나는 돌아갈 방법이 없습니다 ;-) 모든 것이 시장 주문으로 잘 열립니다 - 오류 없음 ... 그러나 오류 130 및 4107 및 잘못된 가격(((.
나는 이렇게 개통 가격을 얻는다.
Stop Loss and Profit I get this like
이 케이스를 받으면 스탑 레벨 패션에 체크가 있고 계산된 오픈 가격이 매도호가보다 높은지 확인합니다.
나는 이대로 구매 스톱을 엽니 다.
질문 - 이러한 오류를 제거하기 위해 고려하지 않은 것은 무엇입니까?
좋은 오후에요 여러분. 나는 Grail 기계를 다시 쓰고 있습니다 - 나는 돌아갈 방법이 없습니다 ;-) 모든 것이 시장 주문과 함께 완벽하게 열립니다 - 오류가 없습니다 ... 그러나 오류 130 및 4107 및 잘못된 가격(((.
4107 제외
4107 제외
나는 당신이 버린 코드를 추가하려는 위치를 전혀 이해하지 못했습니다. 내 글에서 오류 예외가 무엇이며 어디에 삽입해야 하는지 강조할 수 있습니까?
추가가 아니라 변경
추가가 아니라 변경
emayo- 무엇을 변경해야 하는지 따라잡을 수 없습니다. 녹색을 색상으로 강조 표시하고 녹색을 무엇으로 변경하려면 빨간색을 강조 표시할 수 있습니까?
MT4 테스터에서 다른 악기의 막대 가격 데이터와 틱 볼륨 을 가져올 수 있습니까?
시도 해봐.