Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, OnChartEvent() одинаков для обоих языков.
Большое спасибо.
Я также обнаружил, что многие коды, которые были написаны для MT5, теперь работают и на MT4.
Я знаю, потому что я пробовал много вещей в прошлом, и вещи, которые не работали год назад, работают сейчас, так что это показывает, что они по-прежнему активно развивают оба языка.
Я также обнаружил, что многие коды, которые были написаны для MT5, теперь работают и на MT4.
Я знаю, потому что я пробовал много вещей в прошлом, и вещи, которые не работали год назад, работают сейчас, так что это показывает, что они по-прежнему активно развивают оба языка.
if ( Morning || Midnight )
{
// Do not turn on light just for today...
}
// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '?
switch ( Today )
{
case Morning : // Do not turn on light just for today...
break;
case Midnight : // Do not turn on light just for today...
break;
} //---switch Close
Я уже прочитал статью и проверил коды других людей для 'CHARTEVENT_OBJECT_DRAG ', что как использовать его.
Просто я хочу сказать, что когда я перетаскиваю объект "Stop Loss, Take Profit, Pending Orders", что может перемещаться вместе с этим объектом. (конечно, все они могут быть отдельно).Но, к сожалению, это не имеет смысла для меня. Сейчас я думаю, что потратил свое время на бесполезные вещи. Потому что их стиль кода действительно отличается от моего.
(Мой стиль кода просто простой - как стиль кода документации mql4 - который я понимаю немного больше).
Также я видел один скрипт EA для модификации ордеров (sl, tp и т.д.) - и он работает без ' CHARTEVENT_OBJECT_DRAG '... Надеюсь, вы понимаете, что я имею в виду.
Сейчас мне очень нужна помощь в простом примере для ' CHARTEVENT_OBJECT_DRAG ' с объектом HLine или Trendline. Или четкое объяснение или просто что-то хорошее ( / более четкое ) комментарий.
Я уже потратил много времени и все еще изучаю этот вопрос. Надеюсь, я скоро получу ответ.
Всего вам наилучшего.
Заранее спасибо.
if ( Morning || Midnight )
{
// Do not turn on light just for today...
}
Это будет верно Утро ИЛИ Полночь
switch ( Today )
{
case Morning : // Do not turn on light just for today...
break;
case Midnight : // Do not turn on light just for today...
break;
} //---switch Close
Здесь есть отдельный случай для утра и отдельный случай для полуночи.
Так что это две разные вещи.
Я уже прочитал статью и проверил коды других людей для 'CHARTEVENT_OBJECT_DRAG ', что как использовать его.
Просто я хочу, чтобы при перетаскивании объектов "Stop Loss, Take Profit, Pending Orders", которые могут перемещаться вместе с этим объектом. (конечно, все они могут быть по отдельности).Но, к сожалению, это не имеет смысла для меня. Сейчас я думаю, что потратил свое время на бесполезные вещи. Потому что их стиль кода действительно отличается от моего.
(Мой стиль кода просто простой - как стиль кода документации mql4 - который я понимаю немного больше).
Также я видел один скрипт советника для модификации ордеров (sl, tp и т.д.) - и он работает без ' CHARTEVENT_OBJECT_DRAG '... Надеюсь, вы понимаете, что я имею в виду.
Сейчас мне очень нужна помощь в простом примере для ' CHARTEVENT_OBJECT_DRAG ' с объектом HLine или Trendline. Или четкое объяснение или просто что-то хорошее ( / более четкое ) комментарий.
Я уже потратил много времени и все еще изучаю этот вопрос. Надеюсь, я скоро получу ответ.
Всего вам наилучшего.
Заранее спасибо.
Вы можете перетащить линию, когда
OBJPROP_SELECTED ==1
Оба варианта верны, и вы можете просто прочитать значения с помощью \.
Вместо
Я почти не знал, как я могу написать код для Stop Loss и Take Profit Drags, когда я начал делать это, спасибо большое.
Теперь я чувствую, что могу делать то, что хочу, после вашего замечательного комментария.
Рынок закрыт
Итак, я уже попробовал и теперь я могу получить ' OBJPROP_PRICE ', который я хочу.
Когда я перетаскиваю объект ' HLine ' и затем Print() обновляется раз в секунду. Потому что я использую EventSetTimer( 1 ).
Но мне нужно, чтобы Print() не обновлялся раз в секунду. Я бы хотел, чтобы Print() обновлялся после того, как я остановил перетаскивание.
Если вы понимаете меня, пожалуйста, помогите мне или дайте мне совет.
Всего вам наилучшего.
Поэтому вы можете хранить значение OBJPROP_PRICE в double и затем сравнивать их.
Если они отличаются, вы знаете, что началось перетаскивание, а если они снова равны, вы знаете, что перетаскивание было остановлено.
//| Drag Hline.mq4 |
//| Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double price; // price variable;
bool drag; // drag flag
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- create timer
EventSetTimer(1);
//--- create Hline
ObjectCreate(0,"line",OBJ_HLINE,0,0,Ask);
//--- store value
price=ObjectGetDouble(0,"line",OBJPROP_PRICE,0);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy timer
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//--- compare values
if(price!=ObjectGetDouble(0,"line",OBJPROP_PRICE,0))
{
drag=1; // set drag flag
price=ObjectGetDouble(0,"line",OBJPROP_PRICE,0); //store new value
}
if(drag==1)
{
if(price==ObjectGetDouble(0,"line",OBJPROP_PRICE,0))
{
drag=0; //reset drag flag
Alert(" New value set: ", DoubleToString(price));
}
}
}
//+------------------------------------------------------------------+
Или вы можете запустить счетчик, когда обнаружено перетаскивание, есть много способов сделать это,