Насчет WHC - там нельзя одновременно выставить/подправить тейкпрофит
и стоплосс одновременно, все нужно делать по очереди.
А насчет pivot - посмотри код внимательно, там довольно много ошибок.
А насчет pivot - посмотри код внимательно, там довольно много ошибок.
favoritefx просьба - если видите ошибку, назвать. я мысли читать не умею.
Хай-лоу-закрытие-открытие считывает нормально.
С WHC проблем раньше не было - все ставилось нормально. Разве что сначала выставлял пустой ордер а потом добавлял стоп и тейк - и все работает. А тут глюки.
Кстати что с форумом? При вставке вставляет в конец первой строчки и остальные не видит а курсор становится длинной во все строки ниже. Браузер мозилла версия последняя.
С WHC проблем раньше не было - все ставилось нормально. Разве что сначала выставлял пустой ордер а потом добавлял стоп и тейк - и все работает. А тут глюки.
Кстати что с форумом? При вставке вставляет в конец первой строчки и остальные не видит а курсор становится длинной во все строки ниже. Браузер мозилла версия последняя.
Пофиксил называется...
Дописал
Работает... Прям вуду...
Просьба если вы видите ошибки в формуле, расчетах или еще в чем-либо - скажите!
Дописал
BuyZone = NormalizeDouble ( ( close + high + high - low ) / 2.0 , Digits ) ; // ( c + h + h - l ) / 2 SellZone = NormalizeDouble ( ( close + low ) / 2.0 , Digits ) ; // ( c + l ) / 2вместо 2 написал 2.0
Работает... Прям вуду...
Просьба если вы видите ошибки в формуле, расчетах или еще в чем-либо - скажите!
Это так задумано, что функция переменная названы одинаково?
int BE.TR() { if(BE.TR==0) ...
И здесь может не работать в зависимости от переменных. В условии одна переменная, а в стоп-лоссе другая
if(OrderType()==OP_BUY) { if(OrderOpenPrice()<Bid - BE.TR*Point) { if(OrderOpenPrice()>OrderStopLoss()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() + BV.TR*Point,OrderTakeProfit(),0); } }
PSmith - так и задумано, обе переменные внешние.
Трейл пофиксил. Работает.
Проблема с развототными точками. Тоесть Пайвот пойнты.
У кого-нибуть есть индикатор, который считает ВСЕ уровни?
В смысле Pivot, M1 M2 M3 M4, R1 R2, S1 S2?
Главное условие - работа с любым таймфреймом и отображение уровней с дневного графика на протяжении всего дня линиями, чтобы можно было в любой момент обратится и получить одно и то же значение.
А то у меня что-то результаты разные выходяд. Разница небольшая, графики почти совпадают но все же где-то что-то не так.
Использую этот код:
Подскажите пожалуйста, как верхнюю часть заставить работать точно так же как и нижнюю
Трейл пофиксил. Работает.
Проблема с развототными точками. Тоесть Пайвот пойнты.
У кого-нибуть есть индикатор, который считает ВСЕ уровни?
В смысле Pivot, M1 M2 M3 M4, R1 R2, S1 S2?
Главное условие - работа с любым таймфреймом и отображение уровней с дневного графика на протяжении всего дня линиями, чтобы можно было в любой момент обратится и получить одно и то же значение.
А то у меня что-то результаты разные выходяд. Разница небольшая, графики почти совпадают но все же где-то что-то не так.
Использую этот код:
double PivotCalc() { //////////////// parameter initialization ///////////////// SellZone=0;BuyZone=0; double close=0, open=0, high=0, low=0, range=0, move=MinMove.TR*Point; ///////////////////// parameter calculation ///////////////// close=iClose(Symbol(),0,TimeHour(TimeCurrent())+1); open=iOpen(Symbol(),0,TimeHour(TimeCurrent())+24); high=High[ArrayMaximum(High,24,TimeHour(TimeCurrent())+1)]; low=Low[ArrayMinimum(Low,24,TimeHour(TimeCurrent())+1)]; range=high-low; ///////////////////////////////////// pivot calculation //////////////////////////////// if(close>open+move) //trend up { Trend = 1 ; BuyZone = NormalizeDouble ( ( close + high + high - low ) / 2.0 , Digits ) ; // ( c + h + h - l ) / 2 SellZone = NormalizeDouble ( ( close + low ) / 2.0 , Digits ) ; // ( c + l ) / 2 } else if(close<open-move) //trend down { Trend = -1 ; // BuyZone = NormalizeDouble ( ( close + high ) / 2.0 , Digits ) ; // ( c + h ) / 2 SellZone = NormalizeDouble ( ( close + low + low - high ) / 2.0 , Digits ) ; // ( c + l + l - h ) / 2 } else // no trend, side, ranging, whipsawing, ect { Trend = 5 ; BuyZone = NormalizeDouble ( ( close + close + high + high - low ) / 3.0 , Digits ) ; // ( c + c + h + h - l ) / 3 SellZone = NormalizeDouble ( ( close + close + low + low - high ) / 3.0 , Digits ) ; // ( c + c + l + l - h ) / 3 } /////////////////////////////////////////////////////////// return(0); }вместо этого
double range_Tenchi2=0; if(prev_day_Tenchi2==iTime(NULL,PERIOD_D1,0))//checking start of the next bar range_Tenchi2=iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1); if(range_Tenchi2>rangemin_Tenchi2*Point) { if(iClose(NULL,PERIOD_D1,1)>iOpen(NULL,PERIOD_D1,1)) //trend up { BuyZone_Tenchi2=NormalizeDouble((iClose(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1))/2,Digits); SellZone_Tenchi2=NormalizeDouble((iClose(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/2,Digits); Trend_Tenchi2="UP"; } if(iClose(NULL,PERIOD_D1,1)<iOpen(NULL,PERIOD_D1,1)) //trend down { BuyZone_Tenchi2=NormalizeDouble((iClose(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1))/2,Digits); SellZone_Tenchi2=NormalizeDouble((iClose(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1)-iHigh(NULL,PERIOD_D1,1))/2,Digits); Trend_Tenchi2="DOWN"; } } if(range_Tenchi2<=rangemin_Tenchi2*Point) { BuyZone_Tenchi2=NormalizeDouble((iClose(NULL,PERIOD_D1,1)+iClose(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1))/3-iLow(NULL,PERIOD_D1,1)/3,Digits); SellZone_Tenchi2=NormalizeDouble((iClose(NULL,PERIOD_D1,1)+iClose(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3-iHigh(NULL,PERIOD_D1,1)/3,Digits); Trend_Tenchi2="side"; } prev_day_Tenchi2=iTime(NULL,PERIOD_D1,0);эта часть работает вроде нормально но используется 2 вместо 2.0 и т.д.
Подскажите пожалуйста, как верхнюю часть заставить работать точно так же как и нижнюю
Опробовал вариант, найденный в библиотеке функций. Дописал то,
что по идее должно быть проверкой на воскресенье. Запустил -
висим! Перезапускаю МТ4 - зависает при запуске.
Когда будет новый билд с защитой от зацыкленных функций? (баров в истории 2000+ а уже висит - не порядок!)
Попробовал подправить в другом компиляторе - висим! Счас вообще все кроме музыки и браузера позависает....
Когда будет новый билд с защитой от зацыкленных функций? (баров в истории 2000+ а уже висит - не порядок!)
Попробовал подправить в другом компиляторе - висим! Счас вообще все кроме музыки и браузера позависает....
Накопал таки этот индикатор.
Называется
SDX-TzPivots
Огромный респект автору Shimodax.
Нашел в виде кода, значит, индикатор бесплатный - из принципа ничего не покупаю ибо могу написать сам. А если не могу - значит кто-то уже написал :)
Называется
SDX-TzPivots
Огромный респект автору Shimodax.
Нашел в виде кода, значит, индикатор бесплатный - из принципа ничего не покупаю ибо могу написать сам. А если не могу - значит кто-то уже написал :)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот часть кода
Я думаю переменные понятны.
Эта часть кода работает на одном терминале (Альпари, оффлайн)
но НЕ работает на другом терминале (ВХЦ капитал), выдавая ошибку 130
Ошибок при копи-пейсте добавлять я пока не научился, код идентичен в обоих программах.
В альпари вроде бы работает.
В ВХЦ ошибка что ни делай. Результат бектеста соответственно разный.
Раз уж создаю тему то закину и второй интересующий вопрос:
Пишу эксперта который расчет разворотных (pivot) точек проводит через часовой таймфрейм.
Вот только по сравнению с Д1 (не смотря на то что все переменные вроде бы совпадают) выдает разные результаты...
Коды:
для часовика
для дневника
Результат разный...
Кто-то может что-то конкретное сказать?