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

 
Vinin >> :

我等于什么?

我只是想说明一下基本情况--i被定义为。

   int counted_bars = IndicatorCounted(), i;
   i = Bars - counted_bars - 1;

   while( i>=0) {


即从最高栏开始,一直到零。

如果我保持指标运行,那么在i值为0的情况下,一切都开始工作(在当前位置画出矩形)。

等),但在历史上却没有任何内容。我想,也许这与阵列的定义有关!我想,这可能与阵列的定义有关。

 
chief2000 писал(а)>>

我只想展示基本情况--i被定义为。

即从最高栏开始,一直到零。

如果我保持指标运行,那么在i值为0的情况下,一切都开始工作(在当前位置画出矩形)。

等),但在历史上却没有任何内容。我想,也许这与阵列的定义有关!我想,这可能与阵列的定义有关。

那么我将不得不展示该指标的完整代码。

 
Vinin >> :

然后,你将不得不展示该指标的完整代码。

这是代码--我已经删除了与问题无关的所有内容。

 
#property indicator_chart_window
#property indicator_buffers 4



int    i;


// ------------------------------------------------------
extern int RSI_Periods = 14;
extern int Percent_K   = 14;

//---- buffers
// double Buffer1[];
double Buffer1[99000];

// double Current_RSI,Lowest_RSI,Highest_RSI,sum_K;
// ------------------------------------------------------




  
int init() {
   return(0);
}




// -------------------------------------------------------------------------------
int start() {

   int counted_bars = IndicatorCounted(), i;
   i = Bars - counted_bars - 1;

   while( i>=0) {

// ============================================================================================
      double Current_RSI, Lowest_RSI, Highest_RSI;


      Current_RSI    = iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, i);
      Highest_RSI    = Current_RSI;
      Lowest_RSI     = Current_RSI;

      for(int x= i+1; x<= Percent_K+ i+1; x++){
         Lowest_RSI  = MathMin( Lowest_RSI, iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, x));
         Highest_RSI = MathMax( Highest_RSI,iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, x));
      }


      Buffer1[ i]     = (( Current_RSI- Lowest_RSI) / ( Highest_RSI- Lowest_RSI)) * 100;
// ============================================================================================



   Comment(
      "\n",
      "\n",
      "\n",
      "\n",
      "\n", "Current_RSI = "  , Current_RSI,
      "\n", "Highest_RSI = "  , Highest_RSI,
      "\n", "Lowest_RSI = "  , Lowest_RSI,
      "\n", "Percent_K = "  , Percent_K,
      "\n", "((Current_RSI-Lowest_RSI) / (Highest_RSI-Lowest_RSI)) * 100 = "  , (( Current_RSI- Lowest_RSI) / ( Highest_RSI- Lowest_RSI)) * 100,
      "\n", "iRSI(NULL,0,RSI_Periods,PRICE_TYPICAL,i) = "  , iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, i),
      "\n", "i = "  , i,
//      "\n", "Percent_K = "  , Percent_K,
//      "\n", "Percent_K = "  , Percent_K,
      "\n",
      "\n",
      "\n", "Buffer1[i+30] = ", Buffer1[ i+30],
      "\n", "Buffer1[i+12] = ", Buffer1[ i+12],
      "\n", "Buffer1[i+1] = ", Buffer1[ i+1],
      "\n", "Buffer1[i] = "  , Buffer1[ i],
      "\n",
      "\n"
   );


      i--;
   }


   return(0);
}
 

从哪里开始写 void ManagePositions() 的知识性条件

有一些数组
for (tf = 0; tf < 5; tf++)
{
......
int TF[tf] - 时间框架{5,15,30,60,240}。
int signal[tf] - "1" - buy
- "2" - 关闭购买
- "-1" - 出售
- "-2" - 关闭卖出
int mn_b[tf] - 所有时间框架的magic_number_buy不同
int mn_s[tf] - 所有时间框架的magic_number_sell不同
}

它应该
开放
在时间框架5.15打开在一个方向上最多三个订单
- 1个MM订单=1元钱
- 2个MM订单=2
- 3个MM订单=3
在时间框架30打开单程最多2个订单
- 1个MM订单=2
- 2个MM=3

在时间框架60,一个订单被打开到一边
- 1个MM订单=3

在时间框架240不打开

根据不同的条件对二阶和三阶进行稀释

总的来说,我们得到的订单不超过9个。

关闭
当一个时间段的关闭卖出信号出现时,这将关闭给定时间段内的所有卖出订单。
当一个时间段的收盘买入信号出现时,它将关闭当前时间段的所有买入订单


请帮助

 

请解释一下,如果已知某张票或订单号是第一个给定的神奇数字,如何识别它。

提前感谢您!

 

I. Kim的分支"来自KimIV的有用功能"

GetTicketLastPos()函数。第19页。
该函数返回最后一次开仓的票据或-1。
函数GetIndexLastPos()。P.17
该函数应返回最后打开的位置的索引或-1。
函数IndexByTicket()。P.12
返回该票据的订单或头寸的索引(在已设定的订单或未结头寸的总清单中的索引号)。如果IndexByTicket()不能找到一个具有所需票据的订单或头寸,它将返回-1。





 
rid >> :

I. Kim的分支"来自KimIV的有用功能"

GetTicketLastPos()函数。第19页。
该函数返回最后一次开仓的票据或-1。
函数GetIndexLastPos()。P.17
该函数应返回最后打开的位置的索引或-1。
函数IndexByTicket()。P.12
返回该票据的订单或头寸的索引(在已设定的订单或未结头寸的总清单中的索引号)。如果IndexByTicket()不能找到一个具有所需票据的订单或头寸,它将返回-1。





谢谢你的帮助!

 
chief2000 >> :

这是代码 - 我删除了与问题无关的所有内容。


我找到了原因。

i = Bars-30 - counted_bars - 1;

而不是 .

i = Bars - counted_bars - 1;


谢谢你!

 

对我上面的代码还有一个基本问题--完全相同的指标单独运行

并在主窗口下面的窗口中画出一条线(另一个则在上面的窗口中添加其他图形对象)。

while()里面的两个for循环明显地使计算机超载。

- 是否可以在顶部创建矩形、箭头等,并在底部创建一条线?

(RSI型曲线)在底部?

原因: