MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 467 1...460461462463464465466467468469470471472473474...1953 新しいコメント Konstantin Erin 2018.02.16 18:00 #4661 haron312:こんにちは、私が注文を修正(Breakevenに転送)しようとしたときにテスターで発生するエラーについて助けてください:私はSLの代わりにOrderOpenPrice()関数を置きましたが、テスターはエラー1(ドキュメントによると、関数へのパラメータとして未変更の値を 渡す試みがあることを意味します)を表示します。コードを添付しますありがとうございました。 void DeleteOrderFunction2() //2番目の注文を削除し、ある日の夕方に2番目の注文をBreakevenに設定する関数です。{bool flag = falseです。if (FlagDeleteSecondOrder2 == true){if(DayOfWeek() == DAYOFWEEK && //平日を選択した場合)Hour() == 22 //if 夕方){if(BuyCount() == 1 && if(未決済の買い注文が ある場合)SellStopCount() == 1 //売り注文がある場合){for( int i = 0; i < OrdersTotal(); i++)//注文を作成する{OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)switch(OrderType()の場合){case OP_BUY: if(OrderProfit() > 0 &&)ビッド > オーダーオープン価格()){OrderModifyX(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),0,Arrow_Color)。フラグ =true とする。}が壊れる。case OP_SELLSTOP: if(flag==true){OrderDeleteX(OrderTicket(), Arrow_Color)。}が壊れる。}}}if(SellCount() == 1 && // 未決済の売り注文がある場合)BuyStopCount() == 1 //買い注文が待機中){ Print("IS!!!!")。for( int i = 0; i < OrdersTotal(); i++)//注文を作成する{OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)switch(OrderType()の場合){case OP_SELL: if (OrderProfit() > 0 &&)アスク < 注文開始価格()){OrderModifyX(OrderTicket(), OrderOpenPrice(),OrderTakeProfit(),0, Arrow_Color)を実行。flag = true;Print("flag =", flag);}が壊れる。case OP_BUYSTOP: if(flag == true){Print("flag =", flag);OrderDeleteX(OrderTicket(), Arrow_Color)。}が壊れる。}}}}}} OP_BUYが注文の中で最初に遭遇したと仮定して、それを修正してフラグを=trueに設定すると、それが遭遇したときに保留中の注文が削除されることになります。そして、保留中の注文が最初に遭遇した場合、何が起こるかを見てみましょう.... Rewerpool 2018.02.18 15:38 #4662 インジケータを スクリプトに変換するのを手伝ってください double buf_1[]; double buf_2[]; //+------------------------------------------------------------------+ //| Функция инициализации, запускается один раз | //+------------------------------------------------------------------+ int init() { SetIndexBuffer(0,buf_1); SetIndexBuffer(1,buf_2); SetIndexStyle (0,DRAW_ARROW, STYLE_SOLID, 1); SetIndexStyle (1,DRAW_ARROW, STYLE_SOLID, 1); SetIndexArrow (0,233); SetIndexArrow (1,234); SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0); return(0); } //+------------------------------------------------------------------+ //| Основная Функция, запускается на каждом тике | //+------------------------------------------------------------------+ int start() { if (Bars <= 100) return(0); int ExtCountedBars = IndicatorCounted(); if (ExtCountedBars < 0) return(-1); if (ExtCountedBars > 0) ExtCountedBars--; for (int i=Bars-ExtCountedBars-1; i>=0; i--) { if (High [i+2] == High[i+3]) bool DOWN = High[i+1]== High[i+2]; if (Low [i+2] == Low [i+3]) bool UP = Low[i+1]==Low[i+2] ; if (UP) buf_1[i+1] = Low[i+1]-3*Point; if (DOWN) buf_2[i+1] = High[i+1]+3*Point; } return(0); } // ---- end High [i+2]とLow[i+1] の代わりにiHigh(NULL,PERIOD_H1,[i+2])とiLow(NULL,PERIOD_H1,[i+2]) を記述 すればタイムフレーム制御できるのでは? ハイが一致したら売り、ローが一致したら買い!? Konstantin Erin 2018.02.18 16:13 #4663 Rewerpool: インジケータを スクリプトに変換するのを手伝ってください High [i+2]とLow[i+1] の代わりにiHigh(NULL,PERIOD_H1,[i+2])とiLow(NULL,PERIOD_H1,[i+2]) を記述 すればタイムフレーム制御できるのでは? ハイが一致したら売り、ローが一致したら買い!?三拍子揃うも久しからず Rewerpool 2018.02.18 16:23 #4664 STARIJ:3つのヒットは長い間待つ必要があります。ダフ屋じゃないんだから、待つよ。4桁で正規化すればいい。 Pavel Kolchin 2018.02.18 16:26 #4665 mql5では、オープンポジションがあるので、このポジションのすべての取引を見つけ、それらが成行注文または保留中の注文によって 開かれたかどうかを判断します。 mql4で、未決済注文が成行注文で開かれたか、保留注文で開かれたか、保留注文のトリガーでティッカーが変わったかを調べるにはどうすればよいですか? Konstantin Erin 2018.02.18 16:38 #4666 Rewerpool: ダフ屋じゃないんだから、待つよ。4桁で正規化すればいい。はい、そして結果は弱いです・・・。 5ハイがマッチングして値上げ。 Konstantin Erin 2018.02.18 16:39 #4667 Pavel Kolchin:mql5では、オープンポジションがあるので、このポジションのすべての取引を見つけ、それらが成行注文または保留中の注文によって 開かれたかどうかを判断します。 mql4で、未決済ポジションが成行注文または保留注文によって開かれ、保留注文がトリガーされたときにそのティッカーが変化したかどうかを調べるにはどうすればよいですか?マギカを持たせる Pavel Kolchin 2018.02.18 16:45 #4668 STARIJ:マギカを持たせる注文はユーザーによって開かれますが、開かれたときのタイプを定義する必要があります。 Roman Sharanov 2018.02.18 17:00 #4669 InChartEventの定義ごとにインジケータ・ハンドルを再定義するか、OnInitであらかじめすべての可能なハンドルを配列として定義するか、どちらが「より多くロード」されるかということです。 Artyom Trishkin 2018.02.18 17:01 #4670 Roman Sharanov: InChartEventが定義されるたびにインジケータハンドルを再定義するか、OnInitであらかじめすべての可能なハンドルを配列として定義するか、どちらが「より多くロード」できるでしょうか。 異なる。 1...460461462463464465466467468469470471472473474...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、私が注文を修正(Breakevenに転送)しようとしたときにテスターで発生するエラーについて助けてください:私はSLの代わりにOrderOpenPrice()関数を置きましたが、テスターはエラー1(ドキュメントによると、関数へのパラメータとして未変更の値を 渡す試みがあることを意味します)を表示します。コードを添付しますありがとうございました。
void DeleteOrderFunction2() //2番目の注文を削除し、ある日の夕方に2番目の注文をBreakevenに設定する関数です。
{
bool flag = falseです。
if (FlagDeleteSecondOrder2 == true)
{
if(DayOfWeek() == DAYOFWEEK && //平日を選択した場合)
Hour() == 22 //if 夕方
)
{
if(BuyCount() == 1 && if(未決済の買い注文が ある場合)
SellStopCount() == 1 //売り注文がある場合
)
{
for( int i = 0; i < OrdersTotal(); i++)//注文を作成する
{
OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)
switch(OrderType()の場合)
{
case OP_BUY: if(OrderProfit() > 0 &&)
ビッド > オーダーオープン価格()
)
{
OrderModifyX(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),0,Arrow_Color)。
フラグ =true とする。
}
が壊れる。
case OP_SELLSTOP: if(flag==true)
{
OrderDeleteX(OrderTicket(), Arrow_Color)。
}
が壊れる。
}
}
}
if(SellCount() == 1 && // 未決済の売り注文がある場合)
BuyStopCount() == 1 //買い注文が待機中
)
{ Print("IS!!!!")。
for( int i = 0; i < OrdersTotal(); i++)//注文を作成する
{
OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)
switch(OrderType()の場合)
{
case OP_SELL: if (OrderProfit() > 0 &&)
アスク < 注文開始価格()
)
{
OrderModifyX(OrderTicket(), OrderOpenPrice(),OrderTakeProfit(),0, Arrow_Color)を実行。
flag = true;Print("flag =", flag);
}
が壊れる。
case OP_BUYSTOP: if(flag == true)
{
Print("flag =", flag);
OrderDeleteX(OrderTicket(), Arrow_Color)。
}
が壊れる。
}
}
}
}
}
}
インジケータを スクリプトに変換するのを手伝ってください
High [i+2]とLow[i+1] の代わりにiHigh(NULL,PERIOD_H1,[i+2])とiLow(NULL,PERIOD_H1,[i+2]) を記述 すればタイムフレーム制御できるのでは?
ハイが一致したら売り、ローが一致したら買い!?
インジケータを スクリプトに変換するのを手伝ってください
High [i+2]とLow[i+1] の代わりにiHigh(NULL,PERIOD_H1,[i+2])とiLow(NULL,PERIOD_H1,[i+2]) を記述 すればタイムフレーム制御できるのでは?
ハイが一致したら売り、ローが一致したら買い!?
三拍子揃うも久しからず
3つのヒットは長い間待つ必要があります。
ダフ屋じゃないんだから、待つよ。4桁で正規化すればいい。
mql5では、オープンポジションがあるので、このポジションのすべての取引を見つけ、それらが成行注文または保留中の注文によって 開かれたかどうかを判断します。
mql4で、未決済注文が成行注文で開かれたか、保留注文で開かれたか、保留注文のトリガーでティッカーが変わったかを調べるにはどうすればよいですか?
はい、そして結果は弱いです・・・。
mql5では、オープンポジションがあるので、このポジションのすべての取引を見つけ、それらが成行注文または保留中の注文によって 開かれたかどうかを判断します。
mql4で、未決済ポジションが成行注文または保留注文によって開かれ、保留注文がトリガーされたときにそのティッカーが変化したかどうかを調べるにはどうすればよいですか?
マギカを持たせる
マギカを持たせる
注文はユーザーによって開かれますが、開かれたときのタイプを定義する必要があります。
InChartEventが定義されるたびにインジケータハンドルを再定義するか、OnInitであらかじめすべての可能なハンドルを配列として定義するか、どちらが「より多くロード」できるでしょうか。