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

 
Dersu:

谢谢你的关注,Drknn。

说实话,我没有读过你的线程--我只是看了看这个线程,看到没有人对重复的帖子做出回应,决定回复......我没有时间连续做所有事情--我必须有所选择。
 
外部字符串 Settings = "主要设置"; //
extern int MagicNumber = 227 ; //Individual number //。
外部双数 Lots = 1 ; //最小批量 ///。
外部int Profit = 5000 ; // Take Profit //
extern inttern Loss = 10000 ; //Stop Loss //。
外置 int Delta = 500 ;
extern int int Raznica = 700 ; //Stop Loss;
//--------------------------------------------------------------------------------//
外部字符串 Indicator2 = "Bands" ; //
Extern int int BandsPeriod = 20 ; // /Period //
外部inttern Bands_shift = 0 ; //offset //
外来的双倍偏差 = 2.0 ; // //
//--------------------------------------------------------------------------------//
extern int Slip = 5 ; //Slip ///////////////
int tick,tick2,go; // //
//--------------------------------------------------------------------------------//
int start() //
{ /////////////////////////////////
//---------------------------------------------------------------------------------------------------------------//
// Bands指标 //
//---------------------------------------------------------------------------------------------------------------//
double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//计算顶线指标//。
double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0); //计算中间线指标//。
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0);//计算出底线指标//。
//---------------------------------------------------------------------------------------------------------------//
双层SLB,TPB,SLS,TPS。
double go=(verhB-nizB)。
提醒("verhB",DoubleToStr(verhB,Digits))。
提醒("nizB",DoubleToStr(nizB,Digits))。
slb=NormalizeDouble(Ask - (Loss*Point),Digits) ;
tpb=NormalizeDouble(Ask + (Profit*Point),Digits)。
sls=NormalizeDouble(Bid + (Loss*Point),Digits) ;
tps=NormalizeDouble(Bid - (Profit*Point),Digits)。
如果(OrdersTotal()==0)
{
如果(go<=Delta/10000)
Alert("Delta", DoubleToStr(go,Digits)," is coming!!")。
tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE); //输入by/
if(tick<0) Print("Error # - ",GetLastError())。

tick=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE); //entry is set //
if(tick<0) Print("Error # - ",GetLastError())。



}

return(0);}


帮助我解决!!!!,我已经搞了一个星期了!! 重点是,在布林上下限之间的一定距离,两个吊坠被放在止损买入和止损卖出。我不能设置差异,因为写着布林上下限的价格是一样的....。 请帮助......

 
不要看错了函数的注释
 
zhuki:
你可能没有一个正常化的地段,用正常化的方式。
doublenormalizeDouble( double value, int digits)

你不能把很多东西四舍五入到数字上!!。
 
VOLDEMAR:
不要看评论的功能错误

关注

double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//计算顶线指标//。

double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0); //计算中间线 指标//。

double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0); //计算底线指标 //

调换它们

 
我偏离了主题!如何通过标准方法获得 阿尔帕里的=0.00001(5位数)?
 
ruslanchik:
我偏离了主题!如何通过标准方法得到阿尔帕里的点=0.00001(5位数)?
double point(string symb){
   double p = 0;        
   int d = 0;
        
   p = MarketInfo(symb, MODE_POINT);    
   d = MarketInfo(symb, MODE_DIGITS);
   if (d == 5 || d == 3) p *= 10;
   return(p);
}
 
好的!
 

下午好

谁会去看指标的代码--它根本不听设置。

我不擅长代码

//---- 指标设置
#属性 indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Silver
//---- 指标参数
外来的int FastEMA=12。
外在的inttern SlowEMA=26。
外部的inttern SignalSMA=9。
//----指示器缓冲区
double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
double ind_buffer4[];

//+------------------------------------------------------------------+
//|自定义指标初始化功能
//+------------------------------------------------------------------+
int init()
{
//---- 2个额外的缓冲区被用于计数。
IndicatorBuffers(4)。
//---- 绘图设置
SetIndexStyle(0,DRAW_LINE)。
SetIndexDrawBegin(0,SignalSMA)。
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2)。
//---- 3个指标缓冲区的映射
if(!SetIndexBuffer(0,ind_buffer1) &&
!!SetIndexBuffer(1,ind_buffer2) &&
!!SetIndexBuffer(3,ind_buffer4)&&。
!SetIndexBuffer(2,ind_buffer3))
Print("无法设置指标缓冲区!")。
//---- DataWindow和指标子窗口标签的名称
IndicatorShortName()。
//---- 初始化完成
return(0);
}
//+------------------------------------------------------------------+
//| 振荡器的移动平均线|
//+------------------------------------------------------------------+
int start()
{
int限制。
int counted_bars=IndicatorCounted()。
//----,检查是否有错误
if(counted_bars<0) return(-1);
//----,最后计数的条形图将被重新计算。
如果(counted_bars>0) counted_bars--。
limit=Bars-counted_bars。
//---- macd 计入第一个额外的缓冲区。
for(int i=0; i<limit; i++)
ind_buffer2[i]=iOBV(NULL, 0, PRICE_CLOSE, i)。
//---- 信号线被计入第2个额外的缓冲区中
for(i=0; i<limit; i++) {
ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,10,0,MODE_SMA,i)。
ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i)。
}
//---- 主循环
for(i=0; i<limit; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- 完成
return(0);
}
//+------------------------------------------------------------------+

xtern int FastEMA=12。
外置 int SlowEMA=26;
extern int SignalSMA=9; 这些设置。 盒子里的变化不会导致任何结果。指示线没有变化。

作者扼杀了我的请求

 
你可能有一个草案或不完整的代码。该指标是硬连接的,代码中没有使用任何外部变量。