Для получения в торговом советнике значений встроенного или пользовательского индикатора, необходимо предварительно создать его хендл с помощью соответствующей функции. На примерах показано, как воспользоваться тем или иным техническим индикатором при разработке своих программ. Речь идёт о индикаторах, которые непосредственно встроены в язык MQL5. Статья предназначена для начинающих разработчиков торговых стратегий и предлагает простые и ясные способы работы с индикаторами с использованием приложенной библиотеки функций.
我找不到方向,《参考》中哪里说过,当你在交易所执行请求时,不应该包含TP/SL?
我不记得参考资料中有这一条。但就我所知,这是真的。说SL/TP更正确,据我所知,在交易所你必须下单独的订单(有一定的类型和规格)。
原则上,你可以准确地看一下股票终端,灰盒子或说在Quik
PS
例如,这可能与法律有关。 据我所知,美国法律规定停车必须以某种方式进行标记(而不是其他方式)。
我不能确定,但那些在纽约证券交易所(或类似交易所)交易的人,我想他们应该知道具体的内容和方式。
请告诉我如何获取所有iBands的值。
https://www.mql5.com/ru/articles/31
这里有一些有用的东西,但编辑器在编译时没有发现它。
"#include <GetIndicatorBuffers.mqh>"
请告诉我如何获取所有iBands的值。
https://www.mql5.com/ru/articles/31
这里有一些有用的东西,但在汇编中,编辑没有发现
"#include <GetIndicatorBuffers.mqh>"
请告知将专家顾问上传的文件放在哪里。我在MQL5/Files中试了一下。测试仪给出的错误是5004。该指标立即在MQL5/Files中找到相同的文件。什么是错误5004?
请阅读更多信息。
一个以.txt为扩展名的文件。 请求是这样的
int filehandle=FileOpen(fname,FILE_READ|FILE_ANSI,"\n");
if(filehandle!=INVALID_HANDLE) Print("FileOpen: ",FileSize(filehandle)," bytes");
else Print("Operation FileOpen failed, error ",GetLastError());
该错误是
2012.05.09 21:14:14 Core 01 2011.01.01 00:00:00 OperationFileOpen failed, error 5004
该文件位于MQL5/Files文件夹中。检查了1000次。而且该工具加载起来没有任何问题。
建立642。
请告知将专家顾问上传的文件放在哪里。我在MQL5/Files中试了一下。测试仪给出的错误是5004。
位于共享文件夹中的文件既可以从终端也可以从测试器访问。
公共文件夹可以从MetaEditor - File - Open public data folder打开。
位于共享文件夹中的文件既可以从终端也可以从测试器访问。
公共文件夹可以从MetaEditor - File - Open public data folder打开。
它不可能通过测试员的沙盒工作。
你好!
你能告诉我怎样做才能使分钟图在正确的时间画出一条垂直线。我的尝试没有任何进展。
//在一定时间内的垂直线
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots 1
//+----------------------------------------------+
//|图像渲染参数|
//+----------------------------------------------+
//---- 指标线图
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 blue
#property indicator_width1 1
#property indicator_label1 "时间线"
#define RESET 0 // 常数,用于向终端返回命令以重新计算指标。
//+----------------------------------------------+
//| 指示器输入参数|
//+----------------------------------------------+
输入的信息Hour1=10; //时间1
//+----------------------------------------------+
int StartBars;
bool GoodTime。
//---- 动态数组的声明,这将是
//----,进一步作为指标缓冲区使用。
double TimeDataBuffer[]; //
//+------------------------------------------------------------------+
//|用于处理日期的类|
//+------------------------------------------------------------------+
class MyDateClass
{
私下里。
int m_year; // 年份
int m_month; // month
int m_day; // 月份的日期
int m_hour; // 一天中的一个小时
int m_minute; // 分钟
int m_second; //seconds
公众。
//--- 默认构造函数
MyDateClass(void)。
};
//+------------------------------------------------------------------+
//| 默认构造函数|
//+------------------------------------------------------------------+
MyDateClass::MyDateClass(void)
{
MqlDateTime dt;
datetime DT=TimeCurrent(dt)。
TimeToStruct(DT,dt)。
m_hour=dt.hour。
m_minute=dt.min;
m_second=dt.sec。
如果(m_hour==Hour1 &&m_minute==0)GoodTime=true。
DT=StructToTime(dt)。
打印(DT)。
}
//+------------------------------------------------------------------+
//|自定义指标初始化函数
//+------------------------------------------------------------------+
int OnInit()
{
//----,初始化指标标记的全局变量。
StartBars=7。
//----
SetIndexBuffer(0,TimeDataBuffer,INDICATOR_DATA)。
ArraySetAsSeries(TimeDataBuffer,true)。
//---
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标迭代函数|
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[]。
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[]。
const int &spread[])
{
//----,检查计算用钢筋是否充足
如果(rate_total<StartBars)返回(RESET)。
int limit,bar; //
//---- 计算所需的复制数据的数量
//----,以及bar_calculated周期的起始数限制。
if(prev_calculated>rates_total || prev_calculated<=0)//检查指标计算的第一次开始。
limit=rates_total-StartBars; //用于计算所有条形的起始数字。
else limit=rates_total-prev_calculated; // 计算新条目的起始数字
//---
//---- 主要指标计算周期
for(bar=0; bar<limit; bar++)
{
TimeDataBuffer[bar]=0.0。
如果(GoodTime==true)TimeDataBuffer[bar]=2.0。
}
//---为下一次调用返回prev_calculated的值
//---
return(rate_total)。
}
这里是垂直线 的代码。