错误、漏洞、问题 - 页 1418

 
大家好!
我最近开始编程,遇到了这样一个问题,StopLoss没有被设置。你能告知错误在哪里吗?
int start()
{
如果(CountTrades()==0)
{
double ima=iMA(Symbol(),PERIOD_H1,14,0,MODE_SMA,PRICE_CLOSE,1);
如果(Ask>ima)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0," ,Magic,0,Blue);
如果(ticket>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)。
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0)
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits)。
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0)。
}
}
}
否则如果(Bid<ima)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,",Magic,0,Red);
如果(ticket>0)
{
TP=NormalizeDouble(Bid-TakeProfit*Point,Digits)。
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0)
{
SL=NormalizeDouble(Bid+StopLoss*Point,Digits)。
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0)。
}
}
}
否则
{
int order_type=FindLastOrderType()。
如果(order_type==OP_BUY)
{
price=FindLastPrice(OP_BUY)。
如果(Ask<=price-Step*Point)
{
lastlot = FindLastLots(OP_BUY);
Lastlot = NormalizeDouble(lastlot * Multiplier, 2);
ticket=OrderSend(Symbol(),OP_BUY,lastlot,Ask,Slippage,0,0," ,Magic,0,Blue)。
如果(ticket>0)
ModifyOrders(OP_BUY)。
}
}
否则如果(order_type==OP_SELL)
{
price=FindLastPrice(OP_SELL)。
如果(Bid<=price+Step*Point)
{
lastlot=FindLastLots(OP_SELL)。
}
Lastlot=NormalizeDouble(lastlot*Multiplier,2)。
ticket=OrderSend(Symbol(),OP_SELL,lastlot,Bid,Slippage,0,0,",Magic,0,Red)。
如果(ticket>0)
ModifyOrders(OP_SELL)。
}
}
}
return(0);
}
预先感谢你)))
 
Сергей Верещак:
如果(Ask>ima)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0," ,Magic,0,Blue);
如果(ticket>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)。
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0); 设置止盈和止损为0
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits)。
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0); 设置止损和止盈为零,即删除之前设置的。
}
}
}

预先感谢)))
挖掘,给予提示...
 
Vladimir Pastushak:
挖掘,我给你一个提示......
谢谢你,沃洛佳。我会挖掘的,我会尽快想出办法的)))。
 
Vladimir Pastushak:
挖掘,我给你一个提示......

然后让我们把它带到 "新 "MQL4和MQL5的标准。

//TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);
 
Alexey Volchanskiy:

然后让我们把它带到 "新 "MQL4和MQL5的标准。

//TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);

今年5月15日,有一个Renat Fatkhullin的帖子,内容如下。

下划线显示其被废弃的状态。你不能使用这种全局声明的简单变量,但看起来像普通的局部变量

为了保持语言和代码的简洁,我们应该改用Symbol(), Period()。只是考虑周到,摆脱了旧的遗留问题。

如果有必要,你可以用引用的观点搜索帖子。这是雷纳特对社区成员的一个问题的回答,其开头如下。

在MT4中的变量Point, Digits...在MT5中,这些同样的变量以下划线开始...


P./S.: 因此,基于下划线被废弃(被废弃或不被批准或不建议在未来使用)的事实,那么使用没有下划线的Point()和Digits()。/* 在MQL4中也是如此,像在MQL5中一样,在名字后面加括号的Point()Digits() 的这种用法,在操作时不会产生错误,在编译时也没有错误或警告*/。

 

你好,我有一个非常有趣的问题,我的电脑上有3个MT4平台,¹1是主要平台,我在那里开了一个真实账户。2号和3号--辅助性的,用于测试EA 的,有开设的模拟账户。当我试图从https://www.mql5.com(我选择一个信号,按开始复制,然后弹出一个窗口说启动MetaTrader4并订阅一个平台,我按这个窗口),3号平台打开而不是1号平台。我怎样才能纠正它呢?如何使1号平台开放?

 
Mihail Kuzmin:

你好,我有一个非常有趣的问题,我的电脑上有3个MT4平台,¹1是主要平台,我在那里开了一个真实账户。2号和3号--辅助性的,用于测试EA 的,有开设的模拟账户。当我试图从https://www.mql5.com(我选择一个信号,按开始复制,然后弹出一个窗口说启动MetaTrader4并订阅一个平台)复制一个信号时,我打开了3号平台而不是1号平台。我怎样才能纠正它呢?我怎样才能打开1号平台?

如果你有一个由几个终端组成的 "动物园",你应该直接从你要复制的终端搜索信号。
 
Karputov Vladimir:
如果你有一个由几个终端组成的 "动物园",你必须直接从你想复制到的终端上搜索信号。
终端不工作,但给出一个错误...
 
Mihail Kuzmin:
终端不工作,并给出一个错误...
什么样的错误?你做什么,按什么顺序?
 
Karputov Vladimir:
什么样的错误?你在做什么,按什么顺序?

我已经使用该网站一个月了,我一直是通过该网站订阅的,这次不知道为什么,它打开了一个完全不同的平台。

一个月前,我刚刚通过网站注册了一个信号,它打开了我需要的第一号平台。