[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 422

 
你能告诉我--for里面的for(s)是否有效?
 
elmucon:
你能告诉我--for里面的for(s)是否有效?
它是有效的。所有其他运营商甚至都在工作。
 
Zhunko:
它是有效的。甚至所有其他运营商都在工作。

谢谢你!
 
问候,请提供一个专家顾问的代码片段,该顾问使用指标信号进入,创建箭头而不是线(即指标样式定义为SetIndexStyle(0, DRAW_ARROW, EMPTY, 3))。我希望向下的箭头是卖出,而向上的箭头 是买入。由于某种原因,我使用标准方法失败了(
 

你能告诉我如何改变rsi周期吗(默认是14)?

谢谢你


//+------------------------------------------------------------------+
//|                                                  RSI_to_File.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.ru/"

#property show_inputs
string SymbolsArray[11]={"","USDCHF","GBPUSD","EURUSD","USDJPY","CHFJPY","EURGBP","EURCHF","EURJPY","GBPJPY","GBPCHF"};

//+------------------------------------------------------------------+
//| string SymbolByNumber                                   |
//+------------------------------------------------------------------+
string GetSymbolString(int Number)
  {
//----
   string res="";
   res=SymbolsArray[Number];   
//----
   return(res);
  }

//+------------------------------------------------------------------+
//| возвращает период                                                |
//+------------------------------------------------------------------+
int PeriodNumber(int number)
   {
   int per_min;
   switch (number)
      {
     
      case 5: per_min=PERIOD_H4;break;
      default: per_min=PERIOD_D1;break;
      }
   return(per_min);   
   }

//+------------------------------------------------------------------+
//|   выводит в файл котировки + значения индикатора                 |
//+------------------------------------------------------------------+
void RSI_output(string SymbolName,int PeriodMinutes)
   {
   int size=iBars(SymbolName,PeriodMinutes);
//----
   if (size==0) return;
   int handle=FileOpen(SymbolName+PeriodMinutes+"_RSI.csv",FILE_WRITE|FILE_CSV);
   if (handle<0) return;
   FileWrite(handle,"Time;RSI");
   for (int i=size-1;i>=0;i--)
      {
      FileWrite(handle,TimeToStr(iTime(SymbolName,PeriodMinutes,i))
         ,iCustom(SymbolName,PeriodMinutes,"RSI",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");
         RSI_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter));
         }
      }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

[Deleted]  

伙计们,你们能给我指出注册的方向,以便我能够在线使用OPLI并获得我的用户名和密码吗?

 
看,我通过函数得到了时间
ObjectGet("qwerty",OBJPROP_TIME2);
我得到1323452400。根据我的理解,时间是以秒为单位的,所以如果我从这个时间中减去600,新的位置将在5分钟图上往后10个柱子,但实际上新的坐标只移动了1个柱子,为什么会出现这种情况?而要使转变为10条,你必须减去大约3000条,这里的逻辑在哪里?
 

你能告诉我为什么我不能打印变量,甚至连0都没有弹出来。

尊敬的voix_kas的地段控制器。由我略加修改。

double GetLot(int FastPeriodMA,int SlowPeriodMA) {
int i;
static double Lot = 0;
static double PrevBalance = 0;
static double BalanceOld[0];
static double BalanceNew[0];
if (NormalizeDouble(PrevBalance - AccountBalance(), 2) != 0) {
ArrayResize(BalanceNew, ArraySize(BalanceOld) + 1);
for (i = 0; i <= ArraySize(BalanceOld) - 1; i++)
BalanceNew[i] = BalanceOld[i];
BalanceNew[ArraySize(BalanceOld)] = AccountBalance();
ArrayResize(BalanceOld, ArraySize(BalanceOld) + 1);
ArrayCopy(BalanceOld, BalanceNew);
PrevBalance = AccountBalance();

if (ArraySize(BalanceNew) > SlowPeriodMA) {
double FastMA = 0, SlowMA = 0;
for (i = ArraySize(BalanceNew) - FastPeriodMA; i <= ArraySize(BalanceNew) - 1; i++)
FastMA += BalanceNew[i];
FastMA /= FastPeriodMA;
for (i = ArraySize(BalanceNew) - SlowPeriodMA; i <= ArraySize(BalanceNew) - 1; i++)
SlowMA += BalanceNew[i];
SlowMA /= SlowPeriodMA;
if (FastMA > SlowMA){ Lot = 5;Print(" FastMA ",FastMA,"; SlowMA= ",SlowMA); } 
else Lot = 0.01;
}
}
if (Lot < MarketInfo(Symbol(), MODE_MINLOT)) Lot = MarketInfo(Symbol(), MODE_MINLOT);
else if (Lot > MarketInfo(Symbol(), MODE_MAXLOT)) Lot = MarketInfo(Symbol(), MODE_MAXLOT);
return (Lot);
}
 
001:

你能告诉我为什么我不能打印变量,甚至连0都没有弹出来。

尊敬的voix_kas的地段控制器。由我略微重新设计的。


而在每一个刻度上,数组的大小 都会增加?

也许创建一个平衡指标会更容易。而在专家顾问中,人们会对它进行处理。

 
Vinin:


而在每一次嘀嗒声中,数组的大小都会增加?

而且,做一个平衡指标可能更容易。而在专家顾问中,你已经提到了它。


你可以,但在这种情况下,专家顾问的工作速度较慢。而在屏幕上的输出也是无稽之谈,它只在交易结束时才画出来,如何让它作为一个连续的平衡线存在,我不明白,谁能告诉我?