[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 623

 

晚上好!对不起,我想我已经在某个地方问过你一个问题了。一个是带止盈的,另一个是带跟踪止损的,应该是可以的。

一旦一个人获得了获利,跟踪止损就开始对另一个人起作用。那么,当两个订单都下达后,它就立即开始工作了!

//***************************************   
 
  nahodka=false;
 
 
 if (OrderSelect(tocket, SELECT_BY_TICKET , MODE_HISTORY)) { 
 if (OrderTakeProfit( )-3*Point<profitsell&&OrderTakeProfit( )+3*Point>profitsell) nahodka=true;}
     // Находим ордер, сработавший именно по тейкпрофиту 
 
 
  
 if(nahodka){if (OrderSelect(tecket,SELECT_BY_TICKET)){
 if(OrderStopLoss( )>Bid+treylingstop*Point ){ Print ("четвёртаямодифи    " );
 OrderModify(  tecket, OrderOpenPrice(), Bid+treylingstop*Point, OrderTakeProfit(), 0, CLR_NONE);}}}
  // Модифицируем оставшийся ордер

如果 票据的订单 还没有出现在历史记录中,OrderSelect 如何选择,选择什么?

 
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
               
               //SELL
               
               //EMA – период 10 пересекает с верху в низ EMA – период 200 , CCI пересекает уровень
 0,100 или-100 с вверху в низ; Свеча закрывается или находится ниже LMA – период 100
 
 bool CCInapravlenie=false;
 if(( CCI_50S>100&&CCI_50<100) ||(CCI_50S>0&&CCI_50<0)||( CCI_50S>-100&&CCI_50<-100 ) )CCInapravlenie=true;
 if(EMA_10S>EMA_20S&&EMA_10<EMA_20&&CCInapravlenie&&LMA_100<Ask&&!sellistavili){
 
 RefreshRates();   
           tocket=OrderSend (Symbol( ), OP_SELL,   lot , NormalizeDouble (Bid, Digits), 5 ,
 NormalizeDouble( Bid+ (stoploss*Point),Digits),   NormalizeDouble( Bid-( teykprofit*Point),Digits),   NULL, 450, 0, CLR_NONE);
           Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates();  
           tecket=OrderSend (Symbol( ), OP_SELL,  lot ,NormalizeDouble(Bid, Digits), 5,
 NormalizeDouble( Bid+ (stoploss*Point),Digits),   0, NULL, 450, 0, CLR_NONE); 
           if (Error==0){ profitsell = NormalizeDouble( Bid-( teykprofit*Point),Digits); tsenasell=Bid;  
           sellistavili= true; perenossell= false;  }}}
           
           if (Error!=0){  errorcomment = "Ошибка открытия  ордера OP_SELL"  + " " + Symbol() +  " " + ErrorDescript(Error); 
           Print (errorcomment);}
 
 
 if(tsenasell-30*Point>Bid&&!perenossell){Print ("третямодифи    " );
 OrderSelect( tocket, SELECT_BY_TICKET ); 
定位
 
Dimka-novitsek:

晚上好!对不起,我想我已经在某个地方问过你一个问题了。一个是带止盈的,另一个是带跟踪止损的,应该是可以的。

一旦一个人获得了获利,跟踪止损就开始对另一个人起作用。那么,当两个订单都下达后,它就立即开始工作了!

如果 票据的订单 还没有出现在历史上,OrderSelect 如何选择,选择什么?

在循环中,通过历史记录OrderSelect(index, SELECT_BY_POS , MODE_HISTORY),将 tocket的 与被选中的订单的票据进行比较。

OrderSelect(tocket, SELECT_BY_TICKET , MODE_HISTORY)将返回true,如果带有该票据的订单甚至存在于终端中。

Pool - 选择的数据源。当选择参数等于SELECT_BY_POS时,它被使用。它可以是以下数值之一。

MODE_TRADES (默认) - 在未结订单挂单 中选择订单。

MODE_HISTORY - 该订单在已关闭和已删除的订单中被选中。

为了以防万一,把NormalizeDouble(Bid+treylingstop*Point,Digits)放进去。

 
谢谢你!!!。我要去搞一搞我的代码!
 
哪一个专家顾问是最好的,可以用来可视化交易。同样,最好是能够同时使用不同的TFs。谢谢你!
 

结束了议员的工作!它做它想做的事......但是......。

我脑海中的第一个想法是:测试器如何与交易历史 一起工作?例如,如果有一个条件 "如果最后2个柱子是亏损的--不要买入".不仅如此,我的专家顾问忽略了这个条件(也许是个错误--我会再想想)。但是,当泰斯特打开他自己的交易(在终端历史中已经没有了),会发生什么? 他将适用于哪些股票,在什么历史中?测试员似乎没有给交易分配股票!测试员是否形成自己的交易历史?

 
lottamer:

结束了议员的工作!它做它想做的事......但是......。

我脑海中的第一个想法是:测试器如何与交易历史一起工作?例如,如果有一个条件 "如果最后2个柱子是亏损的--不要买入".不仅如此,我的专家顾问忽略了这个条件(也许是个错误--我会再想想)。但是,当泰斯特打开他自己的交易(在终端历史中已经没有了),会发生什么? 他将适用于哪些股票,在什么历史中?测试员似乎没有给交易分配股票!测试员是否形成自己的交易历史?


一切都分配好了--看看 "结果 "选项卡。但测试器并不能创造奇迹--你需要知道如何使用它
 
YOUNGA:

一切都分配好了--看看 "结果 "选项卡。但测试器并没有创造奇迹--你必须知道如何使用它。

没有像现实生活中那样的多位数代码。有一个交易的序列号。你是说真的吗?
 
lottamer:

没有像真实交易中那样的多价位股票。有一个连续的交易号码。你是说真的吗?


如果测试器中的订单数量与服务器所占的数量一样多,那么数据也会是多位数的。

测试员,就像服务器一样,为每个新订单分配一个独特的股票号码,但服务器从经纪公司成立以来就一直在做这个工作,为所有客户和所有工具。

 
int Count=0;
//+------------------------------------------------------------------+
//|专家初始化函数|
//+------------------------------------------------------------------+
int init()
{
Alert ("The init() function failed on startup");
return;
}
//+------------------------------------------------------------------+
//| expert start function|
//+------------------------------------------------------------------+
int start()
{
double Price = Bid;
Count++;
Alert("New Tick " ,Count," Price = " ,Price);
return;
}
//+------------------------------------------------------------------+
int deinit()
{
Alert ("Deinit() triggered on unloading");
return;

}

据我所知,在这个脚本中,每一个新的出价都应该出现一个信息......,但它没有.....,这是什么问题? ...该怎么做呢?

原因: