编码帮助 - 页 657 1...650651652653654655656657658659660661662663664...786 新评论 Cenk 2016.07.13 09:55 #6561 亲爱的朋友们。这款软件在某些时候能在不同的货币对上工作吗?例如:在某些时候,欧元兑美元+英镑兑美元等。谢谢你... 附加的文件: ema_cross_32_nmc.mq4 11 kb Mladen Rakic 2016.07.13 10:21 #6562 oguz: 亲爱的朋友们。这个软件在某些时候对不同的货币对起作用吗?例如:在某些时候,欧元兑美元+英镑兑美元等。谢谢你... 把它附在不同的图表上,用不同的魔法数字,它应该可以工作。否则,从代码来看,你可能会有一个重大的混合。 Cenk 2016.07.13 10:32 #6563 mladen: 把它附在不同的图表上,用不同的魔法数字,它应该可以工作。否则,从代码来看,你可能会有一个重大的混杂。 非常感谢你提供的详细信息。顺便问一下,我们能不能把任何数字作为神奇数字附在上面?它的默认魔法号码是:"288"我可以附上它吗?398, 477, 501, 875等等。? FxSteven 2016.07.17 13:55 #6564 亲爱的Mladen ,我想知道我如何能在代码中添加相反的信号关闭?extern bool oppositeSignalclose=true; 我已经试过了,但它在每个柱子上都关闭。你能帮我看看我需要对 "OrderSended "进行哪些修改,在买入后关闭所有卖出/卖出后关闭所有买入。谢谢你。 // New buy orders TotalBuyOrders = CountOfOrders(MagicNumberBuy); if(TotalBuyOrders > 0 && TotalBuyOrders < MaxTrades) { OrderSended = -1; LastSellPrice = FindLastOrderParameter(MagicNumberBuy, "price"); if(LastSellPrice - Ask >= GetPipstepForStep(TotalBuyOrders + 1) * vPoint) { BLot = GetLotForStep(MagicNumberBuy, TotalBuyOrders); BComment = StringSubstr(LastOrderComment, 0, StringFind(LastOrderComment, "|", 0)) + "|"; OrderSended = SendMarketOrder(OP_BUY, BLot, 0, 0, MagicNumberBuy, BComment); } } // New sell orders TotalSellOrders = CountOfOrders(MagicNumberSell); if(TotalSellOrders > 0 && TotalSellOrders < MaxTrades) { OrderSended = -1; LastBuyPrice = FindLastOrderParameter(MagicNumberSell, "price"); if (Bid - LastBuyPrice >= GetPipstepForStep(TotalSellOrders + 1) * vPoint) { SLot = GetLotForStep(MagicNumberSell, TotalSellOrders); SComment = StringSubstr(LastOrderComment, 0, StringFind(LastOrderComment, "|", 0)) + "|"; OrderSended = SendMarketOrder(OP_SELL, SLot, 0, 0, MagicNumberSell, SComment); } } Mladen Rakic 2016.07.17 14:37 #6565 stevenpun: 亲爱的Mladen ,我想知道我如何能在代码中添加相反的信号关闭?我已经试过了,但它在每个柱子上都关闭。你能帮我看看我需要对 "OrderSended "进行哪些修改,在买入后关闭所有卖出/卖出后关闭所有买入。谢谢你。 如果相反的Signalclose设置为 "true",则反转对CountOfOrders的调用(即,像这样的:if (oppositeSignalclose) TotalBuyOrders = CountOfOrders(MagicNumberBuy); else TotalBuyOrders = CountOfOrders(MagicNumberSell); 对卖出订单 也要这样做 FxSteven 2016.07.17 19:42 #6566 mladen:如果相反的Signalclose被设置为 "true",则反转对CountOfOrders的调用(即,像这样的情况。 对卖出订单也要这样做 这是一个反向交易吗?我希望当前的交易在相反的信号下关闭。我在网上找到一个代码,但它是在每个柱子上关闭。你能帮我检查一下,是我插入了正确的方式还是我想要的不同东西。还有蜡烛追踪止损,我已经按照你上周教我的方法做了,但还是不能成功。extern bool oppositeclose=true;if((oppositeclose && sell))closebuy(); if((oppositeclose && buy))closesell();//|---------close void closebuy(){ RefreshRates(); if(OrdersTotal()>0){ for(int i=OrdersTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUY){ OrderClose(OrderTicket(),OrderLots(),Bid,slippage*mt); } } } } void closesell(){ RefreshRates(); if(OrdersTotal()>0){ for(int i=OrdersTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELL){ OrderClose(OrderTicket(),OrderLots(),Ask,slippage*mt); } } } } 附加的文件: BbandTest.mq4 37 kb Mladen Rakic 2016.07.17 20:19 #6567 stevenpun: 这是个反向交易吗?我希望当前的交易在相反的信号时关闭。我在网上找到了一个代码,但它是在每个柱子上关闭的。 你能帮我检查一下,是我插入的方式正确还是我想要的东西不同。还有蜡烛追踪止损,我已经按照你上周教我的方法做了,但还是不能成功。 在我看来,这应该是正确的。 Kostumer27 2016.07.17 21:38 #6568 请帮助我将指标导出 到.csv的代码 它只允许写一个指标......如果要在OHLC之后导出多个数据列,应该如何纠正?//+------------------------------------------------------------------+//| RSI_to_File.mq4 |//| Copyright © 2007, MetaQuotes Software Corp. |//| [url]http://www.metaquotes.ru/[/url] |//+------------------------------------------------------------------+#property copyright "Copyright © 2007, MetaQuotes Software Corp."#property link "http://www.metaquotes.ru/"#property show_inputsstring SymbolsArray[13]={"","GBPUSD","EURUSD"};//+------------------------------------------------------------------+//| string SymbolByNumber |//+------------------------------------------------------------------+string GetSymbolString(int Number) {//---- string res=""; res=SymbolsArray[Number]; //---- return(res); }//+------------------------------------------------------------------+//| возвращает период |//+------------------------------------------------------------------+int PeriodNumber(int number) { int per_min; switch (number) { default: per_min=PERIOD_M1;break; case 1: per_min=PERIOD_M5;break; case 2: per_min=PERIOD_M12;break; } return(per_min); }//+------------------------------------------------------------------+//| выводит в файл котировки + значения индикатора |//+------------------------------------------------------------------+void IFT_output(string SymbolName,int PeriodMinutes) { int size=iBars(SymbolName,PeriodMinutes);//---- if (size==0) return; int handle=FileOpen(SymbolName+PeriodMinutes+"_IFT.csv",FILE_WRITE|FILE_CSV); if (handle<0) return; FileWrite(handle,"Time seconds;Time;Open;Low;High;Close;Volume;IFT"); for (int i=size-1;i>=0;i--) { FileWrite(handle,iTime(SymbolName,PeriodMinutes,i),TimeToStr(iTime(SymbolName,PeriodMinutes,i)) ,iOpen(SymbolName,PeriodMinutes,i),iLow(SymbolName,PeriodMinutes,i),iHigh(SymbolName,PeriodMinutes,i) ,iClose(SymbolName,PeriodMinutes,i),iVolume(SymbolName,PeriodMinutes,i),iCustom(SymbolName,PeriodMinutes,"IFT",0,i)); } FileClose(handle); //---- return; }//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start() { int SymbolCounter,PeriodCounter; //---- for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++) { for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++) { //Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M"); IFT_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter)); } } //---- return(0); }//+------------------------------------------------------------------+ Coding help 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. Mladen Rakic 2016.07.18 05:56 #6569 kostumer27: 请帮助我编写导出指标到.csv的代码。 它只允许写一个指标...如果要在OHLC之后导出多个数据列,应该如何纠正?//+------------------------------------------------------------------+//| RSI_to_File.mq4 |//| Copyright © 2007, MetaQuotes Software Corp. |//| [url]http://www.metaquotes.ru/[/url] |//+------------------------------------------------------------------+#property copyright "Copyright © 2007, MetaQuotes Software Corp."#property link "http://www.metaquotes.ru/"#property show_inputsstring SymbolsArray[13]={"","GBPUSD","EURUSD"};//+------------------------------------------------------------------+//| string SymbolByNumber |//+------------------------------------------------------------------+string GetSymbolString(int Number) {//---- string res=""; res=SymbolsArray[Number]; //---- return(res); }//+------------------------------------------------------------------+//| возвращает период |//+------------------------------------------------------------------+int PeriodNumber(int number) { int per_min; switch (number) { default: per_min=PERIOD_M1;break; case 1: per_min=PERIOD_M5;break; case 2: per_min=PERIOD_M12;break; } return(per_min); }//+------------------------------------------------------------------+//| выводит в файл котировки + значения индикатора |//+------------------------------------------------------------------+void IFT_output(string SymbolName,int PeriodMinutes) { int size=iBars(SymbolName,PeriodMinutes);//---- if (size==0) return; int handle=FileOpen(SymbolName+PeriodMinutes+"_IFT.csv",FILE_WRITE|FILE_CSV); if (handle<0) return; FileWrite(handle,"Time seconds;Time;Open;Low;High;Close;Volume;IFT"); for (int i=size-1;i>=0;i--) { FileWrite(handle,iTime(SymbolName,PeriodMinutes,i),TimeToStr(iTime(SymbolName,PeriodMinutes,i)) ,iOpen(SymbolName,PeriodMinutes,i),iLow(SymbolName,PeriodMinutes,i),iHigh(SymbolName,PeriodMinutes,i) ,iClose(SymbolName,PeriodMinutes,i),iVolume(SymbolName,PeriodMinutes,i),iCustom(SymbolName,PeriodMinutes,"IFT",0,i)); } FileClose(handle); //---- return; }//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start() { int SymbolCounter,PeriodCounter; //---- for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++) { for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++) { //Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M"); IFT_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter)); } } //---- return(0); }//+------------------------------------------------------------------+ 只要在FileWrite()函数参数 中加入你想导出的数据即可。 FxSteven 2016.07.18 06:12 #6570 mladen: 在我看来,这应该是正确的。 我已经解决了相反的关闭功能:>但是当你有空的时候,你能不能帮助检查一下蜡烛的追踪止损,我还是不能解决这个问题:( 1...650651652653654655656657658659660661662663664...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
亲爱的朋友们。
这款软件在某些时候能在不同的货币对上工作吗?
例如:在某些时候,欧元兑美元+英镑兑美元等。
谢谢你...
亲爱的朋友们。
这个软件在某些时候对不同的货币对起作用吗?
例如:在某些时候,欧元兑美元+英镑兑美元等。
谢谢你...
把它附在不同的图表上,用不同的魔法数字,它应该可以工作。否则,从代码来看,你可能会有一个重大的混杂。
非常感谢你提供的详细信息。
顺便问一下,我们能不能把任何数字作为神奇数字附在上面?
它的默认魔法号码是:"288"
我可以附上它吗?398, 477, 501, 875等等。?
亲爱的Mladen ,
我想知道我如何能在代码中添加相反的信号关闭?
我已经试过了,但它在每个柱子上都关闭。
你能帮我看看我需要对 "OrderSended "进行哪些修改,在买入后关闭所有卖出/卖出后关闭所有买入。
谢谢你。
亲爱的Mladen ,
我想知道我如何能在代码中添加相反的信号关闭?
我已经试过了,但它在每个柱子上都关闭。
你能帮我看看我需要对 "OrderSended "进行哪些修改,在买入后关闭所有卖出/卖出后关闭所有买入。
谢谢你。
如果相反的Signalclose设置为 "true",则反转对CountOfOrders的调用(即,像这样的:
对卖出订单 也要这样做如果相反的Signalclose被设置为 "true",则反转对CountOfOrders的调用(即,像这样的情况。
对卖出订单也要这样做这是一个反向交易吗?
我希望当前的交易在相反的信号下关闭。
我在网上找到一个代码,但它是在每个柱子上关闭。
你能帮我检查一下,是我插入了正确的方式还是我想要的不同东西。
还有蜡烛追踪止损,我已经按照你上周教我的方法做了,但还是不能成功。
这是个反向交易吗?
我希望当前的交易在相反的信号时关闭。
我在网上找到了一个代码,但它是在每个柱子上关闭的。
你能帮我检查一下,是我插入的方式正确还是我想要的东西不同。
还有蜡烛追踪止损,我已经按照你上周教我的方法做了,但还是不能成功。
请帮助我将指标导出 到.csv的代码
它只允许写一个指标......
如果要在OHLC之后导出多个数据列,应该如何纠正?
//+------------------------------------------------------------------+
//| RSI_to_File.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| [url]http://www.metaquotes.ru/[/url] |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.ru/"
#property show_inputs
string SymbolsArray[13]={"","GBPUSD","EURUSD"};
//+------------------------------------------------------------------+
//| string SymbolByNumber |
//+------------------------------------------------------------------+
string GetSymbolString(int Number)
{
//----
string res="";
res=SymbolsArray[Number];
//----
return(res);
}
//+------------------------------------------------------------------+
//| возвращает период |
//+------------------------------------------------------------------+
int PeriodNumber(int number)
{
int per_min;
switch (number)
{
default: per_min=PERIOD_M1;break;
case 1: per_min=PERIOD_M5;break;
case 2: per_min=PERIOD_M12;break;
}
return(per_min);
}
//+------------------------------------------------------------------+
//| выводит в файл котировки + значения индикатора |
//+------------------------------------------------------------------+
void IFT_output(string SymbolName,int PeriodMinutes)
{
int size=iBars(SymbolName,PeriodMinutes);
//----
if (size==0) return;
int handle=FileOpen(SymbolName+PeriodMinutes+"_IFT.csv",FILE_WRITE|FILE_CSV);
if (handle<0) return;
FileWrite(handle,"Time seconds;Time;Open;Low;High;Close;Volume;IFT");
for (int i=size-1;i>=0;i--)
{
FileWrite(handle,iTime(SymbolName,PeriodMinutes,i),TimeToStr(iTime(SymbolName,PeriodMinutes,i))
,iOpen(SymbolName,PeriodMinutes,i),iLow(SymbolName,PeriodMinutes,i),iHigh(SymbolName,PeriodMinutes,i)
,iClose(SymbolName,PeriodMinutes,i),iVolume(SymbolName,PeriodMinutes,i),iCustom(SymbolName,PeriodMinutes,"IFT",0,i));
}
FileClose(handle);
//----
return;
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
int SymbolCounter,PeriodCounter;
//----
for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
{
for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
{
//Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M");
IFT_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter));
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
请帮助我编写导出指标到.csv的代码。
它只允许写一个指标...
如果要在OHLC之后导出多个数据列,应该如何纠正?
//+------------------------------------------------------------------+
//| RSI_to_File.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| [url]http://www.metaquotes.ru/[/url] |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.ru/"
#property show_inputs
string SymbolsArray[13]={"","GBPUSD","EURUSD"};
//+------------------------------------------------------------------+
//| string SymbolByNumber |
//+------------------------------------------------------------------+
string GetSymbolString(int Number)
{
//----
string res="";
res=SymbolsArray[Number];
//----
return(res);
}
//+------------------------------------------------------------------+
//| возвращает период |
//+------------------------------------------------------------------+
int PeriodNumber(int number)
{
int per_min;
switch (number)
{
default: per_min=PERIOD_M1;break;
case 1: per_min=PERIOD_M5;break;
case 2: per_min=PERIOD_M12;break;
}
return(per_min);
}
//+------------------------------------------------------------------+
//| выводит в файл котировки + значения индикатора |
//+------------------------------------------------------------------+
void IFT_output(string SymbolName,int PeriodMinutes)
{
int size=iBars(SymbolName,PeriodMinutes);
//----
if (size==0) return;
int handle=FileOpen(SymbolName+PeriodMinutes+"_IFT.csv",FILE_WRITE|FILE_CSV);
if (handle<0) return;
FileWrite(handle,"Time seconds;Time;Open;Low;High;Close;Volume;IFT");
for (int i=size-1;i>=0;i--)
{
FileWrite(handle,iTime(SymbolName,PeriodMinutes,i),TimeToStr(iTime(SymbolName,PeriodMinutes,i))
,iOpen(SymbolName,PeriodMinutes,i),iLow(SymbolName,PeriodMinutes,i),iHigh(SymbolName,PeriodMinutes,i)
,iClose(SymbolName,PeriodMinutes,i),iVolume(SymbolName,PeriodMinutes,i),iCustom(SymbolName,PeriodMinutes,"IFT",0,i));
}
FileClose(handle);
//----
return;
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
int SymbolCounter,PeriodCounter;
//----
for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
{
for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
{
//Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M");
IFT_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter));
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
在我看来,这应该是正确的。
我已经解决了相反的关闭功能:>
但是当你有空的时候,你能不能帮助检查一下蜡烛的追踪止损,我还是不能解决这个问题:(