如何编码? - 页 204 1...197198199200201202203204205206207208209210211...347 新评论 zygmunt11 2009.09.10 16:19 #2031 MT-4,请帮助我。 MT-4请帮助我,我想制作一个DMI+和DMI-的交叉文件。我想在DMI+和DMI-移动的瞬间获得信号,而不需要ADX。我很关心这个问题。我写在下面,但请创建这个文件,将其移动到MF4。 //+------------------------------------------------------------------+ //| ADXcross EXPERT | //| Perky_z | | //| | //+------------------------------------------------------------------+ #属性版权 "Perky_z@yahoo.com " #property link "http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/" //+--------------------------------------------------------------------------------------------------+ //| 与ADXcrosses Indicator一起使用时发出警报,它们不需要一起运行。 //+--------------------------------------------------------------------------------------------------+ //对+和-DI线的交叉发出警报 // 我在15分钟图表上使用它 //虽然在任何时间框架上看起来都不错 //使用其他指标来确认这个触发器。 //---- 输入参数 双b4plusdi,b4minusdi,nowplusdi,nowminusdi。 //---- //---- 指标 在这部分代码中,按你的要求改变周期(每行14个改为4个),这应该在你放置图表的这个标架上工作。 b4plusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1)。 nowplusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0)。 b4minusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1); nowminusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0)。 How to code? [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. [Archive!] Any rookie question, SPACECHIMP 2009.09.10 22:34 #2032 这是在关闭部分手数,但是......没有完全做到我所期望的那样。 我不知道它在做什么,但当价格不在我想要的位置时,似乎关闭了1手。 也许你能看到这里的问题。 当出现买入且价格上涨0.00071(只是一个随机数字,我在1分钟图表上测试)时,应该关闭1手。 或者当出现卖出,价格下降0.00071时,关闭1手。 顺便说一下,使用一个5位数的经纪人。只有一个交易是开放的,而且只有这个EA,所以没有滚动的订单。 谢谢你的帮助! 如果(IsConnected() &&IsTradeAllowed()) while (IsTradeContextBusy())Sleep(75); 如果(OrdersTotal()>0){OrderSelect(0, SELECT_BY_POS,MODE_TRADES); RefreshRates()。 如果(Bid >= (OrderOpenPrice()+ (.00071)) && OrderLots() == 2 && (OrderType() == OP_BUY){ OrderClose(OrderTicket(),1,Ask,10,R ed); } 如果(Ask <= (OrderOpenPrice()- (.00071)) && OrderLots() == 2 && (OrderType() == OP_SELL)){ OrderClose(OrderTicket(),1,Bid,10,B lue); }} [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 编码帮助 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. lumanauw 2009.09.11 02:02 #2033 当一笔交易有(一次)正的利润,但仍低于经纪商的止损水平(尚未触及追踪)时,是否有可能制作一个代码,在收支平衡(利润=0)时关闭交易? 对于一个10点止损位的经纪商,只有当利润达到至少10点时,追踪系统才能发挥作用。 很多时候,我看到一个交易只到了5或8个点,然后又回到了它的止损点上。 所以我在考虑这个问题,但不知道怎么做。 如何为EA制作一个收支平衡的代码,类似于追踪止损,但在最低经纪商的止损水平以下工作? Roger09 2009.09.11 02:05 #2034 致SPACECHIMP 当我们打开订单时,我们使用买入价,卖出价。当关闭时,则相反。 lovely 2009.09.12 02:18 #2035 我认为它非常有用 FulltimeTrader:2009年6月 doc_love06 2009.09.12 02:45 #2036 我需要帮助在这个顶级趋势指标中添加电子邮件警报 我需要帮助,在这个顶级趋势指标中添加电子邮件警报。 以下是行文和所附文件。 如果(趋势>0) { 如果(信号>0 && UpTrendBuffer[shift+1]==-1.0) { UpTrendSignal[shift]=bsmin[shift]。 UpTrendBuffer[shift]=bsmin[shift]。 if(Line>0) UpTrendLine[shift]=bsmin[shift]; 如果(SoundON==true && shift==0 && !TurnedUp) { Alert("BBands going Up on " ,Symbol(),"-",Period())。 TurnedUp = true; TurnedDown = false; } } 否则 { UpTrendBuffer[shift]=bsmin[shift]; if(Line>0) UpTrendLine[shift]=bsmin[shift]; UpTrendSignal[shift]=-1。 } 如果(信号=2)UpTrendBuffer[shift]=0。 DownTrendSignal[shift]=-1。 DownTrendBuffer[shift]=-1.0。 DownTrendLine[shift]=EMPTY_VALUE。 } 如果(trend<0) { 如果(信号>0 && DownTrendBuffer[shift+1]==-1.0)。 { DownTrendSignal[shift]=bsmax[shift]。 DownTrendBuffer[shift]=bsmax[shift]。 if(Line>0) DownTrendLine[shift]=bsmax[shift]; 如果(SoundON==true && shift==0 && !TurnedDown) { Alert("BBands going Down on " ,Symbol(),"-",Period())。 TurnedDown = true; TurnedUp = false; } } 否则 { DownTrendBuffer[shift]=bsmax[shift]; if(Line>0)DownTrendLine[shift]=bsmax[shift]; DownTrendSignal[shift]=-1; } 如果(信号=2)DownTrendBuffer[shift]=0。 UpTrendSignal[shift]=-1。 UpTrendBuffer[shift]=-1.0。 UpTrendLine[shift]=EMPTY_VALUE。 } } return(0); } 附加的文件: toptrend.mq4 6 kb How to code? 请帮忙将这个5分钟趋势公式改写成ea I want to stop SPACECHIMP 2009.09.14 17:58 #2037 看不到这里的问题!?AAAAHHHH 我不知道我做错了什么...。 这似乎不能在某个TP时关闭一半 如果(OrdersTotal()>0){ OrderSelect(0, SELECT_BY_POS,MODE_TRADES); Tick = OrderTicket(); //所选订单 的数量 Tip =OrderType(); // 所选订单的类型 Price =OrderOpenPrice(); // 所选订单的价格 Lot =OrderLots(); 如果(Bid >= (Price + (TakeProfit * Point)) && Lot == 2 && (Tip == OP_BUY)) { OrderClose(Tick,1,Bid,10,Red); } 如果(Ask <= (Price - (TakeProfit * Point)) && Lot == 2 && (Tip == OP_SELL)) { OrderClose(Tick,1,Ask,10,Blue); }} 我的BID和ASK正确吗? 可能不正确 [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 编码帮助 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. dehyde 2009.09.16 07:28 #2038 我的EA需要一些帮助 我需要一个代码来限制我的EA只做一次交易。它是一个黄牛,我只想做一次交易,在它做完后,我把它关掉,第二天再附加它。 ForExTyro 2009.09.16 15:24 #2039 在这个主题的什么地方.... 在这个主题的某个地方,这个问题一定被问过...... 谁能帮我写一下代码:1) 有一个隐藏的SL,2) 只关闭 部分(50%)的开仓订单,3) 在穿越移动平均线后关闭剩余的订单。 附上一个EA,但它不是英文的,所以我不能完全理解它在做什么或在哪里添加我的其他代码。 谢谢你的帮助。 附加的文件: ytg_2ma_4level.mq4 9 kb kevin07 2009.09.17 17:05 #2040 如何防止在每一个新的跳动中重新加载指标 请告诉我,我在调用iCustom时做错了什么,导致指标在每一个新的tic时都要重新加载。(回测时,整个观察窗口都充满了该指标的数百次迭代。) 在我的 "启动程序 "中,我想用EntryDir()方法确认一个交易机会(如下所示)。 static datetime lastsd; 如果 ( CurTime()-lastsd>2*60*Period() ) { if(ZZ>=High[1] && EntryDir()==OP_SELL) { 如果(pos == 1) {DoExit(OP_BUY);} PrepNewOrder(OP_SELL)。 lastsd=CurTime(); } 如果(ZZ! =0 && ZZ<=Low[1] && EntryDir()==OP_BUY) { if(pos == -1) {DoExit(OP_Sell);} PrepNewOrder(OP_BUY)。 lastsd=CurTime(); } } int EntryDir() { bool buyOK=false, sellOK=false; double flow = iCustom(NULL, 0, "Dtron", 0,0) + iCustom(NULL, 0, "Dtron" 1,0); double trigger = iCustom(NULL, 0, "Dtron", 1,0) + iCustom(NULL, 0, "Dtron", 3,0); double reversal = iCustom(NULL, 0, "Dtron", 4,0); if((reversal==0 && flow + trigger>0) || reversal>0) entryDir=OP_BUY。 如果((反转==0 && flow + trigger<0) ||反转<0) entryDir=OP_SELL; return(entryDir); } 请告诉我如何防止导致数百个Dtron指标窗口在此打开。 How to code? 问吧! 编码帮助 1...197198199200201202203204205206207208209210211...347 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
MT-4,请帮助我。
MT-4请帮助我,我想制作一个DMI+和DMI-的交叉文件。我想在DMI+和DMI-移动的瞬间获得信号,而不需要ADX。我很关心这个问题。我写在下面,但请创建这个文件,将其移动到MF4。
//+------------------------------------------------------------------+
//| ADXcross EXPERT |
//| Perky_z | |
//| |
//+------------------------------------------------------------------+
#属性版权 "Perky_z@yahoo.com "
#property link "http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/"
//+--------------------------------------------------------------------------------------------------+
//| 与ADXcrosses Indicator一起使用时发出警报,它们不需要一起运行。
//+--------------------------------------------------------------------------------------------------+
//对+和-DI线的交叉发出警报
// 我在15分钟图表上使用它
//虽然在任何时间框架上看起来都不错
//使用其他指标来确认这个触发器。
//---- 输入参数
双b4plusdi,b4minusdi,nowplusdi,nowminusdi。
//----
//---- 指标
在这部分代码中,按你的要求改变周期(每行14个改为4个),这应该在你放置图表的这个标架上工作。
b4plusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1)。
nowplusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0)。
b4minusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1);
nowminusdi=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0)。
这是在关闭部分手数,但是......没有完全做到我所期望的那样。
我不知道它在做什么,但当价格不在我想要的位置时,似乎关闭了1手。
也许你能看到这里的问题。
当出现买入且价格上涨0.00071(只是一个随机数字,我在1分钟图表上测试)时,应该关闭1手。
或者当出现卖出,价格下降0.00071时,关闭1手。
顺便说一下,使用一个5位数的经纪人。只有一个交易是开放的,而且只有这个EA,所以没有滚动的订单。
谢谢你的帮助!
如果(IsConnected() &&IsTradeAllowed()) while (IsTradeContextBusy())Sleep(75);
如果(OrdersTotal()>0){OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
RefreshRates()。
如果(Bid >= (OrderOpenPrice()+ (.00071)) && OrderLots() == 2 && (OrderType() == OP_BUY){
OrderClose(OrderTicket(),1,Ask,10,R ed); }
如果(Ask <= (OrderOpenPrice()- (.00071)) && OrderLots() == 2 && (OrderType() == OP_SELL)){
OrderClose(OrderTicket(),1,Bid,10,B lue); }}
当一笔交易有(一次)正的利润,但仍低于经纪商的止损水平(尚未触及追踪)时,是否有可能制作一个代码,在收支平衡(利润=0)时关闭交易?
对于一个10点止损位的经纪商,只有当利润达到至少10点时,追踪系统才能发挥作用。
很多时候,我看到一个交易只到了5或8个点,然后又回到了它的止损点上。
所以我在考虑这个问题,但不知道怎么做。
如何为EA制作一个收支平衡的代码,类似于追踪止损,但在最低经纪商的止损水平以下工作?
致SPACECHIMP
当我们打开订单时,我们使用买入价,卖出价。当关闭时,则相反。
我认为它非常有用
FulltimeTrader:2009年6月
我需要帮助在这个顶级趋势指标中添加电子邮件警报
我需要帮助,在这个顶级趋势指标中添加电子邮件警报。
以下是行文和所附文件。
如果(趋势>0)
{
如果(信号>0 && UpTrendBuffer[shift+1]==-1.0)
{
UpTrendSignal[shift]=bsmin[shift]。
UpTrendBuffer[shift]=bsmin[shift]。
if(Line>0) UpTrendLine[shift]=bsmin[shift];
如果(SoundON==true && shift==0 && !TurnedUp)
{
Alert("BBands going Up on " ,Symbol(),"-",Period())。
TurnedUp = true;
TurnedDown = false;
}
}
否则
{
UpTrendBuffer[shift]=bsmin[shift];
if(Line>0) UpTrendLine[shift]=bsmin[shift];
UpTrendSignal[shift]=-1。
}
如果(信号=2)UpTrendBuffer[shift]=0。
DownTrendSignal[shift]=-1。
DownTrendBuffer[shift]=-1.0。
DownTrendLine[shift]=EMPTY_VALUE。
}
如果(trend<0)
{
如果(信号>0 && DownTrendBuffer[shift+1]==-1.0)。
{
DownTrendSignal[shift]=bsmax[shift]。
DownTrendBuffer[shift]=bsmax[shift]。
if(Line>0) DownTrendLine[shift]=bsmax[shift];
如果(SoundON==true && shift==0 && !TurnedDown)
{
Alert("BBands going Down on " ,Symbol(),"-",Period())。
TurnedDown = true;
TurnedUp = false;
}
}
否则
{
DownTrendBuffer[shift]=bsmax[shift];
if(Line>0)DownTrendLine[shift]=bsmax[shift];
DownTrendSignal[shift]=-1;
}
如果(信号=2)DownTrendBuffer[shift]=0。
UpTrendSignal[shift]=-1。
UpTrendBuffer[shift]=-1.0。
UpTrendLine[shift]=EMPTY_VALUE。
}
}
return(0);
}
看不到这里的问题!?AAAAHHHH
我不知道我做错了什么...。
这似乎不能在某个TP时关闭一半
如果(OrdersTotal()>0){
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Tick = OrderTicket(); //所选订单 的数量
Tip =OrderType(); // 所选订单的类型
Price =OrderOpenPrice(); // 所选订单的价格
Lot =OrderLots();
如果(Bid >= (Price + (TakeProfit * Point)) && Lot == 2 && (Tip == OP_BUY)) {
OrderClose(Tick,1,Bid,10,Red); }
如果(Ask <= (Price - (TakeProfit * Point)) && Lot == 2 && (Tip == OP_SELL)) {
OrderClose(Tick,1,Ask,10,Blue); }}
我的BID和ASK正确吗? 可能不正确
我的EA需要一些帮助
我需要一个代码来限制我的EA只做一次交易。它是一个黄牛,我只想做一次交易,在它做完后,我把它关掉,第二天再附加它。
在这个主题的什么地方....
在这个主题的某个地方,这个问题一定被问过......
谁能帮我写一下代码:1) 有一个隐藏的SL,2) 只关闭 部分(50%)的开仓订单,3) 在穿越移动平均线后关闭剩余的订单。
附上一个EA,但它不是英文的,所以我不能完全理解它在做什么或在哪里添加我的其他代码。
谢谢你的帮助。
如何防止在每一个新的跳动中重新加载指标
请告诉我,我在调用iCustom时做错了什么,导致指标在每一个新的tic时都要重新加载。(回测时,整个观察窗口都充满了该指标的数百次迭代。)
在我的 "启动程序 "中,我想用EntryDir()方法确认一个交易机会(如下所示)。
static datetime lastsd;
如果 ( CurTime()-lastsd>2*60*Period() )
{
if(ZZ>=High[1] && EntryDir()==OP_SELL)
{
如果(pos == 1) {DoExit(OP_BUY);}
PrepNewOrder(OP_SELL)。
lastsd=CurTime();
}
如果(ZZ! =0 && ZZ<=Low[1] && EntryDir()==OP_BUY)
{
if(pos == -1) {DoExit(OP_Sell);}
PrepNewOrder(OP_BUY)。
lastsd=CurTime();
}
}
int EntryDir()
{
bool buyOK=false, sellOK=false;
double flow = iCustom(NULL, 0, "Dtron", 0,0) + iCustom(NULL, 0, "Dtron" 1,0);
double trigger = iCustom(NULL, 0, "Dtron", 1,0) + iCustom(NULL, 0, "Dtron", 3,0);
double reversal = iCustom(NULL, 0, "Dtron", 4,0);
if((reversal==0 && flow + trigger>0) || reversal>0) entryDir=OP_BUY。
如果((反转==0 && flow + trigger<0) ||反转<0) entryDir=OP_SELL;
return(entryDir);
}
请告诉我如何防止导致数百个Dtron指标窗口在此打开。