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

 
Roman:

因为有很多与当前现实不一致的地方。
而你却试图为这些不一致的地方找借口。
恰恰相反,我写的是"√"不等于 "点"!"√"是什么意思?
这是你自己的内部,发明的点。
鉴于点曾经完全对应于一个点,当时只有一个四位数。
但在引入第五位数后,你开始用你的借口编造名字。

不,不是的。你建议距离不应该用点来表示,而应该用刻度线的大小来表示。

那是胡说八道。距离就是距离。而"√"的大小是指价格在一个时间段内移动最小的步骤。

这就是为什么你不要求从A点到B点的距离,而是要求移动这个距离所需的步骤数。

我告诉你--这一切都混在一起......

你的现实是一个有点残酷的现实。它不包含一半的公认概念。有一些东西来自你的头脑。

 
Roman:

可能是因为你必须返回函数的返回值。

谢谢你的答复,但仍然没有解决这个问题......。我需要函数参数"str " 返回到MQL的变化状态。

extern "C" __declspec(dllexport) wchar_t* __stdcall ToString(wchar_t* &str)
{
        str = L"-- Я изменил параметр str :) --"; // Вот это я хочу получить!
        return L"--- Привет! ---";
}

此时,在MQL4中。

#import  "Win32Project1.dll"
   string ToString(string &str);
#import

嗯,还有函数调用 本身。

string str = "";
Print("-> Метод: " + ToString( str ));
Print("-> Параметр: " + str);

其结果是这样的。

也就是说,该值被作为参数传递,但它并不正确...我怎样才能解决这个问题呢?:)

 
Vadim Lin:

谢谢你的答复,但仍然没有解决这个问题......。我需要函数参数"str " 返回到MQL的变化状态。

此时,在MQL4中。

嗯,还有函数调用 本身。

其结果是这样的。

也就是说,该值被作为参数传递,但它并不正确...我怎样才能解决这个问题呢?:)

这位先生休息了24个小时,以便进行拉练。
 
Artyom Trishkin:

如果终端崩溃,将不得不重新启动。该指标将不得不再次放置在图表上,或运行专家顾问,它使用该指标的数据(那么专家顾问在访问该指标时将自己加载该指标)。在这种情况下(甚至在终端的正常重启过程中,自动加载图表上安装的程序),指标将重新绘制所有的线条--不需要保存任何东西。这些线条可以在以后重新阅读。此外,无论如何都要读一读。

对于EA来说,只监测由指标创建的 线,只需查看由指标创建的线的名称,并尝试在名称中找到重复的子串--对所有线都一样。通过这些子串寻找必要的行。

这很简单--只要在指标运行时看一下对象的列表就可以了。

我们正在偏离主题!我们讨论得越多,就越偏离主题!:)

这个人只需要得到EVENT,当价格越过线......

接下来,我开始推测为什么我的例子会有 "问题"......尽管事实上它解决了问题,而这个问题在原则上是既定的。下一步--作者的想象力,我尽可能的帮助))。


如果是离题的话...并使终端机超载,线路就不会走,有可能会留在原地。如果它们被重新命名,或者被标记--你可以用传统的逻辑来计算,这些行已经在某个时候被触发了,应该被忽略。但这不是目前的任务))。此外,假设指标重新画线,那又如何?你将如何确定其中一些人已经触发了?))

如果图表上什么都没有,除了需要监测的线(如作者所说),那么它们甚至不需要按名称过滤。

但当然,我们的想法是根本不画任何线,而是将所有级别保存在一个文件中,并检查其中哪些已经成功了。并对终端进行重载,你会在没有对象名称的情况下记住它们))。

 
Roman:

这些人的逻辑到底在哪里。
由于这个原因,这是一个严重的错误,如果故意这样做,就是转移视线))

彼佳:那什么是逻辑,瓦西里-伊万诺维奇?

V.I.: 好吧,这很简单,看,你有火柴吗?

Petya: 我愿意!

V.I.:所以你抽烟,如果你抽烟,你就喝酒,如果你喝酒,你就和女孩出去玩,明白吗?

Petya: 是的,这很简单!

佩特卡对一个路过的红军人员说:你有火柴吗?

红军男子:不。

Petya: 所以你是一个 "同性恋者"。



LOGIC,嗯,太奇怪了,在LOGIC下,你不需要调整你的期望。

如果一个开发者建立了一个新的数据类型 ENUM_TIMEFRAMES,他将在程序的其他部分进一步使用它,这就是逻辑。


SZS: 当然,可以说MT4是由知道交易需要的人设计的,而 "其他终端 "是由一群外星人写的.....。但我们将超越这个论坛的交流形式,这就是为什么我们不应该谈论破坏 - 我们使用我们所得到的,我们所缺乏的 - 我们自己写,感谢终端的表现是绰绰有余的

像这样

 
Igor Makanu:


LOGIC,嗯,太奇怪了,在LOGIC下,你不需要调整你的期望。

如果开发者建立了一个新的数据类型 ENUM_TIMEFRAMES,这意味着他在程序的其他部分建立了对该类型的进一步使用--这就是逻辑。


SZS: 当然,可以说MT4是由知道交易需要的人设计的,而 "其他终端 "是由一群外星人编写的.....。但我们将超越这个论坛的交流形式,这就是为什么我们不应该谈论颠覆 - 我们使用我们所得到的,我们所缺乏的 - 我们自己写,由于交易终端的生产力太高了

像这样

好在他们不在语法中寻找逻辑,所以经常))))。速度上的逻辑是在时间框架的情况下看到的,但我可能是错的)

 
Igor Makanu:

彼佳:那什么是逻辑,瓦西里-伊万诺维奇?

我听说过另一个版本。

安卡吃鲱鱼?然后她喝水...

合理的结论是,她...可以。

 
Vadim Lin:



但是,如果出价由于某种原因越过了线,而且不等于线的价格,那该怎么办?那么至少提供一个变量,在其中存储以前的刻度线,如果有一个新的刻度线穿过你的线 - 然后做一些动作...但在这种情况下,不要忘记提供"可允许的 "交叉点,因为如果市场将以一个大的缺口开盘,或只是一个大的价格跳跃,你将在许多线上一次性打开,可能没有你想要的地方。如果越界超过了可接受的范围,你将只得到一个信息...

谢谢你的帮助,当你手动设置线并越过这些线时,动作会发生,但由于某些原因,EA没有看到指标线,没有执行我指定的动作。所有指标线的名称中都有以下短语@线(加上编号 "周-4",会发生变化)--能否以某种方式使用这句话?

//+------------------------------------------------------------------+
void OnTick()
  {
//---
        iCustom(Symbol(), 0, "ITS-Level Gun", 0, 0);  
 
        for(int i = ObjectsTotal() - 1; i >=0; i--) {

// все что не горизонтальные линии - игнорируем

        if(ObjectType(ObjectName(i)) != OBJ_HLINE) continue; 

        double PriceLine = NormalizeDouble(ObjectGet(ObjectName(i), OBJPROP_PRICE1), Digits());
        
// измените условие Bid == PriceLine
        
             if(Bid == PriceLine)
             {
  {OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);}
        } 
  
  }
  }
//+------------------------------------------------------------------+
附加的文件:
 
写错了:行本身的名称没有变化,但所有的行的名称中都有一个共同的短语@行
 
Fib0 RU:
写错了:行本身的名称没有变化,但所有的行的名称中都有一个共同的短语@行
if(Bid == PriceLine)

它不会消失。

阅读

Особенности работы с числами типа double в MQL4
Особенности работы с числами типа double в MQL4
  • www.mql5.com
При программировании на языке MQL4 у новичков порой возникают ситуации, когда результаты некоторых математических вычислений отличаются от ожидаемых. При этом программа компилируется и работает, но не так, как нужно. Они начинают разбираться в программе, находят новые "ошибки" в языке, реализации функций и т.п. В большинстве случаев последующий...
原因: