任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 328 1...321322323324325326327328329330331332333334335...1178 新评论 [Deleted] 2013.12.09 18:39 #3271 double GetLastUpperFractalPrice() { for (int i = 3; i<=Bars; i++) if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) !=0) return (i); double LastUpperFractalPrice = High [i]; return (LastUpperFractalPrice); }是这样吗?这个函数会返回最后一个上分形 的价格吗? Vitalie Postolache 2013.12.09 18:49 #3272 Trader7777: 这是否正确?这个函数会返回最后一个上分形的价格吗? 分形搜索的例子 [Deleted] 2013.12.09 18:53 #3273 double GetLastUpperFractalPrice() { for (int i = 3; i<=Bars; i++) { if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i); { double LastUpperFractalPrice = High [i]; } } return (LastUpperFractalPrice); }这到底行不行? Alexey Subbotin 2013.12.09 18:56 #3274 Trader7777: double GetLastUpperFractalPrice() { for (int i = 3; i<=Bars; i++) { 如果(iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) !=0) { double LastUpperFractalPrice = High [i]; } } 返回(LastUpperFractalPrice;)。 } 这到底行不行? 因此,例如,它将。 double GetLastUpperFractalPrice() { for (int i = 3; i<=Bars; i++) { if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) { return(High [i]); } } return(EMPTY_VALUE); } 正如你所拥有的,它不会。 Sergey Dzyublik 2013.12.09 19:01 #3275 Trader7777: double GetLastUpperFractalPrice() { for (int i = 3; i<=Bars; i++) { if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i); { double LastUpperFractalPrice = High [i]; } } return (LastUpperFractalPrice); }它到底能不能发挥作用? 不,通过面板上的SRC 插入代码。 return (ХХХ) 将从用户函数中返回 - 在那里输入的东西将由这个函数返回 - ХХХ的值或一些计算函数的结果。 因此,当发现一个分形时,写return(High [i])来输出第i个条形的最大价格--你不需要发明其他东西。 比你早得多))。 [删除] 2013.12.09 20:05 #3276 这是一个放置挂单的基本功能,参数并不重要,但重要的是使专家顾问(它可以使用现有的挂单循环)在收到 "新价格 "后或重置或以其他方式避免在同一价格下单。在这种情况下,下单的循环不应停止。 double Dist=10000.0。 string SMB; double NewPrice; int i; int start() { RefreshRates()。 SMB=Symbol()。 {UstanOtlozh();} } return(0); 空白的UstanOtlozh() { double OldPrice=WindowPriceOnDropped(); // 这里抛出了脚本。 RefreshRates()。 SMB=Symbol()。 { int i=1。 while(i<=OrdersTotal()) { 如果(OrderSelect(i-1,SELECT_BY_POS)==true)//如果有 { // 订单分析。 if (OrderSymbol()!= SMB) continue; // 不是我们的金融工具。 int Tip=OrderType(); // 订单类型 如果(Tip<2)继续;//市场订单 double NewPrice=OrderOpenPrice(); // 订单价格 { while(NewPrice<=Ask+200*Point||NewPrice>=Ask+50*Point) { NewPrice=NewPrice+50*Point。 OrderSend(SMB,OP_BUYSTOP,0.01,NewPrice,3,0,0,NULL,0,CLR_NONE) 。 如果(NewPrice>Ask+200*Point||NewPrice<Ask+50*Point) 突破。 }}}}}} [存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. [档案]学习如何赚钱的村民! Any rookie question, so Alexey Semenov 2013.12.09 20:39 #3277 ALXIMIKS: 我已经把它固定下来进行编译--并使用555构建的mt4 EDITOR--它真的有助于快速找到问题。在安装前只需阅读手册--前15页。我从没想过我会问这么简单的事情。编译时,我得到一个信息,即BU()函数没有参与。我是这样说的(代码已给出),现在所有的东西都能编译,但盈亏平衡函数却不能工作。我在其他EA中也看到了同样的Breakeven功能。 int start() { if(Volume[0]>1) return; if (CountTrades()==0 && Open[1]>Close[1] && Open[2]<Close[2] && High[1]>High[2] && Low[1]<Low[2]) // продажа { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"Pattern_1",111,0,Red); if (OrderSelect(ticket, SELECT_BY_TICKET,MODE_TRADES)) { TP=NormalizeDouble(Bid - TakeProfit * Point, Digits); OrderModify(ticket, OrderOpenPrice(),0,TP,0); } } else if (CountTrades()==0 && Open[1]<Close[1] && Open[2]>Close[2] && High[1]>High[2] && Low[1]<Low[2]) // покупка { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"Pattern_1",111,0,Blue); if (OrderSelect(ticket, SELECT_BY_TICKET,MODE_TRADES)) { TP=NormalizeDouble(Ask + TakeProfit * Point, Digits); OrderModify(ticket, OrderOpenPrice(),0,TP,0); } } if (CountTrades()>0) { otype = FindLastOrderType(); if (otype == OP_BUY) { // ценапоследнего ордера на покупку price = FindLastBayPrice(); if ((Bid - price) / Point >= Step) { ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid,Slippage,0,0,"Pattern_1",111,0,Red); } } else if (otype == OP_SELL) { // цена последнего ордера на продажу price = FindLastSellPrice(); if ((price - Ask) / Point >= Step) { ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask,Slippage,0,0,"Pattern_1",111,0,Blue); } } } BU(); return(0); } Алексей Тарабанов 2013.12.09 21:25 #3278 alexey1979621: 我从没想过我会问这么简单的事情。编译时,我得到一个信息,即BU()函数没有参与。我是这样说的(代码已给出),现在所有的东西都能编译,但盈亏平衡函数却不能工作。在其他EA中,完全相同的盈亏平衡功能也在发挥作用。 唯一的原因是不正确的if(...)操作符返回;似乎你只有一个--在程序的开头。 Artyom Trishkin 2013.12.09 21:44 #3279 先生们!!!"。你们这些人对什么感到困惑呢? iFractals() 返回价格,而不是分形的条数。 Alexey Semenov 2013.12.09 21:56 #3280 tara: 唯一的原因是一个不正确的if(...)操作符返回;看来你有一个--在程序的开头。 这个已经被删除。但问题出在其他地方--在正常化方面。由于某些原因,我的专家顾问读取了4位小数,而不是5位。 extern double Lots = 0.1; extern string Сomment = "Pattern_1"; extern int TakeProfit = 10; extern int StopLoss = 0; extern int Step = 2; extern int BULevel = 2; extern int NotBULevel = 2; // Уровень безубытка в пунктах extern int Slippage = 2; // проскальзывание extern int Magic = 111; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { if (Digits ==5) // для пятизначного брокера { TakeProfit *= 10; StopLoss *= 10; Slippage *= 10; Step *= 10; BULevel *= 10; NotBULevel *= 10; } return(0); } 如何解决这个问题? 1...321322323324325326327328329330331332333334335...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
{
for (int i = 3; i<=Bars; i++)
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) !=0) return (i);
double LastUpperFractalPrice = High [i]; return (LastUpperFractalPrice);
}
是这样吗?这个函数会返回最后一个上分形 的价格吗?
这是否正确?这个函数会返回最后一个上分形的价格吗?
分形搜索的例子
{
for (int i = 3; i<=Bars; i++)
{
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i);
{
double LastUpperFractalPrice = High [i];
}
}
return (LastUpperFractalPrice);
}
这到底行不行?
double GetLastUpperFractalPrice()
{
for (int i = 3; i<=Bars; i++)
{
如果(iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) !=0)
{
double LastUpperFractalPrice = High [i];
}
}
返回(LastUpperFractalPrice;)。
}
这到底行不行?
因此,例如,它将。
正如你所拥有的,它不会。
double GetLastUpperFractalPrice() { for (int i = 3; i<=Bars; i++) { if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i); { double LastUpperFractalPrice = High [i]; } } return (LastUpperFractalPrice);
}
它到底能不能发挥作用?
不,通过面板上的SRC 插入代码。
return (ХХХ) 将从用户函数中返回 - 在那里输入的东西将由这个函数返回 - ХХХ的值或一些计算函数的结果。
因此,当发现一个分形时,写return(High [i])来输出第i个条形的最大价格--你不需要发明其他东西。
比你早得多))。
这是一个放置挂单的基本功能,参数并不重要,但重要的是使专家顾问(它可以使用现有的挂单循环)在收到 "新价格 "后或重置或以其他方式避免在同一价格下单。在这种情况下,下单的循环不应停止。
double Dist=10000.0。
string SMB;
double NewPrice;
int i;
int start()
{
RefreshRates()。
SMB=Symbol()。
{UstanOtlozh();}
}
return(0);
空白的UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped(); // 这里抛出了脚本。
RefreshRates()。
SMB=Symbol()。
{
int i=1。
while(i<=OrdersTotal())
{
如果(OrderSelect(i-1,SELECT_BY_POS)==true)//如果有
{ // 订单分析。
if (OrderSymbol()!= SMB) continue; // 不是我们的金融工具。
int Tip=OrderType(); // 订单类型
如果(Tip<2)继续;//市场订单
double NewPrice=OrderOpenPrice(); // 订单价格
{
while(NewPrice<=Ask+200*Point||NewPrice>=Ask+50*Point)
{
NewPrice=NewPrice+50*Point。
OrderSend(SMB,OP_BUYSTOP,0.01,NewPrice,3,0,0,NULL,0,CLR_NONE) 。
如果(NewPrice>Ask+200*Point||NewPrice<Ask+50*Point)
突破。
}}}}}}
我已经把它固定下来进行编译--并使用555构建的mt4 EDITOR--它真的有助于快速找到问题。在安装前只需阅读手册--前15页。
我从没想过我会问这么简单的事情。编译时,我得到一个信息,即BU()函数没有参与。我是这样说的(代码已给出),现在所有的东西都能编译,但盈亏平衡函数却不能工作。我在其他EA中也看到了同样的Breakeven功能。
我从没想过我会问这么简单的事情。编译时,我得到一个信息,即BU()函数没有参与。我是这样说的(代码已给出),现在所有的东西都能编译,但盈亏平衡函数却不能工作。在其他EA中,完全相同的盈亏平衡功能也在发挥作用。
唯一的原因是不正确的if(...)操作符返回;似乎你只有一个--在程序的开头。
先生们!!!"。你们这些人对什么感到困惑呢?
iFractals() 返回价格,而不是分形的条数。
唯一的原因是一个不正确的if(...)操作符返回;看来你有一个--在程序的开头。