どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 465

[Deleted]  

こんにちは。最近、MQL4の勉強を始めたのですが、次のような誤解に出会いました。

下の例でわかるように、バー内の最も高いローソク足が1.3058に達すると、注文は終了するはずです。条件に従って注文は成立していますが、終値は 1.3058では ありません(1~3pips高いかもしれません)。 では、どうすれば正しく決済できるのでしょうか 私の注文は 1.3058で終了させたい ですか?

if(High[0] >= 1.3058)

OrderClose( OrderTicket(), OrderLots(),  NormalizeDouble(Ask,Digits), 0, Red) ;
 
Mr.Dmitry:

こんにちは。少し前からMQL4の勉強を始めたのですが、次のような誤解に出くわしました。

下の例でわかるように、バー内の最も高いローソク足が1.3058に達すると、注文は終了するはずです。条件に従って注文は成立していますが、終値は1.3058では ありません(1~3pips高いかもしれません)。 では、どうすれば正しく決済できるのでしょうか 1.3058で 引けるか

無理です。MTにはスリッページがあり、常にブローカーに有利に働きます。
 
Mr.Dmitry:

こんにちは。最近、MQL4の勉強を始めたのですが、次のような誤解に出会いました。

下の例でわかるように、バー内の最も高いローソク足が1.3058に達すると、注文は終了するはずです。 条件に従って注文は成立していますが、終値は1.3058では ありません(1~3pips高いかもしれません)。 では、どうすれば正しく決済できるのでしょうか 注文を 1.3058で終わらせたい ですか?

さて、最後のティックで価格が1.3057で、現在のティックで1.3059であることを想像してみてください。

後で「注文が閉まらなかった」と言わないように。チェックが正しくできていない。多いか少ないか」「少ないか少ないか」でやって、それ以外にはない。

[Deleted]  
artmedia70:

最後のティックで1.3057、現在のティックで1.3059になった状況を想像してください。

注文が締め切られていないなんて言ってはいけない。チェックを間違えてしまう。以上」「以下」を確認する必要があります。


それが私の仕事です>=。上記はあくまで例であり(トートロジーで失礼)、問題は注文が閉じられていないことではなく、私の思い通りに閉じられていないことなのです。

ボリルナド
まさか、MTはスリッページ-Slippageを提供しており、これは常にブローカーに有利に働くものです。
では、まったく方法がないのですか?悲しい(((;゚Д゚))))))))
削除済み  
Zhunko:
この線を引くスクリプトを書けばいいのです。このスクリプトをホットキーにバインドする。


ありがとう、やってみるよ。
 
Mr.Dmitry:

これは私がやっていることです>=。上記の例はあくまで例であり(トートロジーで失礼)、問題は注文が閉じないことではなく、私が望むような形で閉じないことなのです。

まったく出口がないってことですか?悲しい((((;゚Д゚)))))))))
ストップロスを設定した場合、ブレークイーブンに到達し、トラリピを開始すると、価格が突然反対方向に変わり、この動きでストップロスによって注文が閉じられ、利益ではなく、損失となります!ストップロスを設定した場合、ブレークイーブンに到達した後、トラリピを開始すると、価格が突然反対方向に変わり、この動きでストップロスによって注文が閉じられ、損失となります。スリッページ+スプレッド拡大=:((
削除済み  

みなさん、こんばんは。

何が間違っているのか、教えてください。

int start()

{

//----

ObjectCreate("trendln1",OBJ_TREND,0)を実行。

ObjectSet("trendln1",OBJPROP_COLOR,Red)を使用します。

//----

return(0)です。

}

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!追伸:その後、トレンドラインを表示するためのホットキーを割り当てることが可能になるように、トレンドラインを呼び出すためのスクリプトを書こうとしたのですが、どうすればいいですか?

 
okvseok:

みなさん、こんばんは。

何が間違っているのか、教えてください。

int start()

{

//----

ObjectCreate("trendln1",OBJ_TREND,0)を実行。

ObjectSet("trendln1",OBJPROP_COLOR,Red)を使用します。

//----

return(0)です。

}

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!追伸:その後、トレンドラインを表示するためのホットキーを割り当てることが可能になるように、トレンドラインを呼び出すためのスクリプトを書こうとしたのです。

オブジェクトを作成する 際には、少なくとも何らかの座標を指定する必要があります。

// Формирование линии
int fLine(string Name            // Префикс имени
         ,string Text            // Префикс описания
         ,int Number             // Номер
         ,int Bar1,double Price1 // Первая точка
         ,int Bar2,double Price2 // Вторая точка
         ,int Bar3,double Price3 // Вспомогательная точка
         ,color Цвет
         ,int Стиль=STYLE_SOLID  // Сплошная
         ,int Видимость=0        // Только на текущем таймфрейме
         ,bool Луч=false
         ,int Толщина=1
         ,bool Фон=true ){
   int Error;
   datetime Time1=Time[Bar1],
            Time2=Time[Bar2];
   if( Number>0 ) Name=Name+Number;
   if( Bar1<Bar2
    || Bar2<LastBar
    || Price1<Zero
    || Price2<Zero ){
      Error=MyError;
      if( РежимОтладки && ПечататьПредупреждения ) Print("*     "+Name+" не создан, параметры: "+DoubleToStr(Price1,Digits)
                                       +" ("+Bar1+"/"+TimeToStr(Time1)+")..."
                                       +DoubleToStr(Price2,Digits)+" ("+Bar2+"/"+TimeToStr(Time2)+")");
      return(Error);
   }
   Error=fObjectDelete(Name);
   if( Error>0 && Error<MyError ){
      return(Error);
   }
   if( ObjectCreate(Name,OBJ_TREND,0,Time1,Price1,Time2,Price2,Time[Bar3],Price3) ){
      if( Text!="" && Number>0 ){
         Text=Text+Number;
         Фон=true;
      }
      if( !ObjectSetText(Name, Text)
       || !ObjectSet(Name, OBJPROP_COLOR, Цвет)
       || !ObjectSet(Name, OBJPROP_STYLE, Стиль)
       || !ObjectSet(Name, OBJPROP_RAY, Луч)
       || !ObjectSet(Name, OBJPROP_TIMEFRAMES, Видимость)
       || !ObjectSet(Name, OBJPROP_WIDTH, Толщина)
       || !ObjectSet(Name, OBJPROP_BACK, Фон) ){
         Error=GetLastError();
         if( !РежимОтладки ) PlaySound("alert.wav");
         Print("***** "+Name+" - ошибка модификации параметров "+Error);
   }  }
   else{
      Error=GetLastError();
      if( !РежимОтладки ) PlaySound("alert.wav");
      Print("***** "+Name+" - объект не создан, ошибка "+Error);
   }
   return(Error);
}
削除済み  
tara:

オブジェクトを作成する際には、少なくとも何らかの座標を指定する必要があります。


と、すでにマウスで座標を指定したい場合。ただ、トレンドライン 自体を呼び出す必要があるのですが、まだうまくいっていないんです。これは可能なのでしょうか?
 
okvseok:

と、すでにマウスで座標を指し示したい場合。トレンドライン自体を呼び出すだけで、まだトリガーをかけていない。可能なのでしょうか?

トレンドラインを引くのは簡単なことではなく、マウスでやるんですね。