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

 
你忘记了包括订单量 - 那么计算是正确的...
 
isiklik:
...

请在MQL4中写一段代码

...
这是对那些自己写代码的人的帮助,而不是自由写代码。给我看看你自己想做的代码,但它不起作用。
 

抱歉打扰您的安宁。这是我第一次遇到这种情况。如果我知道如何写代码,我就会自己写。我想创建我自己的EA。现在我所要做的就是编写代码。我用外汇EA生成器完成了剩下的工作。我还没有找到自己制作这一小块的方法。

我将在其他地方寻找它。

 
isiklik:

伙计们,让我们一起生活。:)

这是我的TS的一块,BAY方的所有未平仓交易价格应加总,除以交易数量,再加200点。并在卖出方向上减去200点。

谁可以帮助我编写MQL4代码?

X1 - X公开交易

Y - 未完成交易的数量

该公式应该是这样的:X1 + X2 + X3 + X4 + X.../ Y+200

例如,如果我在BAI中有5笔未完成的交易,我应该把它们加起来,除以5,再加上200。而卖出时的8笔未平仓交易应加总后除以8和200。


请把MQL4中的代码发给我。


非常感谢您!


//Профит для бая и селла
double tp_buy = AvgPrice(OP_BUY, 200);
double tp_sell = AvgPrice(OP_SELL, 200);




//Считаем среднюю цену открытия и прибавляем Отступ (TP)
double AvgPrice (int type, double TP=0)
   {
   double sum_price=0;
   double sum_comission=0;
   double avg_price=0;
   double order_lots=0;
   
   //складываем Лоты, Цену, Комиссии
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      bool i2=false; while(i2==false && !IsStopped())i2=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   
      if(OrderType()==type && OrderSymbol()==_Symbol && Magic==OrderMagicNumber() && OrderCloseTime()==0)
         {
         sum_price += OrderOpenPrice() * OrderLots();
         order_lots += OrderLots();
         sum_comission += OrderSwap()+OrderCommission();
         }
      }
   
   //определяем среднюю цену и прибавляем Отступ
   if (order_lots>0)
      {
      sum_comission = sum_comission / order_lots / MarketInfo(Symbol(),MODE_TICKVALUE) * _Point;
      
      if (type == OP_BUY)
         avg_price = sum_price / order_lots + sum_comission + TP*_Point;
   
      else
         avg_price = sum_price / order_lots - sum_comission - TP*_Point;
      }
   
   return (NormalizeDouble(avg_price,_Digits));
   }
 
Taras Slobodyanik:

非常感谢塔拉斯!

你有这样的错误。我将尝试用谷歌搜索一下。

错误 168: 'AvgPrice' -函数 未定义
错误 168: 'AvgPrice' - 函数未定义
错误256:'Magic'--未声明的标识符
结果:3个错误,0个警告。
 
谁知道呢?计算角度的趋势线的 公式。这个工具在MT4中是根据什么值来计算角度的?
 
Taras Slobodyanik:


谷歌对我一点帮助都没有。我搞不清楚AvgPrice和Magic 有什么问题。

我对这段代码的理解是,它计算佣金、交换、地段。我根本不需要这些。:(

 
isiklik:


谷歌对我一点帮助都没有。我搞不清楚AvgPrice和Magic 有什么问题。

我对这段代码的理解是,它计算佣金、交换、地段。我根本不需要这些。:(

是的,我们也理解100%,这就是 你需要的。
 
Sergey Gritsay:
要做到这一点,你需要在本地计算机之外创建一个服务器,并通过这个服务器传输数据,分别为MT,你需要编写一个处理这些数据的指标或专家顾问,或将终端放在VPN服务器上,并设置一个交易的复制器,从你的账户到你的朋友的账户那里。另一个选择是通过信号 服务复制你在特定水平上执行的交易。一般来说,你必须利用你的财务能力来订购适当的软件。

让我提醒你一下史前的情况。我有一个指标,从csv接收每日数据并在图表上显示它们(水平线)。我已经从一台家用笔记本电脑上创建了一个服务器(很弱,但那里的计算没有必要,会给csv,而且它们非常小)。在测试连接的服务器上,倒是通常的论坛引擎--从外面看来,一切都可以看到。帮助提供建议。这应该是在服务器上从它的指标csv文件中读取的?也就是说,该指标如何与csv数据库进行通信?也许填写引擎fTP服务器或其他东西,可以为MT需要打开一些特殊的端口?还是我在总体上进入了错误的方向?谢谢
 
MosheDayan:

让我提醒你一下史前的情况。有一个指标可以从csv中接收每日数据,并在图表上显示(水平线)。从家里的笔记本电脑上创建了一个服务器(很弱,但那里的计算不需要,会给出csv,而且非常小)。在测试连接的服务器上,倒是通常的论坛引擎--从外面看来,一切都可以看到。帮助提供建议。这应该是在服务器上从它的指标csv文件中读取的?也就是说,该指标如何与csv数据库进行通信?能否填补引擎fTP服务器或其他东西,并能为MT需要打开一些特殊的端口?还是我在总体上进入了错误的方向?谢谢

挖掘MySQL。
原因: