任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 579

 
Zolotai:

伙计们,请告诉我。有什么办法可以使用脚本或火鸡。

抬高图表。换句话说,窗口的大小应该保持不变。只要提高报价,使其从该水平上被压缩。也就是说,从那个距离或者说,将设定的间隔。

但不是从图表的最底部...

我自己没有检查过,但帮助有https://docs.mql4.com/ru/constants/chartconstants/charts_samples

更加接近页面中间的位置。

//+------------------------------------------------------------------+
//| Функция устанавливает значение высоты графика в пикселях.        |
//+------------------------------------------------------------------+
bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим значение свойства
   if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
 

我正在研究专家顾问的代码,但我有一个关于手数计算的问题。

一切似乎都是正确的,它在测试器中工作正常,但当我把它放在模拟账户 上时,它开了2手,然后产生错误,说没有足够的资金,就这样了。我尝试了这么多不同的解决方案,但都没能解决这个问题。我试图使用我的外汇机器人,但我不知道如何使用它。

我试着替换掉狂欢的公式

double lots = (AccountBalance()*0.0025*Bid);

但这并不奏效。

附加的文件:
lklhykvty2.ex4  18 kb
 
366366:

我正在研究专家顾问的代码,但我有一个关于手数计算的问题。

一切似乎都是正确的,它在测试器中工作正常,但当我把它放在模拟账户上时,它开了2手,然后产生错误,说没有足够的资金,就这样了。我尝试了这么多不同的解决方案,但都没能解决这个问题。我试图使用我的外汇机器人,但我不知道如何使用它。

我试着替换掉狂欢的公式

double lots = (AccountBalance()*0.0025*Bid);

但这并不奏效。

给出一个扩展名为mq4 的文件,而不是ex4
 
paladin80:
给予文件扩展名mq4 而不是ex4


歉意
附加的文件:
 
AlexeyVik:
我自己没有查过,但参考资料是https://docs.mql4.com/ru/constants/chartconstants/charts_samples。

更加接近页面中间的位置。



能否请你说得更具体一些。我应该把它放在指标中还是放在脚本中?

我不擅长编程。我是否必须每次都输入这个函数并调用它?

下面是另一个问题。我应该向这个函数传递什么?

 
366366:

извияюсь
double lots = (AccountBalance()*0.0025*Bid);
 

一句话的建议。

专家顾问使用几个明确规定的TF。

有一个TF没有出现在引文档案中(H1)。

我在1分钟内按开盘价 进行测试

测试员是否自己转换缺失的TF?

因为结果似乎对引证历史中的所有TFs都是一样的

我在哪里可以读到关于它的信息?

 

帮助理解。

开单时,TakeProfit =90,StopLoss =30。订单只在止盈或止损价位时关闭。它们的数值相差3倍,在测试专家顾问 时的策略测试报告中,最大盈利交易=平均盈利交易=最大亏损交易=平均亏损交易。只有当我增加止盈和止损比例时,情况才会改变。我无法理解为什么会这样。帮我搞清楚。

 
Roger:
double lots = (AccountBalance()*0.0025*Bid);


这是欧元兑美元货币对 杠杆为1:500时的手数计算公式。

原来的公式是不同的,但也是为了1:500的杠杆率。

改成了我自己的: double lots = (AccountBalance()*0.0025*Bid)。

问题仍然存在,它还开了2个地段。

 
hoz:

我不太理解这个问题的原因。至于算法,那是你的选择。至于代码,那里并不复杂。烛台有高点、低点、开盘和收盘价。而当这些数据可用时,如果有必要,你可以获得任何其他市场数据,包括费波水平。

我不熟悉斐波那契,但感谢你提示什么方向,我一直在关注高点和低点,已经很久了。