如何编码? - 页 153 1...146147148149150151152153154155156157158159160...347 新评论 Professor of channel trading 2009.01.10 03:07 #1521 Roger09: 对chiwing试试这个。 #property copyright "Copyright ?2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property show_inputs bool result; extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE //+------------------------------------------------------------------+ //| script "delete pending order" | //+------------------------------------------------------------------+ int start() { for (int number=OrdersTotal()-1; number >= 0; number--) { OrderSelect(number,SELECT_BY_POS,MODE_TRADES); if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue; if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending(); if (OverSymbolDel ==1) delPending(); } } //+------------------------------------------------------------------+ void delPending() { OrderPrint(); int ticket =OrderTicket(); result=OrderDelete(ticket); if (!result) Print("Error when delete Order ", GetLastError() ); } 如果 ( (OverSymbolDel ==0 ) && ( Symbol()==OrderSymbol() ) delPending()。 改为 if ( (OverSymbolDel ==0 ) && ( Symbol()==OrderSymbol() )) delPending()。 Kikousi 2009.01.11 20:19 #1522 GetClientRect? 虽然我想获得图表的客户端坐标,但我应该怎么做? 我想知道右下角的坐标,而不使用OBJPROP_CORNER。 致以最诚挚的问候。 billsechen 2009.01.12 11:55 #1523 Эранский 请帮助我修改最好的一个 附加的文件: stat_euclidean_metric_modified.mq4 16 kb Moxy 2009.01.12 20:52 #1524 逻辑学方面的帮助 大家好。 我想在一些代码逻辑方面得到一点帮助。我正试图建立一个我所关注的系统的EA,但对如何编写买入和卖出信号 的逻辑有点不解。以下是我想转为MQL的伪逻辑。 买入逻辑。 If (MA_1 > MA_2) and (Previous(MA_1 < MA_2)) // A moving average cross mean we have a "GET READY" signal // Once we have a "GET READY" signal the following conditions need to be true // in order for the system to create a "BUY_SIGNAL". // Note: the following conditions do not necessarily have to become true on the exact same bar, but need to trigger true within + or - 2 bars of the "GET READY" bar. ( CLOSE > MA3 ) // Price closes above a MA ( CCI Crosses above the ZERO line ) // CCI crosses up above zero ( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up side 卖出逻辑与买入逻辑正好相反。 我不需要完整的EA代码,只需要将逻辑转换成MQL的'IF'和'LOOP'语句来锻炼信号。我想我可以从这个主题的许多例子中找出OpenOrder代码等。 如果有人能给予任何帮助,我将非常感激。 谢谢。 莫克西 How to code? How to prevent open Ask! luxinterior 2009.01.12 22:27 #1525 你最好的选择是查看元编辑器的帮助文件。 看一下iMa、iStochastic和iCCI等函数。它们有例子,如果你把这些例子与你从任何EA的代码中得到的信息结合起来,你会发现它很容易。 好运 卢克斯 Moxy 2009.01.13 06:44 #1526 luxinterior: 你最好的选择是查看元编辑器的帮助文件。 看一下iMa、iStochastic和iCCI等函数。他们有一些例子,如果你把这些例子与你从任何EA的代码中得到的信息结合起来,你会发现它很容易。好运 卢克斯 嗨,拉克斯。 谢谢你的回答。我可以解决个别的iMA语句等......我遇到的问题是,一旦信号被触发,如何引用不同的时间条。例如...如果我有一个GET READY信号,我需要查看其他指标的前2条和后2条(共5条),以确认我在下一个柱子的开盘时有一个买入 信号。我不知道我说的是否有道理! 我想是的......当我需要参考被处理的条形图之前和之后的条形图时,我将如何构建必要的FOR循环等。 谢谢。 莫克西 InTrance 2009.01.13 07:34 #1527 Moxy: 嗨,拉克斯。谢谢你的回答。我可以解决个别iMA语句等......我的问题是,一旦信号被触发,如何引用不同的时间条。例如...如果我有一个GET READY信号,我需要查看其他指标的前2条和后2条(共5条),以确认我在下一个柱子的开盘时有一个买入信号。我不知道我说的是否有道理! 我想是的......当我需要参考被处理的条形图之前和之后的条形图时,我将如何构建必要的FOR循环等。 请注意。 莫克西 你可以通过使用iMA()中的shift变量来做到这一点。你也可以用开盘价、最高价、最低价、收盘价来做,即收盘价[3]与当前条形的距离为3条。 ccscowboy 2009.01.13 11:51 #1528 移动平均数的移动 好吧,我需要一些代码方面的帮助,我想确定一组围绕MA的平均移动,所以从最古老的BAR,我寻找上面和下面的移动,把它们放入一个数组,然后对这个数组进行平均。 以下是我开始使用的代码,希望能得到一点帮助,以完成它。 double AverageMove() { int cbars = iBars(Symbol(),EntryTimeFrame); int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0。 双重retval,averagemove,pHValue,pLValue,MAvalue,RangeValue[],EntryPoint,cHigh,cLow。 bool reset,TradeShort,TradeLong; iLimit=Bars-1; if(Symbol() != "AUDNZD") return(0); for(ndx=0; ndx<iLimit; ndx++) { MAvalue = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx) 。 pH值=High[ndx]。 pLValue = Low[ndx]。 如果(MAvalue pLValue) { if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue); reset = true; 如果(EntryPoint > 0 && cHigh > 0) { RangeCounter++; RangeValue[RangeCounter]=cHHigh - EntryPoint。 } 如果(EntryPoint > 0 && cLow > 0) { RangeCounter++; RangeValue[RangeCounter]=EntryPoint - cLow。 } EntryPoint = MAvalue。 } if(pHValue < MAvalue && reset) TradeShort = true; if(pLValue > MAvalue && reset) TradeLong = true; 如果(TradeLong) { reset = false; cHigh = pHValue。 } 如果(TradeShort) { reset = False; cLow = pLValue; } } ArraySetAsSeries(RangeValue,true)。 retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0)。 打印("平均移动 "+retval)。 } How to code? 世界货币指数(泡沫破灭时清晰可见) 原始想法 Kikousi 2009.01.13 16:55 #1529 我想知道图表中的客户区域。 尊敬的先生。 我想知道图表中的客户区域。 请告诉我。 假设左上角的点是(0,0),请让我知道右下角的坐标。 在这种情况下,不应该使用ObjectSet("",OBJPROP_CORNER,3)。 谢谢你,并致以最诚挚的问候。 codobro 2009.01.13 23:41 #1530 莫克西。 如果我对你的理解正确,那么你必须在EA中逐行编码。 例如 MA1, index-1 之前 MA1, index now MA1, index+1之后 你有基本的东西 1...146147148149150151152153154155156157158159160...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
对chiwing
试试这个。
#property link "http://www.metaquotes.net/"
#property show_inputs
bool result;
extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE
//+------------------------------------------------------------------+
//| script "delete pending order" |
//+------------------------------------------------------------------+
int start()
{
for (int number=OrdersTotal()-1; number >= 0; number--)
{
OrderSelect(number,SELECT_BY_POS,MODE_TRADES);
if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;
if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();
if (OverSymbolDel ==1) delPending();
}
}
//+------------------------------------------------------------------+
void delPending()
{
OrderPrint();
int ticket =OrderTicket();
result=OrderDelete(ticket);
if (!result) Print("Error when delete Order ", GetLastError() );
}如果 ( (OverSymbolDel ==0 ) && ( Symbol()==OrderSymbol() ) delPending()。
改为
if ( (OverSymbolDel ==0 ) && ( Symbol()==OrderSymbol() )) delPending()。
GetClientRect?
虽然我想获得图表的客户端坐标,但我应该怎么做?
我想知道右下角的坐标,而不使用OBJPROP_CORNER。![](https://c.mql5.com/forextsd/smiles/confused.png)
致以最诚挚的问候。
Эранский
请帮助我修改最好的一个
逻辑学方面的帮助
大家好。
我想在一些代码逻辑方面得到一点帮助。我正试图建立一个我所关注的系统的EA,但对如何编写买入和卖出信号 的逻辑有点不解。以下是我想转为MQL的伪逻辑。
买入逻辑。
// Once we have a "GET READY" signal the following conditions need to be true
// in order for the system to create a "BUY_SIGNAL".
// Note: the following conditions do not necessarily have to become true on the exact same bar,
but need to trigger true within + or - 2 bars of the "GET READY" bar.
( CLOSE > MA3 ) // Price closes above a MA
( CCI Crosses above the ZERO line ) // CCI crosses up above zero
( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up side卖出逻辑与买入逻辑正好相反。
我不需要完整的EA代码,只需要将逻辑转换成MQL的'IF'和'LOOP'语句来锻炼信号。我想我可以从这个主题的许多例子中找出OpenOrder代码等。
如果有人能给予任何帮助,我将非常感激。
谢谢。
莫克西
你最好的选择是查看元编辑器的帮助文件。
看一下iMa、iStochastic和iCCI等函数。它们有例子,如果你把这些例子与你从任何EA的代码中得到的信息结合起来,你会发现它很容易。
好运
卢克斯
你最好的选择是查看元编辑器的帮助文件。
看一下iMa、iStochastic和iCCI等函数。他们有一些例子,如果你把这些例子与你从任何EA的代码中得到的信息结合起来,你会发现它很容易。
好运
卢克斯嗨,拉克斯。
谢谢你的回答。我可以解决个别的iMA语句等......我遇到的问题是,一旦信号被触发,如何引用不同的时间条。例如...如果我有一个GET READY信号,我需要查看其他指标的前2条和后2条(共5条),以确认我在下一个柱子的开盘时有一个买入 信号。我不知道我说的是否有道理!
我想是的......当我需要参考被处理的条形图之前和之后的条形图时,我将如何构建必要的FOR循环等。
谢谢。
莫克西
嗨,拉克斯。
谢谢你的回答。我可以解决个别iMA语句等......我的问题是,一旦信号被触发,如何引用不同的时间条。例如...如果我有一个GET READY信号,我需要查看其他指标的前2条和后2条(共5条),以确认我在下一个柱子的开盘时有一个买入信号。我不知道我说的是否有道理!
我想是的......当我需要参考被处理的条形图之前和之后的条形图时,我将如何构建必要的FOR循环等。
请注意。
莫克西你可以通过使用iMA()中的shift变量来做到这一点。你也可以用开盘价、最高价、最低价、收盘价来做,即收盘价[3]与当前条形的距离为3条。
移动平均数的移动
好吧,我需要一些代码方面的帮助,我想确定一组围绕MA的平均移动,所以从最古老的BAR,我寻找上面和下面的移动,把它们放入一个数组,然后对这个数组进行平均。
以下是我开始使用的代码,希望能得到一点帮助,以完成它。
double AverageMove()
{
int cbars = iBars(Symbol(),EntryTimeFrame);
int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0。
双重retval,averagemove,pHValue,pLValue,MAvalue,RangeValue[],EntryPoint,cHigh,cLow。
bool reset,TradeShort,TradeLong;
iLimit=Bars-1;
if(Symbol() != "AUDNZD") return(0);
for(ndx=0; ndx<iLimit; ndx++)
{
MAvalue = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx) 。
pH值=High[ndx]。
pLValue = Low[ndx]。
如果(MAvalue pLValue)
{
if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue);
reset = true;
如果(EntryPoint > 0 && cHigh > 0)
{
RangeCounter++;
RangeValue[RangeCounter]=cHHigh - EntryPoint。
}
如果(EntryPoint > 0 && cLow > 0)
{
RangeCounter++;
RangeValue[RangeCounter]=EntryPoint - cLow。
}
EntryPoint = MAvalue。
}
if(pHValue < MAvalue && reset) TradeShort = true;
if(pLValue > MAvalue && reset) TradeLong = true;
如果(TradeLong)
{
reset = false;
cHigh = pHValue。
}
如果(TradeShort)
{
reset = False;
cLow = pLValue;
}
}
ArraySetAsSeries(RangeValue,true)。
retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0)。
打印("平均移动 "+retval)。
}
我想知道图表中的客户区域。
尊敬的先生。
我想知道图表中的客户区域。
请告诉我。
假设左上角的点是(0,0),请让我知道右下角的坐标。![](https://c.mql5.com/forextsd/smiles/cry_smile.png)
在这种情况下,不应该使用ObjectSet("",OBJPROP_CORNER,3)。
谢谢你,并致以最诚挚的问候。
莫克西。
如果我对你的理解正确,那么你必须在EA中逐行编码。
例如
MA1, index-1 之前
MA1, index now
MA1, index+1之后
你有基本的东西