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

 
Tretyakov Rostyslav #:

这意味着如果没有订单

是的,或者说如果缩减量低于某个水平。但据我所知,归零与此无关。 如果没有归零,那么就会出现无休止的订单关闭,在我的情况下,有一个订单没有关闭。

 
EVGENII SHELIPOV #:

是的,或者是低于一定水平的缩减。但据我所知,归零与此无关,如果没有归零,那么就会出现无休止的订单关闭,在我的情况下,有一个订单没有关闭。

这是因为在第一个订单被关闭后,这个条件不再起作用。

if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)

所以它不会进一步进入关闭功能。

 
Tretyakov Rostyslav #:

因为在第一个订单结束后,这个条件就不再有效了

这意味着它不能进一步达到关闭的功能。

你认为这个条件存在于平仓指令和平仓函数中,如果我从平仓函数中删除这个条件,会有什么变化吗?

 
EVGENII SHELIPOV #:

你认为这个条件是在平仓指令和平仓函数中,如果我从平仓函数中删除这个条件,会不会有什么变化?

这将加快事情的进展......为什么要把同样的事情检查两次。

顺便说一下,你发布了两个不同的功能

ClosseMinMaxPenultimateOrdersZero()

и

ClosseMinMaxPenultimateOrders()
是这样的意图吗?
 
Tretyakov Rostyslav #:

这将加快事情的进展......为什么要重复检查同样的事情。

顺便说一下,你发布了两个不同的功能

и

这就是它的工作原理吗?

我现在检查了一下,如果没有这个条件,EA的关闭效果很差,所以我不能没有它。

 
Vitaly Muzichenko #:

请帮助我!

我完全没有得到我所期望的东西。我需要阅读日志文件。

应该从这里开始。

#include <WinAPI\\fileapi.mqh>
 
EVGENII SHELIPOV #:

我现在检查了一下,如果没有它,专家顾问的关闭效果很差,所以没有它就没有办法了。

所以他们是不一样的。

               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==1 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
 
Иван FileSeek函数 将指针移到文件的开头,但没有成功。我的智力不足以理解这其中的原因。请解释一下这到底是怎么回事。

怎么样?有谁有线索吗?

 

朋友们,请帮忙。

我有一个 用mql4编写的多货币EA。当然,在测试器中它并不工作。我已经决定,我应该转到mql5。

我已经改编了所有的编译器错误,并修复了它们。,但技术指标的使用除外。我对自己的脑袋没有什么想法。文件是难以理解的,涵盖了两页。也许我找错了地方。

mql4中的一行代码如下

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0) 。

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0) 。

根据文档,整个页面的代码在mql5中发生了变化。处理程序、缓冲区、带参数的数组、这个启动、这个计算、处理程序创建过程中的错误处理......。这真是太疯狂了...也许我找错了地方。

如果我使用几个货币对和几个时间框架,我就会得到 "战争与和平"。

 
Sergey Dymov 一个 用mql4编写的多货币EA。当然,在测试器中它并不工作。我已经决定,我应该转到mql5。

我已经改编了所有的编译器错误,并修复了它们。,但技术指标的使用除外。我对自己的脑袋没有什么想法。文件是难以理解的,涵盖了两页。也许我找错了地方。

mql4中的一行代码如下

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0) 。

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0) 。

根据文档,整个页面的代码在mql5中发生了变化。处理程序、缓冲区、带参数的数组、这个启动、这个计算、处理程序创建过程中的错误处理......。这真是太疯狂了...也许我找错了地方。

如果我使用几个货币对和几个时间框架,我就会得到 "战争与和平"。

int handleSQ=-1;
double BufferSQ[1];
int OnInit()
{

  handleSQ=iCustom(Symbol(),PERIOD_CURRENT,"squares",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3);
  if(handleSQ<0) {
    return(INIT_FAILED);
    Print("handleSQ = ",handleSQ,"  error = ",GetLastError());
  }
//---
  return(INIT_SUCCEEDED);
}

void OnTick()
{

    int copy=CopyBuffer(handleSQ,0,1,1,BufferSQ);
    if(copy<0) Print("Неудачная попытка копирования Squares");
    u1=BufferSQ[0];//iCustom(Symbol(),PERIOD_CURRENT,"squares_v2",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3,i);