[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 260

 

公民你好。

为了不使论坛真的变得杂乱无章,我决定在这个主题中写。请回答,在我的两台电脑上曾有(现在只剩下一台,在匆忙中重新安装了Windows)MetaTrader 4,有一个头脑风暴,我失去了我的密码,所以仍然保持MT4未被触动,我可以看到,并登录,并正常使用这个帐户,但我看到密码只在星号下。我看到在MT4输入号码和密码的对话框 中,有一个复选框 "存储个人信息",我可以在某个地方看到这个文件,密码会在里面吗?

 
vovdec >> :

...我丢失了我的密码,所以这就是MT4仍然没有被触动的地方,我可以看到,并登录,并正常使用这个账户,但我只能看到星号下面的密码。我看到在MT4输入号码和密码的对话框中,有一个复选框 "存储个人信息",我可以在某个地方看到这个文件吗,密码会在里面吗...?

MT4的密码是以加密的形式存储的,其位置不会被公开。

当地的一些野牛已经把它拉出来了,但说句不好听的,这是个挑战。

当复制/转移MT4文件夹时,密码会丢失。为安全目的而制造。

任何真实账户的密码都可以通过TP恢复。

从演示中,最好是保存它或改变它为一个你不会忘记的,紧接着

>> 最好在你打开演示后再保存或更改。

 

你好。我在这里做了一个小的EA,它只是按时间开了一个头寸。基本上一切正常,但我无法在历史上测试。帮助我理解它。

//+------------------------------------------------------------------+
//| Midnight.mq4 |
//| BaceK |
//| |
//+------------------------------------------------------------------+
#财产版权"BaceK"
#属性链接""

//---- 输入参数
Extern int Dist_SL=20。
外部int_TP=30。
外来的双倍Prots=0.35。
//+------------------------------------------------------------------+
//|专家初始化功能|
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{

string Symb=Symbol(); // financial. instrument.
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL); // Min_Dist
//Alert("Min. distance = ",Min_Dist)。
double Min_Lot=MarketInfo(Symb,MODE_MINLOT);//最小手数。
//Alert("Min. lot size = ",Min_Lot)。
double Free =AccountFreeMargin(); // Free意味着
//Alert("Free money = ",Free);
double One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);//One_Lot的E值
//Alert("Cost per lot = ",One_Lot)。
double Lot=MathFloor((Free*Prots)/(One_Lot*Min_Lot))*Min_Lot;//Lots
//Alert("Bars = ",Lot)。
//Alert("Bars = ",Bars)。

//-----------------------------------------------
// 检查是否有自由空间
if ( Lot != 0 )
{
//Alert("Work onwards = ",OrderSymbol())。

// 检查工作时间
int h=TimeHour(TimeCurrent())。
如果 ( h < 1 )
{
for(int i=1; i<=OrdersTotal(); i++) // 订单循环
{
如果(OrderSelect(i-1,SELECT_BY_POS)==true) //如果有
{
// 订单分析。
if (OrderSymbol()!= Symb) // 不是我们的金融工具。
{
//Alert("Work Next = ",OrderSymbol())。
// 确定哪种方式可以打开
如果(iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
{
//Alert("Long position = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) 。
int ticket=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point, Bid+Dist_TP*Point)。
否则
{
//Alert("Short Position = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) 。
int ticket1=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point, Bid-Dist_TP*Point)。
}
if (ticket>0 || ticket1>0) // 成功了 :)
{
// 提醒("一个卖出的订单被设置为",ticket || ticket1)。
睡眠(5000)。
否则
{
int Error=GetLastError(); // failed :(
switch(Error) // 无法克服的错误
{
case 129:Alert("Wrong price. Try again...")。
RefreshRates(); // 刷新数据。
return(0);
case 135:Alert("The price changed. Try again...");
RefreshRates(); // 刷新数据。
return(0); // 下一次迭代。
case 146:Alert("The trading subsystem is busy. Try again...");
Sleep(500); // 简单的解决方案。
RefreshRates(); // 刷新数据。
return(0); // 下一次迭代
}
switch(Error) // 关键错误
{
case 2 : Alert("General error;)
break; // 退出开关
case 5 : Alert("客户终端的旧版本。")。
return(0); // 退出开关。
case 64 : Alert("Account blocked.")。
return(0); // 在开关中退出
case 133:Alert("禁止交易")。
return(0); // 退出开关
默认:Alert("An error has occurred",Error);//其他选项
}
//Alert("GetLastError();
return(0);
}


否则
{
//Alert("Exit by Symb = ",Symb)。
return(0);
}
否则
{

//Alert("Exit by no order = ",Symb)。
如果(iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
{
//Alert("Long position = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) 。
int ticket2=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point, Bid+Dist_TP*Point)。
否则
{
//Alert("Short Position = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) 。
int ticket3=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point, Bid-Dist_TP*Point)。
}
如果(ticket2>0 || ticket3>0) // 它成功了 :)
{
//提示("卖出订单设置",ticket2 || ticket3)。
睡眠(5000)。
否则

{
int Error1=GetLastError(); // failed :(
switch(Error1) // 无法克服的错误
{
case 129:Alert("Wrong price. Try again...")。
RefreshRates(); // 刷新数据。
return(0);
case 135:Alert("The price changed. Try again...");
RefreshRates(); // 刷新数据。
return(0); // 下一次迭代。
case 146:Alert("The trading subsystem is busy. Try again...");
Sleep(500); // 简单的解决方案。
RefreshRates(); // 刷新数据。
return(0); // 下一次迭代
}
switch(Error1) // 关键错误
{
case 2 : Alert("General error;)
break; // 退出开关
case 5 : Alert("客户终端的旧版本。")。
return(0); // 退出开关。
case 64 : Alert("Account blocked.")。
return(0); // 在开关中退出
case 133:Alert("禁止交易")。
return(0); // 退出开关
默认:Alert("An error has occurred",Error1);//其他选项
}
Alert("GetLastError();
return(0);
}

}
}

否则
{
// Alert("Exit by time = ",Hour())。
return(0);
}
否则
{
//Alert("Exit by Lot = ",Lot)。
return(0);
}

//----


//Alert ("Script finished -----------------------------")。
return(0);
}
//+------------------------------------------------------------------+

 

到底是什么不工作? 如果警报在测试器中如此不工作,那就用打印或注释来代替它。

而不是警告,把一个函数像这样。

void ComAlert(string text)
{//+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
 if(IsTesting())Comment( text);else Alert( text);
return;
}//+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+


 

该顾问在测试器中根本没有进行过一次交易。一切都是零。

 
BaceK1 >> :

该顾问在测试器中根本没有进行过一次交易。全部为零。

>> 它在现场工作吗?

 
它在直播模式下工作。 以设定的参数在所需方向上打开位置。它在测试器中没有打开任何东西。
 
BaceK1 >> :
在现场模式下工作。它以设定的参数在所需方向上打开位置。在测试器中,它没有打开任何东西。

日志中说什么?勇敢点,还是我必须从你嘴里套出每一个字。

 

2009.10.16 20:33:19 2009.07.31 22:43 Midnight EURJPY,Daily:Alert: Time Out = 22

从下往上的第三个警报

 
我如何在一个准确的时间内开仓?例如,一个仓位必须在当地时间00.15开仓。
原因: