我将免费编写指标 - 页 3

 
piiterr:

我对指标的要求最初可能看起来很傻,但事实并非如此。

在RSI的某些部分,MT4将其显示为水平线,似乎RSI读数是相同的......他们不是......如果价格在同一区间内下降或上升,RSI不可能是水平的......只是RSI的变化非常小(小数点后4位),MT4无法明显显示,这里是一个例子。


到目前为止,在这个版本中

我明天会考虑如何改进它

该菜单允许你根据自己的意愿选择线条或箭头

附加的文件:
 

也许更好。

增加了对小变化的搜索 SeekSlowdown = false; 放为true,它只搜索它们

附加的文件:
 

下午好。

我自己不是一个程序员,但我想让我的EA向我发送信号的电子邮件通知。这个任务很简单,也很有效,但当信号条件满足时,他们会发送无限量的电子邮件。

请帮助我每一个信号只发送一封邮件。

下面是我的一个简单移动平均线 的代码例子。我可以添加什么?

int init()
  {
   return(0);
  }
start()
  {
//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma)  {
bool res = SendMail("Сигнал", " Покупай");
}
if(Open[1]<ma && Close[1]>ma) {
SendMail("Сигна", "Продавай");
}
//-------------------------------------------------------------------
   return(0);
  }
 
ev85:

下午好。

我自己不是一个程序员,但我想让我的EA向我发送信号的电子邮件通知。这个任务很简单,也很有效,但当信号条件满足时,他们会发送无限量的电子邮件。

请帮助我每一个信号只发送一封邮件。

下面是我的一个简单移动平均线 的代码例子。我可以添加什么?

关于交易、自动交易系统和策略测试的论坛

初学者的问题

Maxim Kuznetsov, 2016.10.06 14:24

添加数据时间mailTime,并记住发送前的时间,这样你就不必重新发送。

datetime mailTime=0;
int init()
  {
   return(0);
  }

start()
  {
//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma && Time[1]>mailTime)  {
bool res = SendMail("Сигнал", " Покупай");
if (res) mailTime=Time[1];
 }
if(Open[1]<ma && Close[1]>ma && Time[1]>mailTime) {
bool res=SendMail("Сигна", "Продавай");
if (res) mailTime=Time[1];
 }
//-------------------------------------------------------------------
   return(0);
  }

是时候在EA中从start()转移到OnTick()了。

pps.mailTime也应该保存在终端的全局变量中,以便重新启动Expert Advisor。


 

请写一个指标,原理如下。

从第一个范围内的峰值被搜索到24根蜡烛,如果价格越过这个水平并在其后面/下面收盘,在蜡烛收盘时在图表上画一个箭头,并固定2条线(历史上有24根蜡烛)。

此后,新的线条再次出现,一切又开始了。如果你不介意,请添加一个警报。

所有这些在图表上看起来应该是这样的。


我是手绘的,有偏移和不准确之处,但我认为意思很清楚。

提前感谢!

 
Vitaly Muzichenko:

请写一个指标,原理如下。

从第一个范围内的峰值被搜索到24根蜡烛,如果价格越过这个水平,并在它后面/下面收盘,在蜡烛收盘时在图表上画一个箭头,2条线被固定下来(历史上有24根蜡烛)

此后,新的线条再次出现,一切又开始了。如果你不介意,请添加一个警报。

所有这些在图表上看起来应该是这样的。


我是手绘的,有偏移和不准确之处,但我认为意思很清楚。

提前感谢!

部分将类似于PriceChannel 上的策略,周期为24,好的,我将看到
 
Yurij Izyumov:
它将部分类似于PriceChannel 策略,周期为24,好的,我看一下
我看了一下PriceChannel,里面只有断线在这种情况下,显示的内容有点不同,再加上箭头。
 
Vitaly Muzichenko:
我看了一下PriceChannel,它当然会显示一条断线。这里的显示与箭头有点不同。

我知道它坏了。 但问题是它显示的是高点,而你有极点,你需要以不同的方式来做,我会尝试这样做。

 
Yurij Izyumov:

你究竟在哪里重做什么? 你从哪里得到它?

这里有东西https://www.mql5.com/ru/code/354

还有其他的版本,所以给我一些东西来转换它,并描述它是什么。

不是这样的,请注意mt4中的标准 交割指标iExposure.mq4
 
Yurij Izyumov:

我知道它坏了,但问题是它显示的是高点,而你有极点,你需要用一点不同的方式来做,我会尝试去做。

我将尝试再次解释这一原则。

价格在24根蜡烛的间隔内不断寻找最大值。在一个新的蜡烛上,这些线被移动了1个蜡烛,所以你在历史上又得到了24。在极值处画线,当价格突破该线并在其背后/下方收盘时,就会画出一个箭头,线就被固定了。此后,一切都在循环进行。

以下是寻找高点的代码。

 HighRange=iHigh(Symbol(),Period(),iHighest(Symbol(),Period(),MODE_HIGH,24,1));
 LowRange=iLow(Symbol(),Period(),iLowest(Symbol(),Period(),MODE_LOW,24,1));

谢谢您的关注)