初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1235

 
问题是,有什么方法可以通过程序确定测试器在MT5中运行吗?
 
Maksim Mihajlov:
问题,有什么方法可以通过程序确定测试器在MT5中运行吗?
关于正在运行的MQL5程序的信息--mql5程序的属性,这有助于进一步控制其行为
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
  • www.mql5.com
Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
你好。不知道该问谁,该在哪里写。是否可以通过MT5与Interactive Brokers进行交易?我问了他们一个问题,但他们在回复中扔了一个链接,让我联系https://www.metaquotes.net/ru/company/contacts, 所以这是一个法律实体的表格。在MT5和TWS之间似乎有某种软件的桥梁,你能告诉我有关情况吗?如果有可能用MT5广播购买美国证券交易所的报价,以便看到某个工具的图表并使用MT5指标,但通过TWS进行交易。如果这不是正确的问题,请告诉我应该在哪里写信询问。
Контакты представительств компании MetaQuotes
Контакты представительств компании MetaQuotes
  • www.metaquotes.net
По вопросам приобретения торговой платформы MetaTrader 5 вы можете обратиться к нашим представителям:
 
akarustam:

厌倦了了解MT5中一个好的EA的优化中不断出现差异的原因...在相同的货币对上,使用相同的EA,使用相同的优化参数,优化结果 存在差异。也就是说,我总是使用相同的EA,并期待相同的结果,但事实上它们是不同的......

启发一下,谁熟悉这种混乱的情况?

谢谢你。

大多是未初始化的强制变量或对全局变量的引用(终端中的变量)。

 

帮助,蜡烛图指标

#property tester_everytick_calculate
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_plots   1
//--- plot newCandles
#property indicator_label1  "newCandles"
#property indicator_type1   DRAW_CANDLES
#property indicator_color1  clrWhite
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- indicator buffers
double   newCandles_Open[];
double   newCandles_High[];
double   newCandles_Low[];
double   newCandles_Close[];
int      newCandles_index  = 0;
//--- цены формирующейся свечи
double   candle_Open    = -1.0;
double   candle_High    = -1.0;
double   candle_Low     = -1.0;
double   candle_Close   = -1.0;

int OnInit()
{
//--- indicator buffers mapping
   SetIndexBuffer(0, newCandles_Open,  INDICATOR_DATA);
   SetIndexBuffer(1, newCandles_High,  INDICATOR_DATA);
   SetIndexBuffer(2, newCandles_Low,   INDICATOR_DATA);
   SetIndexBuffer(3, newCandles_Close, INDICATOR_DATA);
//+---------------------
   PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, 0.0);
//+---------------------
   PlotIndexSetString(0,PLOT_LABEL,"newCandles("+IntegerToString(in_Candle_Size_Point)+", "+TimeToString(in_Start_Time,TIME_DATE)+")");
   IndicatorSetString(INDICATOR_SHORTNAME,"newCandles("+IntegerToString(in_Candle_Size_Point)+", "+TimeToString(in_Start_Time,TIME_DATE)+")");
//+---------------------
   ArrayInitialize(newCandles_Open,0.0);
   ArrayInitialize(newCandles_High,0.0);
   ArrayInitialize(newCandles_Low,0.0);
   ArrayInitialize(newCandles_Close,0.0);

//+---------------------
   return(INIT_SUCCEEDED);
}

OnCalculate 执行计算,并在条件满足时填充缓冲区INDICATOR_DATA。

      newCandles_Open[newCandles_index]      = candle_Open;
      newCandles_High[newCandles_index]      = candle_High;
      newCandles_Low[newCandles_index]       = candle_Low;
      newCandles_Close[newCandles_index++]   = candle_Close;

我想,当这些缓冲区被填满时,蜡烛图应该被画出来。但事实并非如此。为什么?

 
Сергей Таболин:

帮助,蜡烛图指标

OnCalculate执行计算,并在条件满足时填充缓冲区INDICATOR_DATA。

我想,当这些缓冲区被填满时,蜡烛图应该被画出来。但事实并非如此。为什么?

完整的代码在哪里?目前还不清楚,你在OnCalculate中到底做了什么。作为一个例子,使用DRAW_CANDLES 帮助。

那么这个带负数价格的蜡烛是什么呢?
 
Vladimir Karputov:

完整的代码在哪里?我不清楚你在OnCalculate中到底在做什么。作为一个例子,使用DRAW_CANDLES 帮助。

那么这个带负数价格的蜡烛是什么呢?

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

MQ5::关于烛台指标的问题。

Sergey Tabolin, 2020.08.05 18:17

埃德加,谢谢你,但对我来说,这很清楚。不清楚的是,为什么2019年之前没有蜱虫?


现在的主要问题是。

为什么指标中没有画出蜡烛?我哪里错了

公共领域来源 ))))

这只是一个初始化,以开始倒计时。价格计算正确。
附加的文件:
newCandles.mq5  21 kb
 
Сергей Таболин:
这只是一个初始化,以开始倒计时。价格的计算是正确的。

在调试中,通过并检查在哪些情况下你的条件会被满足?


 
Vladimir Karputov:

在调试中,通过并检查在哪些情况下你的条件会被满足?


我意识到这可能并不正确。但是!

它是有效的。该条件在指标启动时得到满足。一次。价格是印出来的。然后计算刻度线。它们也是印刷品。

2020.08.06 14:27:31.101 newCandles (USDJPY,H1)  2020.08.05 21:31:16 >>> Свеча 03623 >> open = 105.638 hihg = 105.675 low = 105.473 close = 105.473 > Сформирована за 07539 тиков.
2020.08.06 14:27:31.101 newCandles (USDJPY,H1)  2020.08.06 03:14:33 >>> Свеча 03624 >> open = 105.473 hihg = 105.635 low = 105.395 close = 105.635 > Сформирована за 19034 тика.
2020.08.06 14:27:31.102 newCandles (USDJPY,H1)  2020.08.06 10:54:42 >>> Свеча 03625 >> open = 105.635 hihg = 105.695 low = 105.471 close = 105.471 > Сформирована за 08861 тик.
2020.08.06 14:27:31.102 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора закончен.
2020.08.06 14:27:31.102 newCandles (USDJPY,H1)  Расчёт на тике 00872 Бар 03626
2020.08.06 14:27:31.102 newCandles (USDJPY,H1)  Расчёт на тике 00873 Бар 03626
2020.08.06 14:27:31.102 newCandles (USDJPY,H1)  Расчёт на тике 00874 Бар 03626

但我想知道为什么没有印出烛台。

 
Сергей Таболин:

我意识到,这可能是错误的。但是!

它是有效的。该条件在指标启动时得到满足。一次。价格是印出来的。然后计算刻度线。它们也是印刷品。

但我想知道为什么没有画出烛台。

首先,学习建立基于DRAW_CANDLES的指标。同时,你必须思考什么是 "0 "烛台。

也就是说,直到你甚至接近蜱虫。


要画一个烛台,你必须填满所有四个缓冲区。你不这样做--你跳过newCandles_Close和....。