エラーコード
ストップではなく、バイ/セルです
こんにちは
ありがとうございます、しかし、それはストップではなく、取引 - 買い/売りです、私は2*MarketInfo(シンボル()、MODE_STOPLEVEL)を試してみます。
こんにちは
エラーメッセージ invalid stops err 130 i.e. が表示されます。
自分の値をプリントアウトすると、以下のようになります。
2006.06.29 13:15:05 AUDUSD,H1: OrderDetails:SellPrice :0.731 ,CurrentBid : 0.731 ,stoploss : 0.7319 ,takeprofit : 0.7291 ,スリッページ : 2
私は以下のようにして、注文を出す前にslとtpを確認しています。
if (StopLoss<=MarketInfo(Symbol(),MODE_STOPLEVEL)) StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)+3;
if (TakeProfit<=MarketInfo(Symbol(),MODE_STOPLEVEL)) TakeProfit=2*(MarketInfo(Symbol(),MODE_STOPLEVEL)+3);
時々、以下のように売りが通ることがあります。
2006.06.29 08:32:56 AUDUSD,H1: open #5976740 sell 0.01 AUDUSD at 0.7309 sl: 0.7324 tp: 0.7278 ok
多分、私のストップチェックが正しく機能していないだけだと思います。
何か提案はありますか?たぶん、あなたは買いでも売りでも "+ 3 "を使っているのでしょう。売りでは、有効な価格にするために "-3 "を置く必要があります。
めんどくさくない
私は、インターバンクFXが市場がタイトなときにスキャルピングを防ごうとしているのではと思い始めています。 市場がタイトでないときは動作します。それでも、一旦、自分のslとtpがMarketInfo(Symbol(),MODE_STOPLEVEL)よりも大きければ、取引を開始するはずなので、混乱するのです。
とにかく、私が使っているコードは以下の通りです。
StopLoss = NormalizeDouble((TradeAbovePct/100)*(DemaH-DemaL)*(1/Point),0);
if (StopLoss<=MarketInfo(Symbol(),MODE_STOPLEVEL)) StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)+3;
TakeProfit = NormalizeDouble(2*((DemaH-DemaL)*(1/Point)),0);
if (TakeProfit<=MarketInfo(Symbol(),MODE_STOPLEVEL)) TakeProfit=2*(MarketInfo(Symbol(),MODE_STOPLEVEL)+3);
//Then I call a buy and sell as needed
//e.i
OpenBuy1(10);
OpenSell1(10);
////////////////////////////////////////////////
bool OpenBuy1(int pips1)
{
int ticket;
string comment="";
//reset defaults
use_MTBE = use_MTBEd;
use_split = use_splitd;
RefreshRates();
price1 = Ask;
stoploss1 = NormalizeDouble(price1-StopLoss*Point,Digits);
tp1 = NormalizeDouble(price1+TakeProfit*Point,Digits);
//expire1 = iTime(Symbol(),TimeFrame,0)+TimeFrame*HoursStopOpen*60;
Print("Openbuy lots: ", Lots);
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_BUY,Lots,price1,2,stoploss1,tp1,comment,MAGICMA,0,Orange);
else
ticket=OrderSend(Symbol(),OP_BUY,Lots,price1,2,0,tp1,comment,MAGICMA,0,Orange);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("BUY order opened : ",OrderOpenPrice());
//time1 = CurTime()+2*60*Period();
return(true);
}
}
else
{
Print("Error opening BUY order : ",GetLastError());
Print("OrderDetails: BuyPrice : ",price1," ,CurrentAsk : ", Ask," ,stoploss : ",stoploss1," ,takeprofit : ",tp1," ,slippage : ",2);
return(false);
}
}
bool OpenSell1(int pips1)
{
int ticket;
string comment="";
//reset defaults
use_MTBE = use_MTBEd;
use_split = use_splitd;
RefreshRates();
price1 = Bid;
stoploss1 = NormalizeDouble(price1+StopLoss*Point,Digits) ;
tp1 = NormalizeDouble(price1-TakeProfit*Point,Digits);
// expire1 = iTime(Symbol(),TimeFrame,0)+TimeFrame*HoursStopOpen*60;
Print("Opensell lots: ", Lots);
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_SELL,Lots,price1,2,stoploss1,tp1,comment,MAGICMA,0,Red);
else
ticket=OrderSend(Symbol(),OP_SELL,Lots,price1,2,0,tp1,comment,MAGICMA,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("SELL order opened : ",OrderOpenPrice());
// time1 = CurTime()+2*60*Period();
return(true);
}
}
else
{
Print("Error opening SELL order : ",GetLastError());
Print("OrderDetails: SellPrice : ",price1," ,CurrentBid : ", Bid," ,stoploss : ",stoploss1," ,takeprofit : ",tp1," ,slippage : ",2);
return(false);
}
}
ヘルプ - エラー 138 注文を開く
こんにちは。
さて、あなたが見ることができるように、私はこのフォーラムで初心者だ。私はアルゼンチンからイグナシオ、です。私は簡単なEAを開発しようとしています。
ストラテジーは "ready "だと思います。しかし、バックテストを実行すると、注文が開いていないのです。デバッグ情報を印刷したところ、条件はOKでした。OrderSend関数が 投げるエラーは138です。
コードは以下の通りです。
RefreshRates();
OrderSend( Symbol(), OP_BUY, Lots, Slippage, Ask, 0.0, 0.0, c , magic_number, 0, Blue);
何が問題なのか、どなたか説明していただけませんか?
皆さん、ありがとうございます。
ign...
こんにちは。
さて、ご覧の通り、私はこのフォーラムでは初心者です。私はアルゼンチンからのIgnacio、です。簡単なEAを開発しようとしています。
ストラテジーは "ready "だと思います。しかし、バックテストを実行すると、注文が開いていないのです。デバッグ情報を印刷したところ、条件はOKでした。OrderSend関数が投げるエラーは138です。
コードは以下の通りです。
RefreshRates();
OrderSend( Symbol(), OP_BUY, Lots, Slippage, Ask, 0.0, 0.0, c , magic_number, 0, Blue);
何が問題なのか、どなたか説明していただけませんか?
ありがとうございました。
イグニッション...138エラー はrequoteがあったことを意味します。スリッページの値を3から5の間のような大きなpip値を使ってみましたか?
ご回答ありがとうございました。
Majiさん、ループの中でスリッページの値をいくつかテストしましたが、OrderSendは同じエラーになります。
elihayunさん、私はあなたの条件を追加しましたが、まだ同じエラーです。
何度もテストしましたが、良い結果は得られませんでした。
何か提案はありますか?私は本当にもっと深刻な別のEAを行うために、この1を終了したいです。
ありがとうございました。
ign...
まず、エラーメッセージを表示させるには、次のようにします。
プロパティリンクの後に、次の行を追加します。
#プロパティリンク "http://www.elihayun.com"
#include
次に、エラーを確認 するために、次のようにします。
if (err != 0)
{
Print("Error # ", err, " ", ErrorDescription(err));
}あなたの問題については、私は他の問題を考えることはできません。多分、あなたは別のRefreshRates() を使用しています。
// RefreshRates()
まず、エラーの説明を取得するために、次のようにします。
プロパティリンクの後に、次の行を追加してください。
#プロパティリンク "http://www.elihayun.com"
#インクルード
エラーを確認するには、次のようにします。
if (err != 0)
{
Print("Error # ", err, " ", ErrorDescription(err));
}[/PHP]
For your problem, I cannot think of another problem. Maybe u are using another RefreshRates() Try to comment them out
// RefreshRates()以下は、スクリプトの実行結果です。
2006.07.02 11:07:15 2006.01.04 12:00 eaButler EURUSD,H4: Error Description [#138]: requote
2006.07.02 11:07:15 2006.01.04 12:00 stdlib EURUSD,H4: loaded successfully
そしてこれがそのコードです。
[PHP]
last_ticket = OrderSend( Symbol(), OP_SELL, Lots, Slippage, Bid, 0.0, 0.0, c , magic_number, 0, Red);
if(last_ticket < 0)
{
rv = GetLastError();
Print("エラーの説明 [#"+ rv + "]:" + ErrorDescription(rv));

- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
こんにちは。
invalid stops err 130 というエラーメッセージが表示されます。
私の値をプリントアウトすると、次のようになります。
2006.06.29 13:15:05 AUDUSD,H1: OrderDetails:SellPrice :0.731 ,CurrentBid : 0.731 ,stoploss : 0.7319 ,takeprofit : 0.7291 ,スリッページ : 2
私は以下のようにして、注文を出す前にslとtpを確認しています。
if (StopLoss<=MarketInfo(Symbol(),MODE_STOPLEVEL)) StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)+3;
if (TakeProfit<=MarketInfo(Symbol(),MODE_STOPLEVEL)) TakeProfit=2*(MarketInfo(Symbol(),MODE_STOPLEVEL)+3);
時々、以下のように売りが通ることがあります。
2006.06.29 08:32:56 AUDUSD,H1: open #5976740 sell 0.01 AUDUSD at 0.7309 sl: 0.7324 tp: 0.7278 ok
私のストップチェックが正しく機能して いないだけかもしれません。
何か提案はありますか?