[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 457 1...450451452453454455456457458459460461462463464...652 新评论 Сергей Исаев 2011.12.26 15:28 #4561 sergeev: 使你的_地段正常化 谢谢你!这很有帮助。 Gerkl 2011.12.26 19:07 #4562 你好!我有一个关于将数据导出到Excel的问题。我需要该指标(或脚本)在每天开始时自动将 "余额"、"资金 "等的当前值导出到Excel。你能告诉我如何实现这一点吗?或者至少在哪里可以读到相关信息。搜索没有带来任何结果,所以我在这里问。 谢谢你。 Всеволод 2011.12.26 22:00 #4563 Gerkl: 你好!我有一个关于将数据导出到Excel的问题。我需要该指标(或脚本)在每天开始时自动将 "余额"、"资金 "等的当前值导出到Excel。你能告诉我如何实现这一点吗?或者至少在哪里可以读到相关信息。搜索没有产生任何结果,所以我在这里问。 谢谢你。 你可以用Expert保存一个csv文件,Excel会很成功地处理它。 Gerkl 2011.12.26 22:14 #4564 splxgf: 你可以用专家保存一个csv文件,Excel会很成功地处理它。 你能告诉我如何做到这一点吗?以及在哪里可以了解到更多信息。 谢谢你。 Vadim Zhunko 2011.12.27 00:40 #4565 Gerkl: 你能告诉我如何做到这一点吗?我在哪里可以找到更多关于它的信息呢? 谢谢你。https://docs.mql4.com/ru/files [删除] 2011.12.27 00:56 #4566 请教如何使EA中的指标 不被画在图表上? 也就是说,指标的线条不会被画在图表上。该指标是这样调用的。 indikator_1=iMA(NULL,60,maTrendPeriodv_1,0,MODE_SMA,PRICE_CLOSE,0); Gerkl 2011.12.27 01:07 #4567 谢谢你。虽然这并没有告诉我什么,但会加以研究。 Zhunko: https://docs.mql4.com/ru/files Artyom Trishkin 2011.12.27 02:07 #4568 belck: 请教如何使EA中的指标不被画在图表上? 也就是说,指标的线条不会被画在图表上。该指标是这样调用的。 indikator_1=iMA(NULL,60,maTrendPeriodv_1,0,MODE_SMA,PRICE_CLOSE,0); 除非你自己把它放在图表上,否则当EA运行时,它将不会被反映出来。你是如何做到这一点的? [删除] 2011.12.27 03:42 #4569 在测试EA的过程中,我得到错误130--错误的停止。在NewOrder函数中,应该传递外部变量TakeProfit和StopLoss,在我看来,我已经做了一切来实现这一点,但正如打印显示的那样,传递的是零。我明白这个错误的原因在于此,但我还没能找到它。我需要你的帮助。 外来int TakeProfit=100。 外来的int StopLoss=100。 .................................... 如果(KVADRAT==1) { double Lot=GetLot(MaxRisk); Print("Lot=",Lot); 如果(Lot==0) { Print("not enough funds"); return(0); } NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss)。 NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss)。 KVADRAT=0。 } ..................................... //+---------Функция расчета лота---------------------------------------+ double GetLot(int Risk) { double Free=AccountFreeMargin()。 double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED)。 double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT)。 double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT)。 double Step=MarketInfo(Symbol(),MODE_LOTSTEP)。 double Lot=MathFloor(Free*Risk/100/One_Lot/Step)*Step。 如果(Lot<Min_Lot)Lot=Min_Lot。 如果(Lot>Max_Lot)Lot=Max_Lot。 如果(Lot*One_Lot>Free)返回(0.0)。 return(Lot)。 } //+----------Функция открытия ордера-----------------------------------+ int NewOrder(int Cmd,double Lot,int TakeProfit,int StopLoss) { 双重TP=0;//获取利润 double SL=0;// stopLoss 双重PR=0;//价格 while(!IsTradeAllowed())Sleep(100)。 如果(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL)) TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL)。 如果(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL)) StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)。 如果(Cmd==OP_BUY) { PR=NormalizeDouble(Ask,Digits)。 如果(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)。 如果(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits)。 } 如果(Cmd==OP_SELL) { PR=NormalizeDouble(Bid,Digits)。 如果(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits)。 如果(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits)。 } Print("TakeProfit=",TakeProfit," StopLoss=",StopLoss," StopLevel=",MarketInfo(Symbol(),MODE_STOPLEVEL))。 tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE) 。 if(tic<0)Print("order open error:",GetLastError()); Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP) 。 return(tic)。 } [ARCHIVE] Any rookie question, [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 [WARNING CLOSED!] Any newbie DOCTORGAD 2011.12.27 04:36 #4570 DhP: 用这个函数做一些魔术。 *去做魔术 * 1...450451452453454455456457458459460461462463464...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
使你的_地段正常化
谢谢你!这很有帮助。
你好!我有一个关于将数据导出到Excel的问题。我需要该指标(或脚本)在每天开始时自动将 "余额"、"资金 "等的当前值导出到Excel。你能告诉我如何实现这一点吗?或者至少在哪里可以读到相关信息。搜索没有产生任何结果,所以我在这里问。 谢谢你。
你可以用专家保存一个csv文件,Excel会很成功地处理它。
你能告诉我如何做到这一点吗?我在哪里可以找到更多关于它的信息呢? 谢谢你。
请教如何使EA中的指标 不被画在图表上?
也就是说,指标的线条不会被画在图表上。该指标是这样调用的。
https://docs.mql4.com/ru/files
请教如何使EA中的指标不被画在图表上?
也就是说,指标的线条不会被画在图表上。该指标是这样调用的。
在测试EA的过程中,我得到错误130--错误的停止。在NewOrder函数中,应该传递外部变量TakeProfit和StopLoss,在我看来,我已经做了一切来实现这一点,但正如打印显示的那样,传递的是零。我明白这个错误的原因在于此,但我还没能找到它。我需要你的帮助。
外来int TakeProfit=100。
外来的int StopLoss=100。
....................................
如果(KVADRAT==1)
{
double Lot=GetLot(MaxRisk);
Print("Lot=",Lot);
如果(Lot==0)
{
Print("not enough funds");
return(0);
}
NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss)。
NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss)。
KVADRAT=0。
}
.....................................
//+---------Функция расчета лота---------------------------------------+
double GetLot(int Risk)
{
double Free=AccountFreeMargin()。
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED)。
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT)。
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT)。
double Step=MarketInfo(Symbol(),MODE_LOTSTEP)。
double Lot=MathFloor(Free*Risk/100/One_Lot/Step)*Step。
如果(Lot<Min_Lot)Lot=Min_Lot。
如果(Lot>Max_Lot)Lot=Max_Lot。
如果(Lot*One_Lot>Free)返回(0.0)。
return(Lot)。
}
//+----------Функция открытия ордера-----------------------------------+
int NewOrder(int Cmd,double Lot,int TakeProfit,int StopLoss)
{
双重TP=0;//获取利润
double SL=0;// stopLoss
双重PR=0;//价格
while(!IsTradeAllowed())Sleep(100)。
如果(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL)。
如果(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)。
如果(Cmd==OP_BUY)
{
PR=NormalizeDouble(Ask,Digits)。
如果(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits)。
如果(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits)。
}
如果(Cmd==OP_SELL)
{
PR=NormalizeDouble(Bid,Digits)。
如果(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits)。
如果(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits)。
}
Print("TakeProfit=",TakeProfit," StopLoss=",StopLoss," StopLevel=",MarketInfo(Symbol(),MODE_STOPLEVEL))。
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE) 。
if(tic<0)Print("order open error:",GetLastError()); Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP) 。
return(tic)。
}
用这个函数做一些魔术。
*去做魔术 *