アスク! - ページ 98

 

再びヘルプ

こんにちは、皆さん。

私は永遠に続くかのように思えるほどEAに取り組んでいます。このスレッドにいるすべての人が私に与えてくれたすべての助けに感謝します。

今、また行き詰ってしまい、より多くの助けを求めています。ご存知のように、MAからStochへのクロスオーバータイプのシグナルのほとんどは、多くの場合、移動の終わりに交差するため、あまりうまくいきません。

私がやろうとしているのは、50ラインを超えたらストキャスティクスRSIを使うが、価格が高値または安値を一定量(MinPips)抜いたら次のバーで使うというものです。私の主な問題は、私がクロスを追跡するとき、価格がクロス後の後続のバーでMinPipsに達するだけであれば、クロスは同じ方向にとどまることです。

私がやろうとしていることを示すために、画像を添付しようとしています。

ポイント#1は売りクロスですが、価格がそのバーの安値を通過しないので、取引は行われません(実際には、以前の取引はアクティブなままにしておきたいです)。

ポイント#2は買いクロスだが、価格がそのバーの高値を通過するのはクロス後4本目のバーなので、その時点で売買を行う必要がある。以前の売り注文は、この時点で決済されるべきです。

画像を添付するのは初めてなので、これがうまくいくことを祈っています。私が台無しにした場合、私は事前に謝罪します。

プッツ

ファイル:
 

その他の情報

以下は私のプログラミングで、CurrDirは現在の方向、PrevDirは前の方向で、もしそれが等しくないなら、クロスがあったということです。

問題は、現在のバーでクロスしない場合、CurrDirとPrevDirが等しくなり、ValHighまたはValLowに達するかどうかを確認するためにそのバーを通過しないことです。

どんな助けでも感謝します。

プッツ

if(CurrDir != PrevDir)

{

if(CurrDir == 1)

{

ValHigh = iHigh(Symbol(),Timeframe2,1) + MinPips*Point;

if(Bid >= ValHigh)

{

return(1); //up

}

return (2);

}

if(CurrDir == 2)

{

ValLow = iLow(Symbol(),Timeframe2,1) - MinPips*Point;

if(Ask <= ValLow)

{

return(2);//down

}

return (1);

}

 

解明された...と思う

やっと問題がわかった気がします。今、午前2時半近くですが、疲れているので、明日確認して みます・・・。

プッツン

 

MT4エクスポートファイルのデータ形式を変更する方法はありますか?

ASCII.csvを探していますが、データは以下の形式である必要があります。

1) 別のカラム(必要なのは時間、高値、安値、終値のみ)

2) 過去1000バー分のみ

3) 逆順(最後が上)。

4)デスクトップにあるフォルダに保存する(多分、ブラウズ機能で 選択可能?)

私を助けることができるかもしれない誰に前もって感謝します。

 

インジケーターの追加と削除

EAにインジケーターを 追加または削除するコードを書くことはできますか?

デイブ

 

注文の管理で困っています。

私のEAはX:59にエントリーするのですが、同じクロスに複数のエントリーがあります。そこで質問です。注文の時間帯を確認 し、新しい注文と比較することは可能でしょうか?

X:59にエントリーしたいのですが、クロスの注文は1つだけなのですが・・・。

どなたか教えてください。

 
metastock:
注文の管理で大変困っています......。

X:59にエントリーするシンプルなEAですが、同じクロスで複数エントリーしています。そこで質問です。注文の時間帯を確認し、新しい注文と比較することは可能でしょうか?

X:59にエントリーしたいのですが、クロスの注文は1つだけなのですが・・・。

誰か助けてくれませんか?

これは私の解決策です、私はこれが誰かの助けになることを願っています....

//+------------------------------------------------------------------+

//| シグナル Begin(Entry)|。

//+------------------------------------------------------------------+

if (Buy1_1 58 &&check_buy==0) Order = SIGNAL_BUY;

if (Sell1_1 > Sell1_2 && Minute()>58 &&check_sell==0)オーダー = SIGNAL_SELL。

if (Minute()==00){check_buy=0;}。

if (Minute()==00){check_sell=0;}となります。

//+------------------------------------------------------------------+

//| シグナル終了

//+------------------------------------------------------------------+

//買い

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)) )){

//if(!IsTrade) {

//フリーマージンチェック

if (アカウントフリーマージン() < (1000 * ロット)) { .

Print("資金がありません。フリーマージン = ", AccountFreeMargin());

return(0);

if (StopLossMode) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;

if (TakeProfitMode) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;

check_buy=1;

Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "買い %W(#" + Magic_Number + ")", Magic_Number, 0, DodgerBlue);

if(チケット > 0) {

if (オーダーセレクト(チケット, SELECT_BY_TICKET, MODE_TRADES)) { {

Print("BUY order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy")。

} else {

Print("買い注文の開始エラー :", GetLastError());

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

// }

}

//売り

if (注文 == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))。{

//if(!IsTrade) {

//フリーマージンチェック

if (アカウントフリーマージン() < (1000 * ロット)) { .

Print("資金がありません。フリーマージン = ", AccountFreeMargin());

return(0);

if (StopLossMode) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;

if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0。

check_sell=1;

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell %W(#" + Magic_Number + ")", Magic_Number, 0, DeepPink).このオーダーを送信します。

if(チケット > 0) {

if (オーダーセレクト(チケット, SELECT_BY_TICKET, MODE_TRADES)) { { {...

Print("SELL order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell")。

} else {

Print("Error opening SELL order :", GetLastError());

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

//}

}

if (!EachTickMode) BarCount = Bars; return(0); //} } if (!EachTickMode) BarCount = Bars;

return(0);

}

//+------------------------------------------------------------------+

 

メタストックへ

check_buyが Trueになる原因がわかりません。

開いている注文を1つに絞るには、エントリー前に、以下のようにします。

if (OrdersTotal()==0)

ビッグビー

 

コーディングの知識問題

STATIC変数を使いたいのはどんな時か - どんな問題を解決するのか?

INIT()セクションに何かを置きたいとき - どのような問題を解決するのか?

ビッグビー

 

以前にも質問されているかもしれませんが、EAで現在時刻+1時間前と後のある価格に線を引く方法はありますか?