Evet. EA, H1 saatinde çalışır ve 10:17'de bir pozisyon açabilir, 11:00'den önce, yani mevcut çubukta yapılmalıdır - artık açılmayacaktır.
Mevcut çubuğun açılış saatini bir işlemin açılış saati ile karşılaştırın. iTime < (açık fiyat zamanı) ise tekrar açmayın. Ticaret açılış zamanı, global bir değişkende saklanabilir veya geçmişten alınabilir.
Herkese iyi günler. Kâse makinesini yeniden yazıyorum - geri dönüş yolum yok ;-) piyasa emirlerinde her şey yolunda gidiyor - hata yok ... ama 130 ve 4107 hataları ve geçersiz fiyat ((.
Açılış fiyatını bu şekilde alıyorum.
{ //--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+//-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+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 );
} //--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+//КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ОТОЛЖЕННЫХ ПРОДАЖ И ПОКУПАК//-------------------------------------------------------------------------------------------------+
Zararı ve kârı durdurun ben böyle alıyorum
//+--- НАЧАЛО РАСЧЁТА 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 ); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
//} // КОНЕЦ ПРОВЕРКИ НА НОЛЬ //+--КОНЕЦ РАСЧЁТА ПРОФИТА---------------------------------------------------------------------- Разделитель ---+
Bu durum alındıktan sonra stop seviyesi modasında kontroller yapılır ve hesaplanan açılış fiyatının satış fiyatından yüksek olup olmadığı kontrol edilir.
Buy stop'u kendim açıyorum bu şekilde
/*УСЛОВИЕ 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//-------------------------------------------------------------------------------------------------+
Soru - Bu hataları ortadan kaldırmak için neleri dikkate almadım?
Herkese iyi günler. Kâse makinesini yeniden yazıyorum - geri dönüş yolum yok ;-) piyasa emirlerinde her şey yolunda gidiyor - hata yok ... ama 130 ve 4107 hataları ve geçersiz fiyat ((.
DanilaMactep : Attığınız kodu nereye eklemek istediğinizi hiç anlamadım. Hata istisnasının ne olduğunu ve nereye ekleneceğini parçamdan vurgulayabilir misiniz?
DanilaMactep : emayo- Neyi değiştireceğime yetişemiyorum. Ne olduğunu renkle vurgulamak mümkün mü - yeşil ve yeşili neye dönüştürmek için kırmızı?
{ //--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+//-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+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 );
} //--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+
Evet. EA, H1 saatinde çalışır ve 10:17'de bir pozisyon açabilir, 11:00'den önce, yani mevcut çubukta yapılmalıdır - artık açılmayacaktır.
Hata ayıklamaya 00.00'dan değil, belirli bir zamandan başlamak mümkün mü (kaydırma seçeneği hariç). Birisi biliyorsa, bana nasıl olduğunu söyle?
Hata ayıklama modunda manuel olarak işlem yapabilir miyim, örneğin açık bir siparişi bir baykuşla manuel olarak kapatabilir miyim?
Herkese iyi günler. Kâse makinesini yeniden yazıyorum - geri dönüş yolum yok ;-) piyasa emirlerinde her şey yolunda gidiyor - hata yok ... ama 130 ve 4107 hataları ve geçersiz fiyat ((.
Açılış fiyatını bu şekilde alıyorum.
{ //--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+ //-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+ 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 ); } //--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+ //КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ОТОЛЖЕННЫХ ПРОДАЖ И ПОКУПАК//-------------------------------------------------------------------------------------------------+Zararı ve kârı durdurun ben böyle alıyorum
Bu durum alındıktan sonra stop seviyesi modasında kontroller yapılır ve hesaplanan açılış fiyatının satış fiyatından yüksek olup olmadığı kontrol edilir.
Buy stop'u kendim açıyorum bu şekilde
Soru - Bu hataları ortadan kaldırmak için neleri dikkate almadım?
Herkese iyi günler. Kâse makinesini yeniden yazıyorum - geri dönüş yolum yok ;-) piyasa emirlerinde her şey yolunda gidiyor - hata yok ... ama 130 ve 4107 hataları ve geçersiz fiyat ((.
4107 hariç tut
4107 hariç tut
Attığınız kodu nereye eklemek istediğinizi hiç anlamadım. Hata istisnasının ne olduğunu ve nereye ekleneceğini parçamdan vurgulayabilir misiniz?
eklemeyin, değiştirin
eklemeyin, değiştirin
emayo- Neyi değiştireceğime yetişemiyorum. Ne olduğunu renkle vurgulamak mümkün mü - yeşil ve yeşili neye dönüştürmek için kırmızı?
{ //--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+ //-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+ 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 ); } //--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+MT4 test cihazında diğer enstrümanlardan çubuk fiyat verilerini ve tik hacmini almak mümkün müdür?
Dene.