任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 550

 
Alexandr24:
我需要帮助找到前一天的指标N的最大值;我通过iCustom接收数据,但它是一个死锁。我认为它是通过ArrayMaximum 完成的,但如何找到这个值

我不知道如何把iCustom装进去,但我想不出有什么其他的选择。



1.找到前一天开始时的酒吧号码,找到结束时的酒吧号码为。

2.我将从一个数字循环到另一个数字,并计算出最大值。

当然,你可以使用ArrayMaximum,但在第一步之后。

 
关于代理,如果有人需要真正的工作IP,我可以建议http://buy.fineproxy.org/,我自己在那里买了很长时间的地址,一切工作都很完美,而且有可能有一个测试期!
 

对不起,水淹了,我再问你。

你能推荐一个免费的开仓指标吗?提前感谢!

 
GSB:

你不可能那么不专心地写代码 :)

去评论("USDCADAsk = ",USDCADAsk); 其次是USDCADAsk = DoubleToString(MarketInfo("USDCAD",MODE_ASK),usdcaddigits); USDCADAsk被声明为双数,你把一个字符串放进去。

然后再Digits....^)和

你必须自己去寻找这样的错误,没有人会像贸易一样为你解决这些问题。 编译器产生了28个错误,而你把演示版投入交易。你可能会后悔你没有进行真正的交易,因为市场会纠正你的错误!

这是谁的出价?


正确的


原来你不需要使用额外的变量,那么你就不需要规范化,应该是这样的。
OrderSend("USDCAD",OP_BUY,Lot,MarketInfo("USDCAD",MODE_ASK),slip,0,0,"USDCAD",magic[0],0,Red);
 
Example2:

原来你不需要使用额外的变量,那么你就不需要规范化,应该是这样的。

OrderSend("USDCAD",OP_BUY,Lot,MarketInfo("USDCAD",MODE_ASK),slip,0,0,"USDCAD",magic[0],0,Red);

首先,你自己试图在屏幕上显示它们来检查,这导致了错误,其次,正常化是可取的,订单设置价格和TP,SL。如果价格没有被规范化,就会造成错误。这是规则,我们不应该破坏它。请看例子并分析为什么是这样而不是相反,例如:https://book.mql4.com/ru/samples/shared
 
你好,你能告诉我如何在OrderOpenPrice上增加,例如23%?如果你知道OrderOpenPrice已经是77%。我把它除以77,乘以23,得到7分,而不是31分。这里有一行代码,如果(MarketInfo-OrderOpenPrice()>OrderOpenPrice()/50*Percent*Point)。这是对收支平衡的转移,但不是以点数计算,而是以百分比计算。提前感谢您!
 
vidnab:
你好!如果你不介意的话,请告诉我如何在OrderOpenPrice上增加23%的价格?如果你知道OrderOpenPrice已经是77%。我除以77,乘以23,得到7分,而不是31分。这里有一行代码,如果(MarketInfo-OrderOpenPrice()>OrderOpenPrice()/50*Percent*Point)。这是对收支平衡的转移,但不是以点数计算,而是以百分比计算。提前感谢您!


我以50卢布的价格买了十万欧元,然后我在购买价格上加23%。

对于你的情况,你需要完整地列出代码。尽管如果你只想让它达到100%,可以除以0.77。

 

谢谢你的答复。以下是所有的代码

//+----------------------------------------------------------------------------+
//| e-MovingInWL2.mq4|
//| |
//| Kim Igor V. aka KimIV !
//| http://www.kimiv.ru |
//| |
//| 2008年10月27日,顾问将止损点移至盈亏平衡点。
//+----------------------------------------------------------------------------+
#财产版权"Kim Igor V. aka KimIV"
#属性链接 "http://www.kimiv.ru"

//------- 专家顾问的外部参数 -----------------------------------------+
Extern string _P_Expert = "---------- EA parameters";
外部 bool AllSymbols = True; // 观察所有符号的位置
外部int Magic = -1; // 位置标识符
外部int LevelProfit = 25; // 以点为单位的利润水平
外部int LevelWLoss = 1; // 以点为单位的盈亏平衡水平
外部 bool ShowComment = True; // 显示评论

//------- 交易订单的执行参数 ------------------------------+
extern string _P_Performance = "---------- Parameters of execution";
extern bool UseSound = True; // 使用声音信号。
外部字符串 SoundSuccess = "expert.wav"; // 成功的声音
extern string SoundError = "timeout.wav"; // 错误声音。
extern inttern NumberOfTry = 2; // 尝试的数量

//------- 专家顾问的全局变量 -------------------------------------+
bool gbDisabled = False; // 锁定EA的标志
bool gbNoInit = False; // 初始化失败的标志
颜色 clModifyBuy = Aqua; // 颜色 clModifyBuy图标
color clModifySell = Tomato; // 销售修改图标的颜色。

//------- 外部模块的连接 -----------------------------------------+
#include <stdlib.mqh>.


//+----------------------------------------------------------------------------+
//| |
//|预定义函数 |
//| |
//+----------------------------------------------------------------------------+
//|专家初始化功能 |
//+----------------------------------------------------------------------------+
void init() {
gbNoInit=False。
如果(!IsTradeAllowed()){
消息("为了使EA正常工作,有必要 "+"+")。
"允许EA进行交易")。
gbNoInit=True; 返回。
}
如果(!IsLibrariesAllowed()){
Message("为了使EA正确工作,你应该 "+"+"。
"允许从外部EA导入")。
gbNoInit=True; 返回。
}
如果(!IsTesting()){
如果(IsExpertEnabled())Message("专家顾问将从下一个tick开始")。
else Message("The button\"Allow EAs to start{") is released;
}
start()。
}

//+----------------------------------------------------------------------------+
//|专家去初始化功能|
//+----------------------------------------------------------------------------+
void deinit() {
如果(!IsTesting())评论(")。
}

//+----------------------------------------------------------------------------+
//|专家启动功能|
//+----------------------------------------------------------------------------+
空白启动() {
如果(gbDisabled) {
Message("Critical error! EA STOPPED!"); return;
}
如果(gbNoInit) {
Message("EA初始化失败!"); return;
}
如果(ShowComment){
评论(IIFs(AllSymbols, "AllSymbols", ")
, "Magic="+IIFs(Magic<0, "Any", DoubleToStr(Magic, 0))+" "
, "LevelProfit="+DoubleToStr(LevelProfit, 0)+"n "
, "LevelWLoss="+DoubleToStr(LevelWLoss, 0)+"n "
);
} else Comment(")。

string sy=IIFs(AllSymbols, "", NULL)。
MovingInWL(sy, -1, Magic)。
}


//+----------------------------------------------------------------------------+
//| |
//|用户功能|
//| |
//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。
//+----------------------------------------------------------------------------+
//| 版本号 : 01.09.2005||
//| 描述 : 返回贸易操作的名称。
//+----------------------------------------------------------------------------+
//| 参数: ||
//| op--贸易操作的标识符。
//+----------------------------------------------------------------------------+
string GetNameOP(int op) {
switch (op) {
case OP_BUY : return("Buy");
case OP_SELL : return("Sell");
case OP_BUYLIMIT : return("BuyLimit");
case OP_SELLLIMIT : return("SellLimit");
case OP_BUYSTOP : return("BuyStop");
case OP_SELLSTOP : return("SellStop");
默认:返回("未知操作")。
}
}

//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru | |
//+----------------------------------------------------------------------------+
//| 版本号 : 18.07.2008||
//| 说明:根据条件,它返回两个值中的一个。
//+----------------------------------------------------------------------------+
color IIFc(bool condition, color ifTrue, color ifFalse) {
如果(条件)返回(ifTrue);否则返回(ifFalse)。
}

//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。
//+----------------------------------------------------------------------------+
//| 版本号 : 01.02.2008||
//| 说明:根据条件,它返回两个值中的一个。
//+----------------------------------------------------------------------------+
string IIFs(bool condition, string ifTrue, string ifFalse) {
如果(条件)返回(ifTrue);否则返回(ifFalse)。
}

//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。
//+----------------------------------------------------------------------------+
//| 版本号 : 01.09.2005||
//| 说明:在评论和日志中显示一条信息。
//+----------------------------------------------------------------------------+
//| 参数: |
//| m - 信息文本 |
//+----------------------------------------------------------------------------+
空白消息(字符串m) {
评论(m)。
如果(StringLen(m)>0) Print(m)。
}

//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。
//+----------------------------------------------------------------------------+
//| 版本号 : 28.11.2006||
//| 说明:修改一个预选的订单。
//+----------------------------------------------------------------------------+
//| 参数 : |
//| pp - 订单的价格水平。
//| sl - 止损的价格水平。
//| tp--外卖的价格水平。
//| ex - 过期日期|
//+----------------------------------------------------------------------------+
void ModifyOrder(double pp=-1, double sl=0, double tp=0, datetime ex=0) {
bool fm;
color cl=IIFc(OrderType()==OP_BUY)
|| OrderType()==OP_BUYLIMIT
|| OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell)。
双人操作,pa,pb,os,ot。
int dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it;

如果(pp<=0)pp=OrderOpenPrice()。
如果(sl<0 ) sl=OrderStopLoss()。
如果(tp<0 ) tp=OrderTakeProfit()。

pp=NormalizeDouble(pp, dg)。
sl=NormalizeDouble(sl, dg);
tp=NormalizeDouble(tp, dg)。
op=NormalizeDouble(OrderOpenPrice(), dg)。
os=NormalizeDouble(OrderStopLoss(), dg)。
ot=NormalizeDouble(OrderTakeProfit(), dg)。

如果(pp!=op || sl!=os || tp!=ot) {
for (it=1; it<=NumberOfTry; it++) {
if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
while (!IsTradeAllowed())睡眠(5000)。
RefreshRates()。
fm=OrderModify(OrderTicket(, pp, sl, tp, ex, cl)。
如果(fm){
如果(UseSound)PlaySound(SoundSuccess); break;
} else {
er=GetLastError()。
如果(UseSound)PlaySound(SoundError)。
pa=MarketInfo(OrderSymbol(), MODE_ASK)。
pb=MarketInfo(OrderSymbol(), MODE_BID)。
Print("Error(",er,") modifying order:",ErrorDescription(er),",try" it)。
Print("Ask=",pa," Bid=",pb," sy=",OrderSymbol(),
" op="+GetNameOP(OrderType())," pp=",pp," sl=",sl," tp=",tp)。
睡眠(1000*10)。
}
}
}
}

//+----------------------------------------------------------------------------+
//| Author : Kim Igor V. aka KimIV, http://www.kimiv.ru |。
//+----------------------------------------------------------------------------+
//| 版本号 : 23.04.2009||
//| 说明:将停止水平移至无损
//+----------------------------------------------------------------------------+
//| 参数: |
//| sy - 工具的名称("" - 任何符号,|
//| NULL - 当前符号) |
//| op - 操作 ( -1 - 任何位置) | |
//| mn - 魔法数字(-1 - 任何魔法)|
//+----------------------------------------------------------------------------+
void MovingInWL(string sy="", int op=-1, int mn=-1) {
双宝,页。
int i, k=OrdersTotal();

如果(sy=="0")sy=符号()。
for (i=0; i<k; i++) {
如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
如果((OrderSymbol()==sy || sy==")&& (op<0 || OrderType()==op)){
如果(mn<0 || OrderMagicNumber()==mn) {
po=MarketInfo(OrderSymbol(), MODE_POINT)。
如果(OrderType()==OP_BUY){
如果(OrderStopLoss()-OrderOpenPrice()<LevelWLoss*po) {
pp=MarketInfo(OrderSymbol(), MODE_BID)。
如果(pp-OrderOpenPrice()>LevelProfit*po) {
ModifyOrder(-1, OrderOpenPrice()+LevelWLoss*po, -1)。
}
}
}
如果(OrderType()==OP_SELL) {
如果(OrderStopLoss()==0 || OrderOpenPrice()-OrderStopLoss()<LevelWLoss*po) {
pp=MarketInfo(OrderSymbol(), MODE_ASK)。
如果(OrderOpenPrice()-pp>LevelProfit*po) {
ModifyOrder(-1, OrderOpenPrice()-LevelWLoss*po, -1)。
}
}
}
}
}
}
}
}
//+----------------------------------------------------------------------------+

 
这是伊戈尔-金的代码,但我无法与他取得联系。如果你能提供帮助!
 
GSB:

首先,你自己试图在屏幕上显示它们来检查,这导致了错误,其次,正常化是可取的,订单设置价格和TP,SL。如果价格没有被规范化,就会导致错误。这是规则,我们不应该破坏它。请看例子并分析为什么是这样而不是相反,例如:https://book.mql4.com/ru/samples/shared

我写它不是为了责备,只是为了让别人看到。谢谢你的时间。