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

 
Vitaly Muzichenko #:

我不明白从底部缩进的原则,以便在几行中均匀地排列。

这是我不能开始的地方。

开始时,使底层的价值为1,第二层的价值为2,以此类推。那么你就可以减少它。如果是针对mql4的,那么如果你只有2种颜色,你需要每层有2个缓冲器。对于mql5来说,每个级别应该有2个缓冲区,数据和颜色。垂直度由指示器窗口的高度来调整。

 

请指示,我找不到它。如何将不同班次的服务器时间带入元配号时间。我正在做一些事情,但它在错误的地方,我不喜欢它。我记得Saber甚至提到过夏冬两季的转变,但找不到了。

我的想法如下。我们在所有经纪公司中只有当地的补偿时间。我们不知道其他经纪商的时间班次。当然,我们可以使用终端的全局变量,虽然不是肯定的,也可以使用文件,但这要容易得多--必要的转变直觉。我们获得了经纪人的转变。我们计算差额和TimeShift+差额*3600,考虑到差额的符号。

这是否正确?

已添加。

酷,在MT中,你只能得到GMT时间和当地时间之间的转变,))))服务器时间和GMT...... 之间没有转变

Heh, decided)))基于Dmitry Fedoseyev)))

class CTradeTimeGMT{
protected:
int StartTime;
int EndTime;
int GMTRatio;
public:
void Init(int StartHour, int StartMinute, int EndHour, int EndMinute, int GMTshift){
StartTime=3600*StartHour+60*StartMinute;
EndTime=3600*EndHour+60*EndMinute;
GMTRatio=(GMTshift*3600)-int(((TimeCurrent()-TimeGMT())/3600)*3600);
}
bool Check(){
int CurTime=(int)((TimeCurrent()+GMTRatio)%86400);
if(StartTime<EndTime){
return(CurTime>=StartTime && CurTime<EndTime);
}
else{
return(CurTime>=StartTime || CurTime<EndTime);
}
}
};

input int STARTHour = 16;
input int STARTMinute = 13;
input int ENDHour = 19;
input int ENDMinute = 59;
input int GMTShift=2;   // сдвиг который нужен для всех брокеров при указании времени


CTradeTimeGMT tt;

int OnInit()
  {
//---
  tt.Init(STARTHour,STARTMinute,ENDHour,ENDMinute,GMTShift); 
//---
   return(INIT_SUCCEEDED);

void OnTick()
  {
 FlagTrade=tt.Check();
if( !FlagTrade )return;

// торговое время одинаковое для всех
}
 
你好,我想在市场上发布一个专家顾问,代码很简单,但是在版本部分没有通过验证。 请帮助我理解为什么代码没有通过验证。 在测试报告中有两个错误,第一个是所有的信息都应该是英文,我把它修正了,第二个错误:你应该在策略测试器中增加检查交易功能错误的功能
1.禁止根据时间、交易账户的类型或数量、金融工具等,对产品的操作增加任何限制。
2.对于新闻专家顾问,你可以每天多次生成不同重要性的测试新闻。
3.对于多货币专家顾问,添加只交易一种货币对的能力。我附上专家顾问的代码文件。只有当你可以时,你可以纠正文件中的所有错误,然后解释什么是错误的。
附加的文件:
2nd3.mq4  12 kb
 

请告知在哪里可以 "挖掘 "当价格达到图表上的标准水平线时向同一账户的另一设备发送信号的情况。

预先感谢你,谢谢

 
BIOs #:

请告知在哪里可以 "挖掘 "当价格达到图表上的标准水平线时向同一账户的另一设备发送信号的情况。

预先感谢你,谢谢

两个终端通过DC服务器,只共享交易状态和账户历史。

如果Alice想向Bob发送一个信息,她会发出一个暂停。

或者像杜布罗夫斯基正在寻找另一个杜普罗:-)

 

出现了一个问题。挑战。我的存款为2000美元,杠杆率为100。要下的手是金额的20%,即价值400美元的手。如何计算止损水平,以便对反向报价eurusd、直接usdjpy和交叉gbpchf的损失将是50%。

还有一个问题,禁忌T,在资产选项卡中,我们看到存款的实际金额,但在终端,我们可以看到有杠杆的资金量和杠杆水平?

很明显,我们可以提出要求并获得一切。)

 
Valeriy Yastremskiy #:

出现了一个问题。挑战。我的存款为2000美元,杠杆率为100。要下的手是金额的20%,即价值400美元的手。如何计算止损水平,以便对反向报价eurusd、直接usdjpy和交叉gbpchf的损失将是50%。

还有一个问题,禁忌T,在资产选项卡中,我们看到存款的实际金额,但在终端,我们可以看到有杠杆的资金量和杠杆水平?

很明显,我们可以提出要求并获得一切))))。

我可以看到存款的真实金额,杠杆率为100,保证金水平为60%(我需要知道保证金赌注在哪里)。 在原始信息中,它不知何故没有。如果我的意思是 "存款负荷",即资金的使用。

PS/从最大可能的打开和支持仪器上的很多计数。是100%,你要开1/5(使用20%的资金),从这个量,根据每手的勾股价,计算出止损的水平

 
Maxim Kuznetsov #:

如果你的存款为2000,杠杆为100,保证金水平为60%(你必须知道追加保证金的位置),那么在原始信息中就会莫名其妙地丢失。

如果你的意思是 "存款负荷",换句话说,资金的使用。呵,是的,正是,我没有考虑到在1100的地方自己停止)))),在最小手数0.01,它变成了只是1000。好吧,人们可以做出30%的损失。该问题是关于反比例和交叉比例公式的计算。我确实用脑子理解了,但我必须推导出公式,有时我得到的公式有错误)))。

 
如何通过代码在MT5测试器中 计算存款 负荷?它是存款负载 谢谢你
 
Valeriy Yastremskiy #:

呵,是的,确切地说,我没有考虑到在1100处将停止本身)))),最低手数为0.01,结果只是1000。好吧,人们可以做出30%的损失。该问题是关于反比例和交叉比例公式的计算。我应该用我的头脑去理解,但我必须推导出公式,有时我得到的公式有错误)。

你必须考虑到分值

我可以给你代码,但你要花很长时间才能弄明白,它很大,它还考虑到了保证金的最大可能手数。
原因: