如何从其他货币对导入买入/卖出价? - 页 2

 

好吧,我已经阅读了市场信息文件,意识到你只能拉出买入/卖出价格。我怎样才能拉出6个柱子前的价格数据(HLOC)?


说实话,我花了很多时间阅读文档,但它不像其他语言如Python或PRT那样有帮助,所以我只是想寻求一些指导。

谨此致意。

 
Simone Gill:

好吧,我已经阅读了市场信息文件,意识到你只能拉出买入/卖出价格。我怎样才能拉出6个柱子前的价格数据(HLOC)?


说实话,我花了很多时间阅读文档,但它不像其他语言如Python或PRT那样有帮助,所以我只是想寻求一些指导。

敬请关注。

使用iOpen()、iClose()、iHigh()和/或iLow()。

 

嗨,专业人士。

当我看到这个话题时,我真的很生气,很抱歉把它提出来。但由于我也遇到了同样的问题,我决定在这里发表评论。

下面是我的代码。

double Ask2,Bid2;

----------------------------

void start()

{

Ask2=MarketInfo("GBPUSD",MODE_ASK);
Bid2=MarketInfo("GBPUSD",MODE_BID);
Comment(Ask2, Bid2);

}


评论显示:00

为什么不能从另一个符号中导入 Ask和Bid?


希望得到任何建议,
Hossein

 
HosseinKOGO: 为什么不能 从其他符号导入卖出和买入?
在MT4上。除非当前的图表是引用的那个特定的货币对/TF,否则在访问价格之前,您必须 处理4066/4073 错误。
MQL4 EA中的下载历史 - MQL4 和 MetaTrader 4 - MQL4 编程论坛

在MT5上:除非图表是该特定货币对/TF,否则您必须 从服务器上同步终端数据。
时间序列和指标访问/数据访问 - MetaTrader 5的算法/自动交易语言的参考资料
将服务器数据与终端数据同步 - 符号 - 常规 - MQL5编程论坛

 
William Roeder:
在MT4上。除非当前的图表是引用的那个特定的货币对/TF,否则在访问价格之前,您必须 处理4066/4073 错误。
MQL4 EA中的下载历史 - MQL4 和 MetaTrader 4 - MQL4 编程论坛

在MT5上:除非该图表是特定的货币对/TF,否则你必须 从服务器上同步终端数据。
时间序列和指标访问/数据访问 - MetaTrader 5的算法/自动交易语言参考资料
将服务器数据与终端数据同步 - 符号 - 常规 - MQL5编程论坛

谢谢你的帮助。

我使用eareview.net的Tick Data Suite,在回测之前,我已经下载了包括GBPUSD在内的目标货币对的历史。此外,Journal也没有给我任何错误。这是关于整合的问题吗?我是否应该通过联系Tick Data Suite支持来寻找解决方案?

(我使用MQL4进行编码)
 

谁能在GBPAUD-4H图表上进行回测时 试试这个代码?我真的被卡住了:(
你得到的评论是00吗?

double Ask2,Bid2;

----------------------------

void start()

{

Ask2=MarketInfo("GBPUSD",MODE_ASK);
Bid2=MarketInfo("GBPUSD",MODE_BID);
Comment(Ask2, Bid2);

}
 
HosseinKOGO: 我使用eareview.net的Tick Data Suite,在回测之前,我已经下载了我的目标货币对的历史数据,包括英镑兑美元。此外,Journal也没有给我任何错误。这是关于整合的问题吗?我是否应该通过联系Tick Data Suite支持来寻找解决方案?

这与TDS没有关系。你必须 访问数据之前 让终端读入数据。"在访问价格之前 "的哪部分不清楚?

HosseinKOGO : 我真的被卡住了:( 你收到00的评论吗?

当你无视你所得到的帮助时,你就会一直这样。"必须处理 "的哪一部分不清楚?

 
William Roeder:

这与TDS没有关系。你必须 访问数据之前 让终端读入数据。"在访问价格之前 "的哪部分不清楚?

当你无视你所得到的帮助时,你就会一直这样。"必须处理 "的哪一部分不清楚?

对不起,我是新手,我不明白你的意思。实际上,我根据你的建议弄明白的是 "等待下载第二个货币对的历史和当前价格数据,然后再做任何事情。"

你能不能给我进一步的细节,我应该用你发布的这段代码做什么?

#define  HR2400 PERIOD_D1 * 60    // 86400 = 24 * 3600
int      TimeOfDay(datetime when=0){      if(when == 0)  when = TimeCurrent();
                                          return( when % HR2400 );            }
datetime DateOfDay(datetime when=0){      if(when == 0)  when = TimeCurrent();
                                          return( when - TimeOfDay(when) );   }
#define  SYMBOL string
#define  THIS_SYMBOL ""
bool  download_history(ENUM_TIMEFRAMES period=PERIOD_CURRENT){
   return download_history(_Symbol, period); 
}
bool  download_history(
      SYMBOL            symbol=THIS_SYMBOL,     ///< The symbol required.
      ENUM_TIMEFRAMES   period=PERIOD_CURRENT   /**< The standard timeframe.*/){
   if(symbol == THIS_SYMBOL)     symbol = _Symbol;
   if(period == PERIOD_CURRENT)  period = _Period;
   datetime today = DateOfDay();
   ResetLastError();
   datetime other = iTime(symbol, period, 0);
   if(_LastError == 0 
   && today == DateOfDay(other)) return true;   
   if(_LastError != ERR_HISTORY_WILL_UPDATED
   && _LastError != ERR_NO_HISTORY_DATA
      Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError));
   return false;
}

我已经把上面的代码复制到我的全局区域,它给了我错误和警告。

我也把这行代码复制到了我的启动函数 中。

while(!download_history(PERIOD_M15) ){ Sleep(1000); RefreshRates(); }

你能不能告诉我,我应该在什么地方插入足够的信息和标点符号?

再次为我的低水平技术道歉...

 
  1. HosseinKOGO: 它给了我错误和警告。

    HosseinKOGO :你能不能给我进一步的细节,我应该对你发布的这个代码做什么?

    1. 你连这样的小修正 都搞不清楚吗?
      int      TimeOfDay(datetime when=0){      if(when == 0)  when = TimeCurrent();
                                                return( int( when % HR2400) );            }
      
        if(_LastError != ERR_HISTORY_WILL_UPDATED
         && _LastError != ERR_NO_HISTORY_DATA
         )  Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError));
      

    2. 你已经为一个EA发布了代码。
      while(!download_history(PERIOD_M15) ){ Sleep(1000); RefreshRates(); }
 
William Roeder:
    1. 你连这么小的修正 都搞不清楚吗?

    2. 你已经为EA发布了。

谢谢你的答复。

事实上,我并不是程序员,但我曾尝试过编写一些EA。我的工作与创意和策略有关,所以我为制作EA想了600-700个点子,直到现在还在制作它们。我只是能编写非常简单的EA,我不习惯你的高水平编码......

我已经把这些代码放到我的EA中,但它只返回这个错误: 2019.05.06 15:37:56.586 2018.01.02 00:00:07 MyEA!GBPAUD,H4: iTime(GBPUSD,240) 失败: 0

我正在尝试将GBPAUD作为我的开盘图,将GBPUSD作为我的第二个货币对。

问题出在哪里?