コーディングの方法は? - ページ 343

 
techmac:
ストップロスやテイクプロフィットが隠されているのは危険です。EAが動作しない場合、何もEAを閉じることはできない - そしてEAはブローカー側から止めることができる

techmac様。

EAが動作しない理由をもっと説明してください、もしEAが一般的なライブまたはVPSで適用する前に何十回もチェックとテストされない場合.........(何もあなたのEAを閉じることはできません) あなたは何を意味するのか理解できませんでしたか?......(そして、EAはブローカー側から停止することができます)......ブローカーの許可/同意を得てEAが適用されている場合、ブローカーはそれを停止することができます他のどのような理由。あなたが隠されたパラメータの いくつかの理由のために意味するかどうか?

よろしくお願いします。

 
mladen:
はい。注文のストップロス・フィールドがある値に設定され(そしてそのラインが表示される)、希望する価格でストップロスを実行するのはブローカーの責任である場合(「ソフト」「隠し」ストップロスとは異なり、あなたのEAが注文を閉じなければならない場合)。

親愛なるMLADEN。

ありがとうございます、とても親切にありがとうございます、それが実際にどのように機能するか正確に理解しています。

私たちのEAが、ある時点/レベルで隠れたSL/TPの場合にTP/SLを実行しようとして、ブローカー側の隠れた活動(顧客の取引活動を処理するブローカーのソフトウェアにコード化されており、さらなる処理を許可または拒否する)がそれを止める方法と可能性はあるのでしょうか?

笑)この場合、EAとブローカー、どちらがより信頼でき、効果的で、責任感があるか......最近のブローカーの評判については...ソフトウエアや非人間の感情機器の方が誠実で忠実です。.

よろしく

 
mntiwana:
親愛なるMLADEN。

笑)この場合、EAとブローカーのどちらがより信頼でき、効果的で責任感があるか......ブローカーの評判については、最近では... ソフトウエアと非人間的な感情の機器の方がより誠実で忠実です。.

よろしくお願いします。

そのことは、次のようなことです:

このような場合、「ソフト」ストップロスを「隠して」使っている人は、返金される根拠がない(ストップロス欄を埋めていないので、ブローカーはその注文に対して何かをする義務が全くない)。一方、ストップロス欄を埋めていた人たちは、文句を言う根拠がありました。すべてを取り戻したわけではありませんが、少なくとも何かをすることはできたはずです。

 
mladen:
SNBの場合、「隠れた」「ソフト」ストップロスを使用している人は、返金される根拠が全くありませんでした(ストップロス欄に記入しなかったので、ブローカーはその注文に対して何かをする義務が全くなかったのです)。一方、ストップロス欄が埋まっていた人は、文句を言われる根拠があったわけです。

親愛なるMLADEN。

あなたの専門的な見識に改めて感謝します......つまり、トレーダーの損失は、どんな場合でも、どんな小さな理由でも、利益が疑われる場合には、確認されるのです...物事はこのように進むのです。

一つ質問ですが、相場が光速のように速く下落したり上昇したりするとき、私たちのロスブレーカー(BE、SL、トレーリングストップ)が無視されたり拒否されたり通過したりする可能性はないのでしょうか?

よろしくお願いします。

 
mntiwana:
親愛なるMLADENさん。

あなたの専門的な見識に改めて感謝します......つまり、トレーダーの損失は、どんな場合でも、どんな小さな理由でも、利益が疑われる場合には、確認されるのです......このように、最近では、それが普通になっています。

ボス、相場が光速のように速く下落したり上昇したりするとき、私たちのロスブレーカー(BE、SL、トレーリングストップ)が無視されたり拒否されたり通過したりする可能性はないのでしょうか?

よろしくお願いします

mntiwana

そんなことはないはずですが、是非、ブローカーとの契約書を読んでみてください。そのような物事についての詳細は、契約書に記載されている必要があります

 

2つの値の交差を確認 する最も簡単な方法は何ですか?

 
apprentice coder:
2つの値の交差を確認する最も簡単な方法は何ですか?

比較する値によって異なります。具体的な例を教えてください。

 
mladen:
比較する値によって異なります。具体的な例を教えてください。

例:2つの平均のクロス

 

こんにちは、私は私のEAでいくつかの問題を抱えており、行き詰まりを感じているようです。どなたかこの件について助けていただければ幸いです。私は、1日に1回だけ取引を行うEAを作ろうとしています。基本的にこのEAはブレイクアウトEAで、ローソク足が一定のピップ数でブレイクアウトしたら取引を開始するものです。しかし、1日に1回しか取引を行わないようにすることができません。

現在、私のEAは、私の取引がすでにTPまたはSLになった後、条件が再び満たされた場合、同じローソク足で再び取引を開始します。

どなたかこの件に関して助けていただけると幸いです。ありがとうございます。

以下は私のプログラミングです。

Regards

//---- 入力パラメータ

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Entry_Hour_1st = 21;

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

//| エキスパート初期化関数

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

int init()

{

//----

//----

return(0);

}

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

//| エキスパート初期化関数

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

int deinit()

{

//----

//----

return(0);

}

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

//| エキスパートスタート機能

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

int start()

{

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

//-- トリガートレード

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

int ticket, total;

double TP_Value、SL_Value;

total = OrdersTotal(); // 現在開いているトレードの合計数をチェックする

if(total < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

if ((終値[1] - 始値[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // ロングボディの値

SL_Value = (安値[1] - 0.0010); // 常にロングの場合、同じ値

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "私のEA",200,0,Green)。

return(0);

}

if ((オープン[1] - クローズ[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // ショートボディの値

SL_Value = (Low[1] - 0.0010); // 常にロングと同じ値

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "私のEA",200,0,Green)。

return(0);

}

if ((オープン[1] - クローズ[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // ヘッドとテールを含むローソク足全体の値

SL_Value = (安値[1] - 0.0010); // ロングでは常に同じ値

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,「私のEA」,200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

//-------------------------------------------------------//

//-------- H7ロングキャンドルボディが10pips以上の場合--------//。

//-------------------------------------------------------//

if ((終値[1]-始値[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // ロングボディの値

SL_Value = (高値[1] + 0.0010); // ショートの場合は常に同じです。

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "私の EA",200,0,Red);

return(0);

}

if ((オープン[1] - クローズ[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // ショートボディの値

SL_Value = (高値[1] + 0.0010); // ショートの場合は常に同じ値

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "私の EA",200,0,Red);

return(0);

}

if ((オープン[1] - クローズ[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // ヘッドとテールを含むローソク足全体の値

SL_Value = (高値[1] + 0.0010); // ショートの場合は常に同じ値

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "私の EA",200,0,Red);

return(0);

}

}

}

return(0)。

}

}

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

 
tkuan77:
こんにちは、私は私のEAでいくつかの問題を抱えていると行き詰まりを感じているようです。どなたかこの件について助けていただければ幸いです。私は、1日に1回だけ取引を行うEAを作ろうとしています。基本的にこのEAはブレイクアウトEAで、ローソク足が一定のピップ数でブレイクアウトしたら取引を開始するものです。しかし、1日に1回しか取引を行わないようにすることができません。

現在、私のEAは、私の取引がすでにTPまたはSLになった後、条件が再び満たされた場合、同じローソク足で再び取引を開始します。

どなたかこの件に関して助けていただけると幸いです。ありがとうございます。

以下は私のプログラミングです。

Regards

//---- 入力パラメータ

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Entry_Hour_1st = 21;

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

//| エキスパート初期化関数

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

int init()

{

//----

//----

return(0);

}

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

//| エキスパート初期化関数

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

int deinit()

{

//----

//----

return(0);

}

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

//| エキスパートスタート機能

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

int start()

{

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

//-- トリガートレード

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

int ticket, total;

double TP_Value、SL_Value;

total = OrdersTotal(); // 現在開いているトレードの合計数をチェックする

if(total < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

if ((終値[1] - 始値[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // ロングボディの値

SL_Value = (安値[1] - 0.0010); // 常にロングの場合、同じ値

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "私のEA",200,0,Green)。

return(0);

}

if ((オープン[1] - クローズ[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // ショートボディの値

SL_Value = (Low[1] - 0.0010); // 常にロングと同じ値

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "私のEA",200,0,Green)。

return(0);

}

if ((オープン[1] - クローズ[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // ヘッドとテールを含むローソク足全体の値

SL_Value = (安値[1] - 0.0010); // ロングでは常に同じ値

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value,「私のEA」,200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

//-------------------------------------------------------//

//-------- H7ロングキャンドルボディが10pips以上の場合--------//。

//-------------------------------------------------------//

if ((終値[1]-始値[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // ロングボディの値

SL_Value = (高値[1] + 0.0010); // ショートの場合は常に同じです。

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "私の EA",200,0,Red);

return(0);

}

if ((オープン[1] - クローズ[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // ショートボディの値

SL_Value = (高値[1] + 0.0010); // ショートの場合は常に同じ値

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "私の EA",200,0,Red);

return(0);

}

if ((オープン[1] - クローズ[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // ヘッドとテールを含むローソク足全体の値

SL_Value = (高値[1] + 0.0010); // ショートの場合は常に同じ値

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "私の EA",200,0,Red);

return(0);

}

}

}

return(0)。

}

}

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

tkuan77

最後に閉じたバーを見つけ、最後に閉じたバーの日が現在の日と同じかどうかを確認する必要があります。

あなたはこの関数の ようなものを使用して、最後のクローズドオーダーの時間を取得することができます。

datetime GetLastClosedOrderTime()

{

datetime CloseTime = 0;

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime()>CloseTime)

CloseTime = OrderCloseTime();

}

return(CloseTime);

}

そして、その日付が同じかどうかをチェックすることができます。