[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 601 1...594595596597598599600601602603604605606607608...631 新评论 elllfix 2012.12.09 11:04 #6001 BeerGod: https://www.mql5.com/ru/forum/131859https://www.mql5.com/ru/forum/131859/page4#434230isCloseLastPosByTake()函数。 该函数返回一个标志,以获利方式关闭最后一个头寸。Flag is up -True- TakeProfit has triggered.旗帜降低 -虚假- 职位因其他原因被关闭。使用外部参数对要考虑的位置进行更精确的选择。 sy- 市场工具的名称。如果你指定这个参数,函数将只考虑指定仪器的位置。默认值"" 意味着任何市场工具。NULL 表示当前的仪器。op- 贸易操作,职位类型。有效值:OP_BUY、OP_SELL 或-1。默认值-1 意味着任何位置。mn- 位置标识符,MagicNumber。默认值-1 表示任何标识符。 谢谢,我自己也看到了KIM的图书馆......(Kim同志显然就像外汇界的MARX一样--写了CAPITAL......我们现在都引用它(即插入我们的EA中))....。在不同的变化中,有近期交易的 "旗帜"...除了我从来没有使用过# includ-....你能简明扼要地解释一下吗?在顶部,我写了#包括(文件名mqh)。但在代码中,我应该把这个功能放在哪里?GetTypeLastClosePos()。然后呢?这将会给我带来什么类型的职位?int GetTypeLastClosePos(string sy="", int mn=-1) { datetime t; int i, k=OrdersHistoryTotal(), r=-1; if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if ((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (t<OrderCloseTime()) { t=OrderCloseTime(); r=OrderType(); } } } } } return(r); }OrderType() ?即:如果(OrderType() ==TRUE ) 做这个和那个......。对吗? elllfix 2012.12.09 11:12 #6002 测试员的功能与在线交易的功能有什么不同? [删除] 2012.12.09 11:22 #6003 理论上,在与贸易服务器的通信中进行错误处理。 [删除] 2012.12.09 11:30 #6004 lottamer: 谢谢,我自己也看到了KIM的图书馆......(KIM同志可能写了外汇世界的大写字母......而我们现在都引用它(即插入我们的专家顾问系统)......)在不同的变化中,有近期交易的 "旗帜"...除了我从来没有使用过# includ-....你能简明扼要地解释一下吗?在顶部我写了# include(文件名mqh)。但在代码中,我应该把这个功能放在哪里?GetTypeLastClosePos()。然后呢?这将会给我带来什么类型的职位?OrderType() ?即:如果(OrderType() ==TRUE ) 做这个和那个......。对吗? 这些函数应该插在return(0)之后。 GetTypeLastClosePos()函数如果有一个买入,将返回0,如果有一个卖出,将返回1,如果历史上没有任何东西,则返回-1。//+------------------------------------------------------------------+ //| 123.mq4 | //| Copyright 2012, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if (isCloseLastPosByTake()==true) Comment("Профит"); else Comment("ХЗ"); //---- return(0); } //+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 19.05.2008 | //| Описание : Возвращает флаг закрытия последней позиции по тейку. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) { datetime t; double ocp, otp; int dg, i, j=-1, k=OrdersHistoryTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderCloseTime()) { t=OrderCloseTime(); j=i; } } } } } } } if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { dg=MarketInfo(sy, MODE_DIGITS); if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; ocp=NormalizeDouble(OrderClosePrice(), dg); otp=NormalizeDouble(OrderTakeProfit(), dg); if (ocp==otp) return(True); } return(False); } elllfix 2012.12.09 11:48 #6005 BeerGod:该函数必须插在return(0)之后。 GetTypeLastClosePos()函数在有买入的情况下会返回0,在有卖出的情况下会返回1,如果历史上没有任何东西,则返回1。 明白了,谢谢。然而,如果该函数是在#include文件中,那么应该如何处理? --- 2012.12.09 11:55 #6006 lottamer: 明白了,谢谢。然而,如果该函数是在一个#include文件中,那么你如何处置它呢? 你是如何理解#include的?就像在文件中或以你自己的方式? Viktar Dzemikhau 2012.12.09 11:57 #6007 我需要猫头鹰在D1的蜡烛开盘时准确下达挂单。我写了一个函数。bool GetTimeToInput() { if(TimeCurrent() == iTime(Symbol(),1440,0) { return(true); } else return(false); }编译员皱起了眉头。'\end_of_program' - unbalanced left parenthesis E:\Insall'd soft's\Forex\Alpari NZ MT4\experts\Gann_2Days.mq4 (228, 4) 每个人都有托架,这很奇怪。如果这个函数被注释掉,代码编译时就不会出现错误。可能出了什么问题?我把函数写成只在 每日蜡烛的 开盘价 打开,这样做对吗? --- 2012.12.09 11:58 #6008 hoz:每个人的括号都在那里,这很奇怪。 不,你有正确的狗在if行中丢失。当然,你很难看到自己眼睛里的木头 :)而我是否真的写了正确的函数,只在当天蜡烛的 开盘价开盘? 不 [删除] 2012.12.09 12:01 #6009 lottamer: 开发商与此毫无关系。:__你应该让它变得简单,而不是 ( Hour()>=10 || Hour()<20 ) Hour()>=10 && Hour()<20一切顺利 问题不是它起作用了,而是如果帮助写得正确,它不应该起作用。 elllfix 2012.12.09 12:03 #6010 sergeev: 你是如何理解#include的?如同多卡的情况,还是以你自己的方式? 如在多卡。有一个文件。EA中提到了这一点。这足以在EA的任何地方使用,例如,以下列方式使用如果isCloseLastPosByTake()<0...? 1...594595596597598599600601602603604605606607608...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
https://www.mql5.com/ru/forum/131859
https://www.mql5.com/ru/forum/131859/page4#434230
isCloseLastPosByTake()函数。
该函数返回一个标志,以获利方式关闭最后一个头寸。Flag is up -True- TakeProfit has triggered.旗帜降低 -虚假- 职位因其他原因被关闭。使用外部参数对要考虑的位置进行更精确的选择。
谢谢,我自己也看到了KIM的图书馆......(Kim同志显然就像外汇界的MARX一样--写了CAPITAL......我们现在都引用它(即插入我们的EA中))....。在不同的变化中,有近期交易的 "旗帜"...
除了我从来没有使用过# includ-....
你能简明扼要地解释一下吗?
在顶部,我写了#包括(文件名mqh)。
但在代码中,我应该把这个功能放在哪里?
GetTypeLastClosePos()。
然后呢?
这将会给我带来什么类型的职位?
OrderType() ?
即:如果(OrderType() ==TRUE ) 做这个和那个......。对吗?
谢谢,我自己也看到了KIM的图书馆......(KIM同志可能写了外汇世界的大写字母......而我们现在都引用它(即插入我们的专家顾问系统)......)在不同的变化中,有近期交易的 "旗帜"...
除了我从来没有使用过# includ-....
你能简明扼要地解释一下吗?
在顶部我写了# include(文件名mqh)。
但在代码中,我应该把这个功能放在哪里?
GetTypeLastClosePos()。
然后呢?
这将会给我带来什么类型的职位?
OrderType() ?
即:如果(OrderType() ==TRUE ) 做这个和那个......。对吗?
这些函数应该插在return(0)之后。
GetTypeLastClosePos()函数如果有一个买入,将返回0,如果有一个卖出,将返回1,如果历史上没有任何东西,则返回-1。
该函数必须插在return(0)之后。
GetTypeLastClosePos()函数在有买入的情况下会返回0,在有卖出的情况下会返回1,如果历史上没有任何东西,则返回1。
明白了,谢谢。
然而,如果该函数是在#include文件中,那么应该如何处理?
明白了,谢谢。
然而,如果该函数是在一个#include文件中,那么你如何处置它呢?
你是如何理解#include的?
就像在文件中或以你自己的方式?
我需要猫头鹰在D1的蜡烛开盘时准确下达挂单。
我写了一个函数。
编译员皱起了眉头。
每个人都有托架,这很奇怪。如果这个函数被注释掉,代码编译时就不会出现错误。可能出了什么问题?
我把函数写成只在 每日蜡烛的 开盘价 打开,这样做对吗?
hoz:
每个人的括号都在那里,这很奇怪。
当然,你很难看到自己眼睛里的木头 :)
而我是否真的写了正确的函数,只在当天蜡烛的 开盘价开盘?
开发商与此毫无关系。:__
你应该让它变得简单,而不是 ( Hour()>=10 || Hour()<20 ) Hour()>=10 && Hour()<20
一切顺利
问题不是它起作用了,而是如果帮助写得正确,它不应该起作用。
你是如何理解#include的?
如同多卡的情况,还是以你自己的方式?
如在多卡。
有一个文件。
EA中提到了这一点。
这足以在EA的任何地方使用,例如,以下列方式使用
如果isCloseLastPosByTake()<0...?