如何更改EA以使用部分拍品
Results 1 to 4 of 4

Thread: 如何更改EA以使用部分拍品

  1. #1
    是否有可能修改此EA以使用部分手段?我的交易平台允许.1,.2,.3等。您在EA的X点有一个关闭部分的订单,但您必须交易至少2个标准手数才能使用。

    这是我可以修改的东西吗?




    // ----------------------------------------------- -------------------
    //| luktom视觉订单editor.mq4 |
    //| luktom ::£ukasz Tomaszkiewicz |
    //|
    http://luktom.biz/|
    // ----------------------------------------------- -------------------
    #property copyright luktom ::£ukasz Tomaszkiewicz
    #property链接
    http://luktom.biz/
    #include lt; stderror.mqhgt;
    #include lt; stdlib.mqhgt;
    extern bool use_timer = true;
    extern int default_sl_level = 10;
    extern int default_tp_level = 500;
    外部颜色sl_color =红色;
    extern int sl_style = STYLE_DASH;
    外部颜色tp_color =水色;
    extern int tp_style = STYLE_DASH;
    外部颜色be_color =黄色;
    extern int be_style = STYLE_DASH;
    extern int be_offset = 1;
    extern color cl_color = Purple;
    extern int cl_style = STYLE_DASH;
    extern bool use_cp = false;
    外部颜色cp_color =蓝色;
    extern int cp_style = STYLE_DASH;
    extern int cp_level = 0;
    extern int cp_closedlevel = 0;
    extern double cp_lots = 0;
    外部颜色ol_sell_color =橙色;
    extern int ol_sell_style = STYLE_DASH;
    外部颜色ol_buy_color =蓝色;
    extern int ol_buy_style = STYLE_DASH;
    extern bool use_be = false;
    extern int default_be_level = 10;
    extern bool use_cl = false;
    extern int default_cl_level = 0;
    extern bool delete_on_deinit = true;
    void init(){

    if(use_timer){
    计时器();
    }

    }

    void timer(){
    while(true){
    睡眠(1000);

    if(IsStopped()){
    返回;
    }

    开始();
    }

    }
    void deinit(){

    if(delete_on_deinit){
    for(int i = 0; ilt; ObjectsTotal(); i ){
    字符串名称= ObjectName(i);

    if(String Substr(name,0,4)== love){
    ObjectDelete(名);
    }
    }
    }

    }
    void start(){
    for(int i = 0; ilt; OrdersTotal(); i ){
    if(OrderSelect(i,SELECT_BY_POS)){
    if(OrderSymbol()== Symbol()){
    int dgts = MarketInfo(OrderSymbol(),MODE_DIGITS);

    if(ObjectFind(lvoe_ol_ OrderTicket())== - 1){

    if(OrderType()== OP_SELLLIMIT || OrderType()== OP_SELLSTOP){
    ObjectCreate(lvoe_ol_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice());
    ObjectSet(lvoe_ol_ OrderTicket(),OBJPROP_COLOR,ol_sell_color);
    ObjectSet(lvoe_ol_ OrderTicket(),OBJPROP_STYLE,ol_sell_style);
    }

    if(OrderType()== OP_BUYLIMIT || OrderType()== OP_BUYSTOP){
    ObjectCreate(lvoe_ol_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice());
    ObjectSet(lvoe_ol_ OrderTicket(),OBJPROP_COLOR,ol_buy_color);
    ObjectSet(lvoe_ol_ OrderTicket(),OBJPROP_STYLE,ol_buy_style);
    }

    } else {

    if(OrderType()== OP_SELL || OrderType()== OP_BUY){
    ObjectDelete(lvoe_ol_ OrderTicket());
    }

    align(lvoe_ol_ OrderTicket());

    如果(NormalizeDouble(OrderOpenPrice(),dgts)!= NormalizeDouble(ObjectGet(lvoe_ol_ OrderTicket(),OBJPROP_PRICE1),dgts)){
    如果(!OrderModify(OrderTicket(),ObjectGet(lvoe_ol_ OrderTicket(),OBJPROP_PRICE1),OrderStopLoss(),OrderTakeProfit(),OrderExpiration(),CLR_NONE)){
    //警报(ErrorDescription中(GetLastError函数()));
    }
    继续;
    }

    }

    if(OrderStopLoss()gt; 0 || default_sl_levelgt; 0){
    if(ObjectFind(lvoe_sl_ OrderTicket())== - 1){

    if(OrderStopLoss()== 0){
    ObjectCreate(lvoe_sl_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() - orderDir(OrderType())* default_sl_level * Point);
    } else {
    ObjectCreate(lvoe_sl_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderStopLoss());
    }
    ObjectSet(lvoe_sl_ OrderTicket(),OBJPROP_COLOR,sl_color);
    ObjectSet(lvoe_sl_ OrderTicket(),OBJPROP_STYLE,sl_style);
    ObjectSetText(lvoe_sl_ OrderTicket(),# OrderTicket() stop loss,11);

    } else {
    align(lvoe_sl_ OrderTicket());
    如果(NormalizeDouble(OrderStopLoss(),dgts)!= NormalizeDouble(ObjectGet(lvoe_sl_ OrderTicket(),OBJPROP_PRICE1),dgts)){
    如果(!OrderModify(OrderTicket(),OrderOpenPrice(),ObjectGet(),OrderVoice()
    //警报(ErrorDescription中(GetLastError函数()));
    }
    继续;
    }

    }
    } else {
    if(ObjectFind(lvoe_sl_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_sl_ OrderTicket());
    }
    }

    if(OrderTakeProfit()gt; 0 || default_tp_level){
    if(ObjectFind(lvoe_tp_ OrderTicket())== - 1){

    if(OrderTakeProfit()== 0){
    ObjectCreate(lvoe_tp_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() orderDir(OrderType())* default_tp_level * Point);
    } else {
    ObjectCreate(lvoe_tp_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderTakeProfit());
    }
    ObjectSet(lvoe_tp_ OrderTicket(),OBJPROP_COLOR,tp_color);
    ObjectSet(lvoe_tp_ OrderTicket(),OBJPROP_STYLE,tp_style);

    } else {
    align(lvoe_tp_ OrderTicket());
    如果(NormalizeDouble(OrderTakeProfit(),4)!= NormalizeDouble(ObjectGet(lvoe_tp_ OrderTicket(),OBJPROP_PRICE1),4)){
    如果(!OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),ObjectGet(lvoe_tp_ OrderTicket(),OBJPROP_PRICE1),OrderExpiration(),CLR_NONE)){
    //警报(ErrorDescription中(GetLastError函数()));
    }
    继续;
    }

    }
    } else {
    if(ObjectFind(lvoe_tp_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_tp_ OrderTicket());
    }
    }

    if(use_cp cp_levelgt; 0){
    if(ObjectFind(lvoe_cp_ OrderTicket())== - 1){
    if(OrderType()== OP_BUY || OrderType()== OP_BUYLIMIT || OrderType()== OP_BUYSTOP){
    if(OrderStopLoss()lt; OrderOpenPrice()){
    ObjectCreate(lvoe_cp_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() cp_level * MarketInfo(OrderSymbol(),MODE_POINT));
    ObjectSet(lvoe_cp_ OrderTicket(),OBJPROP_COLOR,cp_color);
    ObjectSet(lvoe_cp_ OrderTicket(),OBJPROP_STYLE,cp_style);
    }
    } else {
    if(OrderStopLoss()gt; OrderOpenPrice()){
    ObjectCreate(lvoe_cp_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() - cp_level * MarketInfo(OrderSymbol(),MODE_POINT));
    ObjectSet(lvoe_cp_ OrderTicket(),OBJPROP_COLOR,cp_color);
    ObjectSet(lvoe_cp_ OrderTicket(),OBJPROP_STYLE,cp_style);
    }
    }
    } else {
    if(OrderType()== OP_BUY){
    如果(MarketInfo(OrderSymbol(),MODE_BID)> ObjectGet(lvoe_cp_ OrderTicket(),OBJPROP_PRICE1)){
    如果(OrderClose(OrderTicket(),cp_lots,MarketInfo(OrderSymbol(),MODE_BID),0)){
    ObjectSet(lvoe_cp_ OrderTicket(),OBJPROP_PRICE1,MarketInfo(OrderSymbol(),MODE_BID) cp_closedlevel * MarketInfo(OrderSymbol(),MODE_POINT));
    }
    继续;
    }
    }
    if(OrderType()== OP_SELL){
    如果(MarketInfo(OrderSymbol(),MODE_ASK)lt; ObjectGet(lvoe_cp_ OrderTicket(),OBJPROP_PRICE1)){
    如果(OrderClose(OrderTicket(),cp_lots,MarketInfo(OrderSymbol(),MODE_ASK),0)){
    ObjectSet(lvoe_cp_ OrderTicket(),OBJPROP_PRICE1,MarketInfo(OrderSymbol(),MODE_ASK)-cp_closedlevel * MarketInfo(OrderSymbol(),MODE_POINT));
    }
    继续;
    }
    }
    }
    }

    if(use_be){
    if(ObjectFind(lvoe_be_ OrderTicket())== - 1){
    if(OrderType()== OP_BUY || OrderType()== OP_BUYLIMIT || OrderType()== OP_BUYSTOP){
    if(OrderStopLoss()lt; OrderOpenPrice()){
    ObjectCreate(lvoe_be_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() default_be_level * MarketInfo(OrderSymbol(),MODE_POINT));
    ObjectSet(lvoe_be_ OrderTicket(),OBJPROP_COLOR,be_color);
    ObjectSet(lvoe_be_ OrderTicket(),OBJPROP_STYLE,be_style);
    }
    } else {
    if(OrderStopLoss()gt; OrderOpenPrice()){
    ObjectCreate(lvoe_be_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() - default_be_level * MarketInfo(OrderSymbol(),MODE_POINT));
    ObjectSet(lvoe_be_ OrderTicket(),OBJPROP_COLOR,be_color);
    ObjectSet(lvoe_be_ OrderTicket(),OBJPROP_STYLE,be_style);
    }
    }
    } else {
    if(OrderType()== OP_BUY){
    (MarketInfo(OrderSymbol(),MODE_BID)> ObjectGet(lvoe_be_ OrderTicket(),OBJPROP_PRICE1)){
    ObjectSet(lvoe_sl_ OrderTicket(),OBJPROP_PRICE1,OrderOpenPrice() be_offset * MarketInfo(OrderSymbol(),MODE_POINT));
    /*
    如果(!OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),OrderExpiration(),CLR_NONE)){
    //警报(ErrorDescription中(GetLastError函数()));
    }
    *
    继续;
    }
    }
    if(OrderType()== OP_SELL){
    if(MarketInfo(OrderSymbol(),MODE_ASK); ObjectGet(lvoe_be_ OrderTicket(),OBJPROP_PRICE1)){
    ObjectSet(lvoe_sl_ OrderTicket(),OBJPROP_PRICE1,OrderOpenPrice() - be_offset * MarketInfo(OrderSymbol(),MODE_POINT));
    /*
    如果(!OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),OrderExpiration(),CLR_NONE)){
    //警报(ErrorDescription中(GetLastError函数()));
    }
    *
    继续;
    }
    }
    }
    }

    if(use_cl){
    if(ObjectFind(lvoe_cl_ OrderTicket())== - 1){
    if(OrderType()!= OP_BUY OrderType()!= OP_SELL){
    if(OrderType()== OP_BUY || OrderType()== OP_BUYLIMIT || OrderType()== OP_BUYSTOP){
    ObjectCreate(lvoe_cl_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() - default_cl_level * MarketInfo(OrderSymbol(),MODE_POINT));
    ObjectSet(lvoe_cl_ OrderTicket(),OBJPROP_COLOR,cl_color);
    ObjectSet(lvoe_cl_ OrderTicket(),OBJPROP_STYLE,cl_style);
    } else {
    ObjectCreate(lvoe_cl_ OrderTicket(),OBJ_HLINE,0,Time [0],OrderOpenPrice() default_cl_level * MarketInfo(OrderSymbol(),MODE_POINT));
    ObjectSet(lvoe_cl_ OrderTicket(),OBJPROP_COLOR,cl_color);
    ObjectSet(lvoe_cl_ OrderTicket(),OBJPROP_STYLE,cl_style);
    }
    }
    } else {
    if(OrderType()== OP_BUYLIMIT || OrderType()== OP_BUYSTOP){
    如果(MarketInfo(OrderSymbol(),MODE_BID)lt; ObjectGet(lvoe_cl_ OrderTicket(),OBJPROP_PRICE1)){
    OrderDelete(OrderTicket());
    }
    }
    if(OrderType()== OP_SELLLIMIT || OrderType()== OP_SELLSTOP){
    如果(MarketInfo(OrderSymbol(),MODE_ASK)> ObjectGet(lvoe_cl_ OrderTicket(),OBJPROP_PRICE1)){
    OrderDelete(OrderTicket());
    }
    }
    if(OrderType()== OP_BUY || OrderType()== OP_SELL){
    ObjectDelete(lvoe_cl_ OrderTicket());
    }
    }
    }

    }

    }
    }

    for(i = 0; ilt; OrdersHistoryTotal(); i ){
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
    if(ObjectFind(lvoe_ol_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_ol_ OrderTicket());
    }
    if(ObjectFind(lvoe_tp_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_tp_ OrderTicket());
    }
    if(ObjectFind(lvoe_sl_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_sl_ OrderTicket());
    }
    if(ObjectFind(lvoe_be_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_be_ OrderTicket());
    }
    if(ObjectFind(lvoe_cl_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_cl_ OrderTicket());
    }
    if(ObjectFind(lvoe_cp_ OrderTicket())!= - 1){
    ObjectDelete(lvoe_cp_ OrderTicket());
    }
    }
    }
    }
    void align(string name){
    对象集(姓名,OBJPROP_PRICE1,NormalizeDouble(ObjectGet(姓名,OBJPROP_PRICE1),位数));
    }
    int orderDir(int oType){
    如果(oType == OP_BUY || oType == OP_BUYLIMIT || oType == OP_BUYSTOP)return(1);
    if(oType == OP_SELL || oType == OP_SELLLIMIT || oType == OP_SELLSTOP)return(-1);
    }

  2. #2
    请将代码包装在代码标签中。或者只是发布你的mq4文件。任何人阅读不被缩进或缩进的代码都非常繁琐。

  3. #3

  4. #4
    是否有一段特定的代码定义EA是否能够以小数点运行?

發布權限

  • 您不可發布新主題
  • 您不可回复
  • 您不可發布附件
  • 您不可編輯您的帖子
  •  
  • BB代碼是打開的
  • 表情符號是打開的
  • [IMG]代碼是打開的
  • [視頻]代碼是打開的
  • HTML代碼是關閉的
forex-pedia網站使用cookie 文字跟蹤
forex-pedia.com網站使用cookie 文字跟蹤,某些設定已經固定。您可以點擊此處閱讀我們的Cookie使用說明。 請點擊右鍵接受我們的cookies。如果您選擇繼續使用forex-pedia.com網站,我們將認為您接受我們的cookies。