如何编码? - 页 248 1...241242243244245246247248249250251252253254255...347 新评论 csloh1960 2010.10.28 11:45 #2471 increase 2010.11.05 23:14 #2472 帮助--如何修改EA使现有交易保持开放状态 我需要一个相当简单的解决方案,如果有人能提供帮助的话 我有一个EA,现在是盈利的,但它同时开仓和平仓,所以在任何时候都只有一个交易是活跃的。 我现在想在一个现有的账户上运行它,该账户已经有一些现有的交易,我想让这些交易继续运行,但让EA继续打开和关闭它自己的交易,作为一个附带问题,当任何现有的交易变得有利可图时,它就会关闭这些。 如果能保持简单,可以忽略关闭现有交易的要求,如果需要,我可以手动关闭这些交易。 以下是我的EA目前使用的方法 if(val1 > val2) {trade_text = " BUY trade open";trend_text = "UP";BV=1; break;} if(val1 < val2) {trade_text = " SELL trade open";trend_text = "DOWN";SV=1;break;} } } // 专家资金管理 if(MM){if(Risk100){Comment("Invalid Risk Value.");return(0);}. else{MML=MathFloor((AccountFreeMargin()*AccountLeverage()*Risk*Point*100)/(Ask*MarketInfo(Symbol(),MODE_LOTSIZE)*MarketInfo(Symbol(),MODE_MINLOT)))*MarketInfo(Symbol(),MODE_MINLOT);} 如果(MM==false){MML=Lots;} } // 专家启动头寸 int cnt=0,OP=0,OS=0,OB=0,CS=0,CB=0;OP=0;for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) 。 if((OrderType()==OP_SELL||OrderType()==OP_BUY)&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0))OP=OP+1; } if(OP>=1){OS=0; OB=0;}OB=0;OS=0;CB=0;CS=0;//专家条件下的开仓 if(SV>0){OS=1;OB=0;}if(BV>0){OB=1;OS=0;} // 平仓的专家条件 如果((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;}. if((BV>0)|(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)|(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}. for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES); 如果(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0) {if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Aqua);temp = Bid;return(0);}}. 如果(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)) { if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Gold);temp = Bid;return(0);}}double SLI=0,TPI=0; int TK=0; //专家开仓值 if((AddP()&&Add_Positions&&OP<=MaxOrders)|(OP==0&&! Add_Positions)){ if(OS==1){if(TP==0)TPI=0;否则TPI=Bid-TP*Point;if(SL==0)SLI=0;否则SLI=Bid+SL*Point;OS=0;return(0); } if(OB==1){if(TP==0)TPI=0;else TPI=Ask+TP*Point;if(SL==0)SLI=0;else SLI=Ask-SL*Point;{TK=OrderSend(Symbol(),OP_BUY,MML,Ask,Slip,SLI,TPI,OrSt,Magic,0,Blue); OB=0; return(0); } } for(j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){TrP();}}返回(0); } } // 专家的订单数 int CntO(int Type,int Magic){int _CntO;_CntO=0; for(int j=0;j<OrdersTotal();j++){OrderSelect(j,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()==Symbol()){if(OrderType()==Type&&(OrderMagicNumber()==Magic)||Magic==0)}_CntO++; }}return(_CntO); } //专家盈亏平衡 void TrP(){double pb,pa,pp;pp=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){pb=MarketInfo(OrderSymbol(),MODE_BID) 。 if(BE>0){if((pb-OrderOpenPrice())>BE*pp){if((OrderStopLoss()-OrderOpenPrice())<0){ModSL(OrderOpenPrice()+0*pp);}}。 // 专家追踪止损 if(TS>0){if((pb-OrderOpenPrice())>TS*pp){if(OrderStopLoss()<pb-(TS+TS_Step-1)*pp){ModSL(pb-TS*pp);返回;}}}} 如果(OrderType()==OP_SELL){pa=MarketInfo(OrderSymbol(),MODE_ASK);如果(BE>0){如果(OrderOpenPrice()-pa)>BE*pp){如果(OrderOpenPrice()-OrderStopLoss())<0){ModSL(OrderOpenPrice()-0*pp);}}} if(TS>0){if(OrderOpenPrice()-pa>TS*pp){if(OrderStopLoss()>pa+(TS+TS_Step-1)*pp||OrderStopLoss()==0){ModSL(pa+TS*pp);返回;}}}}} //专家止损 void ModSL(double ldSL){bool fm;fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldSL,OrderTakeProfit(),0,CLR_NONE); } //专家添加头寸功能 bool AddP(){int _num=0; int _ot=0; for (int j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS)==true &&OrderSymbol()==Symbol()&&OrderType()<3&&((OrderMagicNumber()==Magic)||Magic==0)) { _num++;如果(OrderOpenTime()>_ot) _ot=OrderOpenTime();}if(_num==0) return(true);if(_num>0 && ((Time[0]-_ot))>0) return(true);否则 return(false);} How to code? Help - how to Custom indicator name must aboukalil 2010.11.06 00:38 #2473 /* // 平仓的专家条件 if((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;} 。 if((BV>0)|(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)|(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}. for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt ,SELECT_BY_POS, MODE_TRADES); 如果(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&( (OrderMagicNumber()==Magic)||Magic==0)) {if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bi d,Slip,Aqua); temp = Bid;return(0);}} 如果(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){ if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask ,Slip,Gold);temp = Bid;return(0);}}double SLI=0,TPI=0; int TK=0; */ 只在专家条件的开始部分加入/*平仓的条件 和 */在结束时 msn aboukalil ( at) hotmail.fr How to code? 10点3.mq4 你对这份演示报告有何看法?2小时内存款增加330倍 increase 2010.11.06 01:00 #2474 谢谢aboukalil的快速回答,但我不太明白,如果我把它编辑出来,我不是没有关闭命令吗,它会保留我现有的交易,但我的EA永远不会关闭它自己的交易,在相反的方向打开? 你能在这方面提供一点帮助吗? forex_for_life 2010.11.10 17:31 #2475 大家好..... 很好奇是否有人知道或拥有一个通用指标,允许人们在通用指标的iCustoms中调用任何基于线的单一缓冲指标,以便当通用指标被连接到图表上时,它将显示为双色柱状图指标,其颜色变化是基于iCustomed indy的斜率? 感谢任何和所有的帮助。 biddick 2010.11.13 14:56 #2476 女士们,先生们。 我怎样才能把一个指标变成csv文件? Ahmed Soliman 2010.11.13 16:00 #2477 biddick: 女士们,先生们,我怎样才能把一个指标变成csv文件? 你是指如何保存为CSV文件吗? 请看这个。 工具 - .csv阅读器 rozirozi 2010.11.13 16:07 #2478 tricky 2010.11.13 22:08 #2479 请帮助修改这个小脚本 你好。 谁能帮我修改一下这个小的订单输入脚本? 以便交易的手数是账户规模的风险%的函数 我知道这行代码应该插在某个地方,但我不知道如何编程 double Risk = RiskPercent / 100; 如果(UseMoneyMgmt) Lots=NormalizeDouble(AccountBalance()*Risk/stoploss/(MarketInfo(Symbol(),MODE_TICKVALUE),2)。 非常感谢 附加的文件: buy_1_0.01_lhl.mq4 2 kb nabegheh95 2010.11.14 08:08 #2480 待定订单 嗨! 我如何管理挂单?(使用MT4 api) 当我的程序收到TT_ORDER_PENDING_OPEN(交易类型) 并在抽水通知中收到PUMP_UPDATE_ACTIVATION的通知 1...241242243244245246247248249250251252253254255...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
帮助--如何修改EA使现有交易保持开放状态
我需要一个相当简单的解决方案,如果有人能提供帮助的话
我有一个EA,现在是盈利的,但它同时开仓和平仓,所以在任何时候都只有一个交易是活跃的。
我现在想在一个现有的账户上运行它,该账户已经有一些现有的交易,我想让这些交易继续运行,但让EA继续打开和关闭它自己的交易,作为一个附带问题,当任何现有的交易变得有利可图时,它就会关闭这些。
如果能保持简单,可以忽略关闭现有交易的要求,如果需要,我可以手动关闭这些交易。
以下是我的EA目前使用的方法
if(val1 > val2) {trade_text = " BUY trade open";trend_text = "UP";BV=1; break;}
if(val1 < val2) {trade_text = " SELL trade open";trend_text = "DOWN";SV=1;break;} } }
// 专家资金管理
if(MM){if(Risk100){Comment("Invalid Risk Value.");return(0);}.
else{MML=MathFloor((AccountFreeMargin()*AccountLeverage()*Risk*Point*100)/(Ask*MarketInfo(Symbol(),MODE_LOTSIZE)*MarketInfo(Symbol(),MODE_MINLOT)))*MarketInfo(Symbol(),MODE_MINLOT);}
如果(MM==false){MML=Lots;} }
// 专家启动头寸
int cnt=0,OP=0,OS=0,OB=0,CS=0,CB=0;OP=0;for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) 。
if((OrderType()==OP_SELL||OrderType()==OP_BUY)&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0))OP=OP+1; }
if(OP>=1){OS=0; OB=0;}OB=0;OS=0;CB=0;CS=0;//专家条件下的开仓
if(SV>0){OS=1;OB=0;}if(BV>0){OB=1;OS=0;}
// 平仓的专家条件
如果((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;}.
if((BV>0)|(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)|(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}.
for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
如果(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)
{if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Aqua);temp = Bid;return(0);}}.
如果(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)) {
if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Gold);temp = Bid;return(0);}}double SLI=0,TPI=0; int TK=0;
//专家开仓值
if((AddP()&&Add_Positions&&OP<=MaxOrders)|(OP==0&&! Add_Positions)){
if(OS==1){if(TP==0)TPI=0;否则TPI=Bid-TP*Point;if(SL==0)SLI=0;否则SLI=Bid+SL*Point;OS=0;return(0); }
if(OB==1){if(TP==0)TPI=0;else TPI=Ask+TP*Point;if(SL==0)SLI=0;else SLI=Ask-SL*Point;{TK=OrderSend(Symbol(),OP_BUY,MML,Ask,Slip,SLI,TPI,OrSt,Magic,0,Blue); OB=0; return(0); } }
for(j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){TrP();}}返回(0); } }
// 专家的订单数
int CntO(int Type,int Magic){int _CntO;_CntO=0;
for(int j=0;j<OrdersTotal();j++){OrderSelect(j,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()==Symbol()){if(OrderType()==Type&&(OrderMagicNumber()==Magic)||Magic==0)}_CntO++; }}return(_CntO); }
//专家盈亏平衡
void TrP(){double pb,pa,pp;pp=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){pb=MarketInfo(OrderSymbol(),MODE_BID) 。
if(BE>0){if((pb-OrderOpenPrice())>BE*pp){if((OrderStopLoss()-OrderOpenPrice())<0){ModSL(OrderOpenPrice()+0*pp);}}。
// 专家追踪止损
if(TS>0){if((pb-OrderOpenPrice())>TS*pp){if(OrderStopLoss()<pb-(TS+TS_Step-1)*pp){ModSL(pb-TS*pp);返回;}}}}
如果(OrderType()==OP_SELL){pa=MarketInfo(OrderSymbol(),MODE_ASK);如果(BE>0){如果(OrderOpenPrice()-pa)>BE*pp){如果(OrderOpenPrice()-OrderStopLoss())<0){ModSL(OrderOpenPrice()-0*pp);}}}
if(TS>0){if(OrderOpenPrice()-pa>TS*pp){if(OrderStopLoss()>pa+(TS+TS_Step-1)*pp||OrderStopLoss()==0){ModSL(pa+TS*pp);返回;}}}}}
//专家止损
void ModSL(double ldSL){bool fm;fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldSL,OrderTakeProfit(),0,CLR_NONE); }
//专家添加头寸功能
bool AddP(){int _num=0; int _ot=0;
for (int j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS)==true &&OrderSymbol()==Symbol()&&OrderType()<3&&((OrderMagicNumber()==Magic)||Magic==0)) {
_num++;如果(OrderOpenTime()>_ot) _ot=OrderOpenTime();}if(_num==0) return(true);if(_num>0 && ((Time[0]-_ot))>0) return(true);否则 return(false);}
/*
// 平仓的专家条件
if((SV>0)||(RealSL_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealSL)||(RealTP_Enabled&&(Ask-OrderOpenPrice())/Point>=RealTP)){CB=1;} 。
if((BV>0)|(RealSL_Enabled&&(Ask-OrderOpenPrice())/Point>=RealSL)|(RealTP_Enabled&&(OrderOpenPrice()-Bid)/Point>=RealTP)){CS=1;}.
for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt ,SELECT_BY_POS, MODE_TRADES);
如果(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&( (OrderMagicNumber()==Magic)||Magic==0))
{if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bi d,Slip,Aqua); temp = Bid;return(0);}}
如果(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){
if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask ,Slip,Gold);temp = Bid;return(0);}}double SLI=0,TPI=0; int TK=0;
*/
只在专家条件的开始部分加入/*平仓的条件
和 */在结束时
msn aboukalil ( at) hotmail.fr
谢谢aboukalil的快速回答,但我不太明白,如果我把它编辑出来,我不是没有关闭命令吗,它会保留我现有的交易,但我的EA永远不会关闭它自己的交易,在相反的方向打开?
你能在这方面提供一点帮助吗?
大家好.....
很好奇是否有人知道或拥有一个通用指标,允许人们在通用指标的iCustoms中调用任何基于线的单一缓冲指标,以便当通用指标被连接到图表上时,它将显示为双色柱状图指标,其颜色变化是基于iCustomed indy的斜率?
感谢任何和所有的帮助。
女士们,先生们。
我怎样才能把一个指标变成csv文件?
女士们,先生们,我怎样才能把一个指标变成csv文件?
你是指如何保存为CSV文件吗?
请看这个。
工具 - .csv阅读器
请帮助修改这个小脚本
你好。
谁能帮我修改一下这个小的订单输入脚本?
以便交易的手数是账户规模的风险%的函数
我知道这行代码应该插在某个地方,但我不知道如何编程
double Risk = RiskPercent / 100;
如果(UseMoneyMgmt)
Lots=NormalizeDouble(AccountBalance()*Risk/stoploss/(MarketInfo(Symbol(),MODE_TICKVALUE),2)。
非常感谢
待定订单
嗨!
我如何管理挂单?(使用MT4 api)
当我的程序收到TT_ORDER_PENDING_OPEN(交易类型)
并在抽水通知中收到PUMP_UPDATE_ACTIVATION的通知