来自一个 "傻瓜 "的问题 - 页 222

 
TVA_11: 它不在终端(导航仪窗口)。那里的一切看起来都很标准,与编译前一样。

顾问

顾问

例子

更多...

终端 => Ctrl+N(导航仪) => 打开其中一个文件夹(指标、专家顾问或脚本) => 搜索所需程序的名称。
 
TVA_11: https://www.mql5.com/ru/code/103 这个专家顾问。首先,我创建了我在专家顾问中的内容。然后我在那里插入了程序文本。

你最初在测试器中运行专家顾问吗?

TVA_11 : 在任何变量中都没有一笔交易。怎么了?

日志文件怎么说?

 

看起来那个专家顾问根本就没有交易。

从别人那里放进来,从任何两个酒吧到哪里交易,它就在哪里工作。

现在我正试图弄清楚如何正确交易。

每个专家顾问都有自己的方法)。

20_200 专家_v4.2_AntS.mq5

我正试图了解它是如何工作的,以及它的交易是否正确。

 
TVA_11:

...

什么不是专家,你得到你自己的方法 )。

...

代码库中的专家只是作为一个实施的例子。当然,并不总是高质量和全功能的。再多的东西,你要么自己做,要么订购。
 

我不明白,在MetaEditor中,可以打开新的代码窗口(上下文菜单=>新窗口)。如果你改变其中一个窗口,另一个窗口也会发生同样的变化。

在《帮助》中,只写了这一点。

  • 新窗口 - 在一个新的窗口中打开当前标签的副本 这时,副本的序列号将被添加到标签名称中

新窗户是用来做什么的?

 

你好,谁能解释一下win api。创建了一个对话框,CreateDialog()函数。为什么即使在使用关键部分时,窗口函数也不能原子化地执行?

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
        lock.LockObject();              // Далее нужно атомарное выполнение.
        MessageBoxA(NULL, "", "", MB_OK);               // При запуске программы, вылетает пачка сообщений (одновременно).
        lock.UnlockObject();    // Переводим в свободное состояние (критическая секция).

    return FALSE;
}
 

在标准的MC指标中,我们添加了 !IsStoped(),用于。

for(int i=pos;i<rates_total && !IsStopped();i++)

你能告诉我为什么要这样做,是为了什么?

 
paladin800:

如果循环很长(或永久),如何才能在不终止终端过程 的情况下中断它?当用户发出命令--从图表中删除脚本时,该函数将返回true(在此事件之前为false)。因此,后续迭代的条件将不被满足。

Ордерa, позиции и сделки в MetaTrader 5
Ордерa, позиции и сделки в MetaTrader 5
  • 2011.01.05
  • MetaQuotes Software Corp.
  • www.mql5.com
Надежный торговый робот не может быть создан без понимания механизмов работы торговой системы MetaTrader 5. Клиентский терминал получает от торгового сервера информацию о позициях, ордерах и сделках. Чтобы правильно обработать эти данные средствами MQL5 необходимо хорошо представлять как происходит взаимодействие mql5-программы и среды исполнения терминала.
 
220Volt:

如果循环很长(或永久),如何才能在不终止终端过程 的情况下中断它?当用户发出命令--从图表中删除脚本时,该函数将返回true(在此事件之前为false)。因此,后续迭代的条件将不被满足。

好吧,现在我觉得有道理了。我刚刚把它与MQL4进行了比较,没有发现区别。

新年快乐!

 

请帮助,给我发一个如何使用ORDER_TIME_SPECIFIED的 例子,我不能使订单的到期时间正确。

下面是一个代码片段

int need_year_AUDUSD=mqldt.year;
int need_mon_AUDUSD=mqldt.mon;
int need_day_AUDUSD=mqldt.day;
int need_hour_AUDUSD=mqldt.hour;
int need_min_AUDUSD=mqldt.min+15;
int need_sec_AUDUSD=mqldt.sec;
string need_year2_AUDUSD=IntegerToString(need_year_AUDUSD,0,' ');
string need_mon2_AUDUSD=IntegerToString(need_mon_AUDUSD,0,' ');
string need_day2_AUDUSD=IntegerToString(need_day_AUDUSD,0,' ');
string need_hour2_AUDUSD=IntegerToString(need_hour_AUDUSD,0,' ');
string need_min2_AUDUSD=IntegerToString(need_min_AUDUSD,0,' ');
string need_sec2_AUDUSD=IntegerToString(need_sec_AUDUSD,0,' ');
string date_AUDUSD=(need_year2_AUDUSD+".0"+need_mon2_AUDUSD+".0"+need_day2_AUDUSD+" "+need_hour2_AUDUSD+":"+need_min2_AUDUSD+":"+need_sec2_AUDUSD);
datetime b_AUDUSD=StringToTime(date_AUDUSD);


trade.BuyStop(0.1,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D,qwerty,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D-SL,SymbolInfoDouble(qwerty,SYMBOL_ASK)+D+TP,ORDER_TIME_SPECIFIED,b_AUDUSD);

我知道,这一切都很曲折,但我在某个时候找不到一个例子,不得不自己做,现在它变得很烦人,很麻烦。