新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1126

 

大家好,请告诉我,我想把止损放在某根蜡烛的低点后面,但不超过预定的点数,我该怎么做?

我的做法是:从最后一个收盘的蜡烛图的低点开始取4个蜡烛图,如果小于200点,就在15点的低点止损,如果大于15点,就直接在200点止损。我不能在图表上使用它,我不知道如何放置止损,如果它们低于200点。我最近才开始学习这门语言。我用Ask代替了最后一支蜡烛的鼓点,仍然是

if(Close[1]-Low[4]>=NormalizeDouble(StopLoss*Point,5))
   sl = (Close[1] - NormalizeDouble(StopLoss*Point, 5));  //Рассчет стопа для покупок
else
   sl = Low[4]-NormalizeDouble(15*Point,5);
tp = NormalizeDouble(Ask + TakeProfit*Point, 5);  //Рассчет тейка для покупок);
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, sl, tp, "С1 БАЙ", Magic, 0, clrBlue);
return;
 
Nikolai_korzhok:

大家好,请告诉我,我想把止损放在某根蜡烛的低点后面,但不超过预定的点数,我该怎么做?

我的做法是:从最后一个收盘的蜡烛图的低点开始取4个蜡烛图,如果小于200点,就在15点的低点止损,如果大于15点,就直接在200点止损。我不能在图表上使用它,我不知道如何放置止损,如果它们低于200点。我最近才开始学习这门语言。我已经把最后一个蜡烛的条款改成了Asc,它仍然留下了同样的废话。我在哪里犯错了?

...

我想请你插入正确的代码。


 
Artyom Trishkin:

请正确插入代码。



完成了,论坛上的第一个帖子是我的)对不起

 
Nikolai_korzhok:

完成了,论坛上的第一个帖子是我的)对不起

我也会成为一个讨厌的人(不是因为我是,而是为了让人们能够舒适地阅读你的代码--你需要帮助,而不是他们)。

在编辑器中,有一个 代码样式器。按Ctrl+<,你的代码就变得可读了。

Стилизатор - Разработка программ - Справка по MetaEditor
Стилизатор - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Стилизатор позволяет быстро привести оформление исходного кода к рекомендуемому стандарту. Это делает код легко читаемым, выглядящем профессионально. Грамотно оформленный код гораздо проще читать и анализировать в последующем как его автору, так и другим пользователям. Чтобы запустить стилизатор, нажмите " Стилизатор" в меню "Сервис" или...
 
Artyom Trishkin:

我也要说几句(不是因为我,而是为了让人们能够舒适地阅读你的代码--你需要帮助,而不是他们)。

在编辑器中,有一个 代码样式器。按Ctrl+<,你的代码就变得可读了。

完成了,希望它是好的...
 
Artyom Trishkin:

在MQL5中,数组只通过引用传递到函数中 - appersand是必需的。而且它的位置并不重要。

我明白了,谢谢你。在MQL4中,数组是否被传递给函数?

编辑。

我一直在思考,完全迷失了方向。我在哪里可以看到关于变量 和数组的声明 以及对它们的引用?

令我困惑的问题是,如果我们使用引用,为什么要指定变量/数组的类型?在声明一个数组和一个变量时,我们有义务这样做,不是吗?

 
Valeriy Yastremskiy:

我明白了,谢谢你。在MQL4中,数组是否被传入函数?

double AverageFromArray(constdouble& array[],int size)

我找到了,但为什么它是一个数组常数呢?我的意思是常数组可以传入4中的一个函数?

 
Nikolai_korzhok:

大家好,请告诉我,我想把止损放在某根蜡烛的低点后面,但不超过预先定义的点数。我怎么做呢?

我的做法是:从最后一个收盘的蜡烛图的低点开始取4个蜡烛图,如果小于200点,就在15点的低点止损,如果大于15点,就直接在200点止损。我不能在图表上使用它,我不知道如何放置止损,如果它们低于200点。我最近才开始学习这门语言。我已将最后一个蜡烛图的条款改为Asc。

我试着用同样的方法(以https://www.mql5.com/ru/forum/111497/page1100#comment_3077789 主题中的一个例子),但它是有效的。它没有将止损点放在低点的后面。

if(NormalizeDouble(Ask-Low[4]+200*Point,5)>=0)
   sl = (Close[1] - NormalizeDouble(StopLoss*Point, 5));  //Расчет стопа для Покупок
else
   sl = NormalizeDouble(Low[4]-10*Point,5);
tp = NormalizeDouble(Ask + TakeProfit*Point, 5);  //Расчет тейка для продаж);
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, sl, tp, "С1 БАЙ", Magic, 0, clrBlue);
return;
[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
  • 2011.01.05
  • www.mql5.com
Здрасти, вот зарегился и решил сразу создать тему. Будет думаю правильно, так как у самого куча вопросов...
 

日安,先生们。

关于追踪止损的问题,正确的方法是什么?

通常在函数中使用拖曳止损,我在某处听说不能在每个tick上修改,否则经纪人会因为我的要求太频繁而禁止我。

我看了一下内置跟踪止损的工作原理,它只有一个设置,并且在每一个点上都会修改,(有时会修改几次,有经纪人的责骂)。

我看了一下众所周知的教程,这是一个混乱的问题。

这里,如果SL被设置为0,就会被立即修改。

我想出的办法是这样的。

这是否正确?

 
请有人也回答我的请求:# 11237