RefreshRates();double SLS =Ask+ Stop*Point;//стоп на продажу
Modify =OrderModify(OrderTicket(),OrderOpenPrice(), SLS,OrderTakeProfit(),0,Red);if( Modify ==false){Print("Ошибка при попытке установить стоп для SEL, код ошибки ="+GetLastError());for(int j=0;; j++)//пытаемся пока ДЦ не умрет){
SLS = SLS+ j*Point;//увеличиваем стоп на 1 пп RefreshRates();
Modify =OrderModify(OrderTicket(),OrderOpenPrice(), SLS,OrderTakeProfit(),0,Red);if( Modify==true)break;elsePrint("Ошибка при попытке установить стоп для SEL, код ошибки ="+GetLastError());}}
open #1 sell 0.01 EURUSD ok modify #1 sell 0.01 EURUSD ok Error trying to set a stop for SEL, error code =0 stop loss#1 open #2 sell 0.01 EURUSD ok modify #2 sell 0.01 EURUSD ok Error trying to set a stop for SEL, error code =0 stop loss #2 open #3 sell 0.01 EURUSD ok modify #3 sell 0.01 EURUSD ok Error trying to set a stop for SEL, error code =0
输入卖出
RefreshRates();if((OrdersTotal()==0)&&(Bid== Enter))//бъем до упора эту цену{if(IsTradeContextBusy()==false){OrderSend(Symbol(),OP_SELL, Lot, Enter, Slippage,0, ldTake, lsComm, MAGIC,0, clOpenSell);if(OrdersTotal()>0){
ModifySL();//ставим стоп
SLBU =OrderOpenPrice()- BU;//цена БУ}elsePrint("Ошибка при попытке установить ордер на SELL, ",OrderOpenPrice()," код ошибки ="+GetLastError());}}
修改卖出
void ModifySL(){if(OrderSelect(0, SELECT_BY_POS)==true)// Если есть открытый ордер{if(OrderType()==OP_BUY){RefreshRates();OrderModify(OrderTicket(),OrderOpenPrice(),Bid- StopL*Point,OrderTakeProfit(),0,Red);if(OrderStopLoss()==0)Print("Ошибка при попытке установить стоп для BUY, ",OrderStopLoss()," код ошибки ="+GetLastError());}elseRefreshRates();OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ StopL*Point,OrderTakeProfit(),0,Red);if(OrderStopLoss()==0)Print("Ошибка при попытке установить стоп для SEL, ",OrderStopLoss()," код ошибки ="+GetLastError());}
}
}
RefreshRates();if((OrdersTotal()==0)&&(Bid== Enter))//бъем до упора эту цену{if(IsTradeContextBusy()==false){OrderSend(Symbol(),OP_SELL, Lot, Enter, Slippage,0, ldTake, lsComm, MAGIC,0, clOpenSell);if(OrdersTotal()>0){
ModifySL();//ставим стоп
SLBU =OrderOpenPrice()- BU;//цена БУ}elsePrint("Ошибка при попытке установить ордер на SELL, ",OrderOpenPrice()," код ошибки ="+GetLastError());}}
停止修改
void ModifySL(){if(OrderSelect(0, SELECT_BY_POS)==true)// Если есть открытый ордер{if(OrderType()==OP_BUY){RefreshRates();bool Modify =OrderModify(OrderTicket(),OrderOpenPrice(),Bid- StopL*Point,OrderTakeProfit(),0,Red);if( Modify ==false)Print("Ошибка при попытке установить стоп для BUY, ",OrderStopLoss()," код ошибки ="+GetLastError());}else{RefreshRates();
Modify =OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ StopL*Point,OrderTakeProfit(),0,Red);if( Modify ==false)Print("Ошибка при попытке установить стоп для SEL, ",OrderStopLoss()," код ошибки ="+GetLastError());}}}
慢慢来,读一读这个主题吧!
我在那里写的是关于选择
即使经纪商给出了重新报价...
错误代码138和一个真实的账户。
如果你指的是这个选项,它指的是OrderModify
YuraZ писал(а) >>
допустим
получен сигнал -
на тике бъем на вход раз 5
не пробили! вышли
на втором тике после сигнала входим и долбим далше!
...那么我还没有长到虱子))))。如何计算他们的第1次打钩,第2次打钩?
Sleep(2000); //出错后要等待2秒。
而等待新的蜱虫的时间有多长?
像这样试试吧。
我现在的任务是在OpenSend之后立即通过OrderModify设置一个止损,并检查这个止损是否存在。
如果没有成功,就不要再追踪了,如果没有,错误在哪里,试着把......把......再把......)
用这个来代替。
这里。
1.为什么要不必要地定义变量类型 - 这是一个应该在编译过程中弹出的错误
2.不使用continue--过渡到一个新的迭代(即一个新的修改尝试),而使用break--从循环中退出(和无限,这不是好事)。
1.为什么要不必要地定义变量的类型 - 这是一个应该在编译时弹出的错误
固定的)
2.不使用continue - 迭代跳到一个新的迭代(即一个新的修改尝试),而使用break - 退出循环
>> 谢谢你!
...而且没完没了,这可不是什么好事...
无限的,因为有必要阻止它......
如果我做了几次尝试,但由于某种原因被拒绝了,而且在这段时间里,价格与头寸相去甚远......那该怎么办呢?
日志中的错误。
open #1 sell 0.01 EURUSD ok
modify #1 sell 0.01 EURUSD ok
Error trying to set a stop for SEL, error code =0
stop loss#1
open #2 sell 0.01 EURUSD ok
modify #2 sell 0.01 EURUSD ok
Error trying to set a stop for SEL, error code =0
stop loss #2
open #3 sell 0.01 EURUSD ok
modify #3 sell 0.01 EURUSD ok
Error trying to set a stop for SEL, error code =0
输入卖出
修改卖出
如果你指的是这个选项,它指的是OrderModify
...那么我还没有长到虱子))))。如何计算他们的第1次打钩,第2次打钩?
Sleep(2000); //这是一个错误发生后的2秒等待。
那么要等多久才会有新的蜱虫呢?
滴水不漏
被称为
开始()
{
}
---
注意,如果你在START功能中呆了很久
你可能会漏掉一个或多个虱子
例如,你已经进入START功能,并在那里呆了10分钟,符合逻辑的是,虱子会出现,但你不会抓住它们。
尽管你可能在晚上相当长的时间内都不会有虱子出现
---
所以长时间坐在START功能区对捕捉蜱虫不利(如果它们对你很重要)。
用最少的周期和延迟来编写经济程序
---
...请记住,如果你在START功能中呆了很长时间
你很可能漏掉一个或多个虱子
例如,你已经进入START功能,并在那里呆了10分钟,符合逻辑的是,虱子会出现,但你不会抓住它们。
尽管你可能在晚上相当长的时间内都不会有虱子出现
---
所以长时间坐在START功能区对捕捉蜱虫不利(如果它们对你很重要)。
用最少的周期和延迟来编写经济程序。
---
如果你在修改或设置订单之前使用RefreshRates()函数,它只是在Start()之外更新状态,即ticks?
我的理解是否正确?
这是最终版本的开幕式和修改后的姿势,供大家点评。
这个选项的 "+"和"-"?
开盘销售
停止修改