SLの幅は十分で、マーケットの右側にあることを確認しました(つまり、買いの場合は下)。 どんな助けでも大いに感謝しますし、大きな安心感を得られます* sigh
if(BUYING)
{
if(stoploss > 0) /SLは35に設定されます。
realSL = Ask - (stoploss * Point);
if(takeprofit > 0)
realTP = Ask + takeprofit * Point;
//買い!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") failed with error #", GetLastError()).Print("OrderSend (",nameEA,") failed with error #", GetLastError());
Alert("CODE_TEST: BUY BUY");
ありがとうございました。
パット
これを試してみてください...BidとAskを混同しているのでは?
if(BUYING)
{
if(stoploss > 0) /SLは35に設定されます。
realSL =Bid-(stoploss * Point);
if(takeprofit > 0)
realTP =Bid+ takeprofit * Point;
//買い!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") failed with error #", GetLastError()).Print("OrderSend (",nameEA,") failed with error #", GetLastError());
Alert("CODE_TEST: BUY BUY BUY");
************************************
経験則から言うと、アスクでエントリーした場合はビッドで、ビッドでエントリーした場合はアスクでエグジットします。
LongStop =Bid-(stoploss*Point)
LongLimit =Bid+(limit*Point) です。
ロングエントリー = ASK
LongTrail =Bid-(stoploss*Point)
ShortStop = Ask+(stoploss*Point)
ショートリミット = アスク-(リミット*ポイント)
ショートエントリー = ビッド
ショートトレイル = アスク+(ストップロス*ポイント)
シーウルフ
これを試してみてください...BidとAskを使うタイミングがごっちゃになっているような気がします
if(BUYING)
{
if(stoploss > 0) /SLは35に設定されています。
realSL =Bid-(stoploss * Point);
if(takeprofit > 0)
realTP =Bid+ takeprofit * Point;
//買い!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red)。
if(ticket < 0)
Print("OrderSend (",nameEA,") failed with error #", GetLastError()).Print("OrderSend (",nameEA,") failed with error #", GetLastError());
Alert("CODE_TEST: BUY BUY");
************************************
経験則ですが、アスクでエントリーした場合はビッドで、ビッドでエントリーした場合はアスクでエグジットします。
LongStop = Bid-(Stoploss*Point)
LongLimit =Bid+(limit*Point)
ロングエントリー=ASK
LongTrail = Bid-(stoploss*Point)
ShortStop = Ask+(stoploss*Point)
ショートリミット = アスク-(リミット*ポイント)
ショートエントリー = ビッド
ショートトレイル = アスク+(ストップロス*ポイント)
シーウルフ
seawolfさん、ご返答ありがとうございます。では、私のオリジナルのコードでは、もし私が買うつもりなら、アスク価格を計算に使うべきではないでしょうか?
このような場合、askをエントリーやエグジットに使用するのは絶対に間違っています。
私の経験則に従えば、すべてうまくいくでしょう。私はこれをホワイトボードに書き、長年トレードとプログラミングに携わってきた今でも、ほぼ毎日のように参考にしています。私は、それを正しく理解していない多くの記事を発見したので、悪く思わないでください。
こんにちは。
アスクの代わりにビッドを使って購入しているため、元のコードは間違っていますが、ストップロスが本当に35ポイントであれば、まだ機能しているはずです。システム上では小数点以下5桁まで変更されていないことを確認し、そうでなければストップロスは350ポイントであるべきです。インターバンクはデモでは小数点以下5桁で動いていましたが、ライブでは4桁で動いていたことがあります。
SLの幅は十分で、マーケットの右側にあることを確認しました(つまり、買いの場合は下)。どんな助けでも、とてもありがたいし、大きな安心感を得ることができます。
if(BUYING)
{
if(stoploss > 0) /SLは35に設定
realSL = Ask - (stoploss * Point);
if(takeprofit > 0)
realTP = Ask + takeprofit * Point;
//BUYING!!!!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") failed with error #", GetLastError());
Alert("CODE_TEST: BUY BUY").を実行。
ありがとうございました。
パット
SeawolfとRuptorが言っていることは、断言できます。
OP_BUY注文の場合、アスク価格を使用してエントリー価格とストップを生成するのは全く正しいことです。
注文を出す前に、Print("realSL =, "DoubleToStr(realSL,Digits)," realTP=",DoubleToStr(realTP,Digits)) を使ってストップの値をチェックし、値が予想通りであることを確認する必要があるのです。もし、期待通りの値であれば、MarketInfo()関数で MODE_STOPLEVEL 識別子を使用して許容値を確認する必要があります。
SeawolfとRuptorが言っていることは、はっきり言って間違いありません。
OP_BUY注文の場合、Ask価格を使用してエントリー価格とストップを生成するのはまったく正しいことです。
注文を出す前に、Print("realSL =, "DoubleToStr(realSL,Digits)," realTP=",DoubleToStr(realTP,Digits)) を使ってストップ値をチェックし、値が予想通りであることを確認する必要があるのです。もし期待通りの値であれば、MarketInfo()関数でMODE_STOPLEVEL識別子を使用して許容値を確認する必要があります。
Cloudbreakerさん、ありがとうございます、アスクを支払うのは正しいと思いました。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
SLの幅は十分で、マーケットの右側にあることを確認しました(つまり、買いの場合は下)。 どんな助けでも大いに感謝しますし、大きな安心感を得られます* sigh
if(BUYING)
{
if(stoploss > 0) /SLは35に設定されています。
realSL = Ask - (stoploss * Point);
if(takeprofit > 0)
realTP = Ask + takeprofit * Point;
//買い!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red).if(ticket<0).if(ticket<0);
if(ticket < 0)
Print("OrderSend (",nameEA,") failed with error #", GetLastError()).Print("OrderSend (",nameEA,") failed with error #", GetLastError());
Alert("CODE_TEST: BUY BUY");
ありがとうございました。
パット